Muestreo de aceptación-rechazo

Lo que llamamos muestreo en realidad se refiere al método de generar observaciones (observaciones) a partir de una distribución de probabilidad. Y esta distribución suele estar representada por su función de densidad de probabilidad (PDF). Además, incluso cuando se conoce el PDF, no es una tarea fácil dejar que la computadora genere observaciones automáticamente. Esencialmente, la computadora solo puede realizar el muestreo de la distribución uniforme. Entonces, ¿cómo lograr una buena muestra de datos de muestra para la computadora? Hoy echaremos un vistazo al método de implementación.

Podemos enfrentar estos problemas en cuestiones de muestreo:

  • Las computadoras solo pueden muestrear distribuciones uniformes, pero aún podemos muestrear distribuciones más complejas sobre esta base.
  • Es posible que algunas características numéricas de la distribución aleatoria deban resolverse en forma de integrales, pero algunas integrales pueden no tener (o son difíciles de obtener) soluciones analíticas. ¿Qué debemos hacer entonces?
  • En la inferencia bayesiana, la distribución de la probabilidad posterior es más que el producto de la función anterior y de probabilidad, pero el producto de la función anterior y de probabilidad puede ser relativamente complicado. ¿Cómo debemos tratar esta distribución compleja? ?

Se derivan una serie de soluciones a estos problemas.

1. Muestreo de aceptación-rechazo

En matemáticas, el muestreo por rechazo es la técnica básica utilizada para generar observaciones a partir de una distribución. También conocido como método de aceptación-rechazo o "algoritmo de aceptación-rechazo", es un método de Monte Carlo, que también está relacionado con el algoritmo de Metropolis-Hastings.

1. Comprensión simple

La siguiente figura es la curva de función de densidad de una variable aleatoria ¿Cómo obtengo una muestra de esta variable aleatoria?
Inserte la descripción de la imagen aquí
Use la forma de esta curva para dibujar muestras, envuelva la curva de densidad con un rectángulo y encuadre la curva de densidad en un rectángulo, de la siguiente manera:
Inserte la descripción de la imagen aquí
Luego, eche puntos al azar en este rectángulo. Puntos emitidos aleatoriamente significa que estos puntos están distribuidos uniformemente en el área rectangular. Se emitieron alrededor de 10,000 puntos, como se muestra a continuación:
Inserte la descripción de la imagen aquí
Obviamente, algunos puntos caen en el lado inferior de la curva de densidad y algunos puntos caen en el lado superior de la curva de densidad. Los puntos del lado superior se representan en verde y los puntos del lado inferior se representan en azul, como se muestra en la siguiente figura:
Inserte la descripción de la imagen aquí
Solo se mantienen los puntos del lado inferior de la curva de densidad, es decir, los puntos azules :
Inserte la descripción de la imagen aquí
aquí, una pregunta está aquí, debajo de la curva de densidad En el área del bloque, ¿qué distribución satisfacen estos puntos? ¡Distribuidos equitativamente! Ésta es la parte más crítica del rechazo del muestreo: hacer un rectángulo, introducir puntos en el rectángulo, etc., se hace todo para obtener una distribución uniforme del área encerrada por la curva de densidad. Siempre que podamos obtener una muestra que satisfaga una distribución uniforme bajo la curva de densidad, podemos obtener una muestra de muestreo de variables aleatorias que coincida con la curva de densidad. El método consiste en extraer solo la abscisa de cada punto azul, y la muestra formada por estas abscisas es nuestra muestra objetivo. El lado izquierdo de la siguiente figura es el histograma de una muestra obtenida de acuerdo con el método anterior y la estimación de la densidad del grano, y el lado derecho de la siguiente figura es la curva de densidad inicial.
Inserte la descripción de la imagen aquí
Se puede ver que la estimación de la densidad del grano de la muestra muestreada es básicamente consistente con la curva de densidad objetivo, y es seguro que esta muestra es la muestra objetivo.

Al principio se utilizó un rectángulo, este rectángulo es una distribución recomendada que satisface la distribución uniforme, la distribución recomendada es solo una herramienta auxiliar para obtener muestras distribuidas uniformemente bajo la curva de función de densidad objetivo. Usar la distribución uniforme como la distribución recomendada a veces es muy ineficaz. ¿Por qué dices eso? Se puede ver en el ejemplo anterior que se han eliminado muchos puntos (los puntos verdes) que están distribuidos uniformemente, provocando una especie de desperdicio. Puede elegir algunas otras curvas para enmarcar la curva de densidad, y la eficiencia aumentará un poco, como se muestra en la figura siguiente: La
Inserte la descripción de la imagen aquí
curva numérica es h (x), que corresponde a la línea azul en la figura siguiente. La distribución recomendada la curva de densidad es g (x), y ponemos g (x) se multiplica por un factor constante c, y luego la curva de densidad objetivo está enmarcada por la curva de cg (x).

Suponemos que las variables aleatorias que satisfacen g (x) son fáciles de muestrear, por lo que los pasos para rechazar el muestreo son los siguientes:

  • Recopile datos de muestra de g (x), denótelos como x ⋆ x ^ {\ star}X , lo tomamos como sugerencia
  • ¿Deberíamos aceptar esta sugerencia como una muestra de datos que satisfaga la distribución h (x)? Definimos una probabilidad de aceptación:

En otras palabras, usamos α \ alphaα probabilidad de aceptarx ⋆ x ^ {\ star}X⋆ se utiliza como datos de muestra de la distribución h (x). En la operación real, tomamos unU (0, 1) U (0, 1)U ( 0 ,1 ) número aleatorioμ \ muμ , siμ <α \ mu <\ alphaμ<α , solo aceptax ⋆ x ^ (\ star)X⋆ se usa como un dato de muestra de h (x); de lo contrario, deséchelo y regrese al paso 1 para continuar el ciclo. Finalmente, se puede obtener una muestra.

  • Al comienzo del artículo, se sacaron 10,000 puntos a la vez, pero ¿cómo se convirtieron en uno tras otro? De hecho, se corresponden, y el proceso de eliminar el punto azul es equivalente al proceso de emitir un juicio sobre si se niega.
  • Si hay una muestra distribuida uniformemente bajo la curva de densidad, se puede obtener una muestra de la distribución que coincida con la curva de densidad.
  • Si la forma de la distribución propuesta se acerca más a la distribución objetivo, la eficiencia del muestreo será mayor.

2. Proceso de muestreo de aceptación-rechazo

Inserte la descripción de la imagen aquí

3. Explicación intuitiva del muestreo de aceptación-rechazo

Inserte la descripción de la imagen aquí

4. Prueba de validez de la muestra de aceptación-rechazo (por ser)

Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí

Implementación 5.python

Inserte la descripción de la imagen aquí
2. El código generado es el siguiente:

import random
import math
import matplotlib.pyplot as plt
import seaborn as sns
import numpy as np

%matplotlib inline
sns.set_style('darkgrid')
plt.rcParams['figure.figsize'] = (12, 8)


def AceeptReject(split_val):
    global c
    global power
    while True:
        x = random.uniform(0, 1)
        y = random.uniform(0, 1)
        if y*c <= math.pow(x - split_val, power):
            return x

power = 4
t = 0.4  
sum_ = (math.pow(1-t, power + 1) - math.pow(-t, power + 1)) / (power + 1)  #求积分
x = np.linspace(0, 1, 100)
#常数值c
c = 0.6**4/sum_
cc = [c for xi in x]
plt.plot(x, cc, '--',label='c*f(x)')
#目标概率密度函数的值f(x)
y = [math.pow(xi - t, power)/sum_ for xi in x]
plt.plot(x, y,label='f(x)')
#采样10000个点
samples = []
for  i in range(10000):
    samples.append(AceeptReject(t))
plt.hist(samples, bins=50, normed=True,label='sampling')
plt.legend()
plt.show()

Inserte la descripción de la imagen aquí

5. Resumen

Inserte la descripción de la imagen aquí

Si desea utilizar el método Monte Carlo como un método de suma de simulación de muestreo general, necesita la ayuda de la cadena de Markov.

https://gaolei786.github.io/statistics/reject.html
https://zhuanlan.zhihu.com/p/75264565

Supongo que te gusta

Origin blog.csdn.net/Anne033/article/details/109841951
Recomendado
Clasificación