El muestreo por rebanadas es un tipo de algoritmo de Monte Carlo en cadena de Markov para muestreo de números pseudoaleatorios , es decir, para extraer muestras aleatorias de una distribución estadística. El método se basa en la observación de que para muestrear una variable aleatoria se puede muestrear uniformemente de la región bajo el gráfico de su función de densidad. [1] [2] [3]
Motivación
Suponga que desea muestrear alguna variable aleatoria X con distribución f ( x ). Suponga que la siguiente es la gráfica de f ( x ). La altura de f ( x ) corresponde a la probabilidad en ese punto.
Si tuviera que muestrear X uniformemente , cada valor tendría la misma probabilidad de ser muestreado, y su distribución sería de la forma f ( x ) = y para algún valor de y en lugar de alguna función no uniforme f ( x ). En lugar de la línea negra original, su nueva distribución se parecería más a la línea azul.
Para muestrear X de una manera que retenga la distribución f ( x ), se debe utilizar alguna técnica de muestreo que tenga en cuenta las variadas probabilidades para cada rango de f ( x ).
Método
El muestreo por rebanadas, en su forma más simple, muestra uniformemente desde debajo de la curva f ( x ) sin la necesidad de rechazar ningún punto, de la siguiente manera:
- Elija un valor inicial x 0 para el cual f ( x 0 )> 0.
- Muestra un valor de y uniformemente entre 0 yf ( x 0 ).
- Dibuja una línea horizontal a lo largo de la curva en esta posición y .
- Muestra un punto ( x , y ) de los segmentos de línea dentro de la curva.
- Repita desde el paso 2 usando el nuevo valor de x .
La motivación aquí es que una forma de muestrear un punto uniformemente desde dentro de una curva arbitraria es primero dibujar cortes horizontales delgados de altura uniforme a lo largo de toda la curva. Luego, podemos muestrear un punto dentro de la curva seleccionando aleatoriamente un corte que cae en o debajo de la curva en la posición x de la iteración anterior, luego seleccionando aleatoriamente una posición x en algún lugar a lo largo del corte. Al usar la posición x de la iteración anterior del algoritmo, a largo plazo seleccionamos cortes con probabilidades proporcionales a las longitudes de sus segmentos dentro de la curva. La parte más difícil de este algoritmo es encontrar los límites del corte horizontal, lo que implica invertir la función que describe la distribución de la que se muestrea. Esto es especialmente problemático para las distribuciones multimodales, donde el corte puede constar de múltiples partes discontinuas. A menudo es posible utilizar una forma de muestreo de rechazo para superar esto, donde tomamos muestras de un corte más grande que se sabe que incluye el corte deseado en cuestión, y luego descartamos puntos fuera del corte deseado. Este algoritmo se puede utilizar para muestrear el área bajo cualquier curva, independientemente de si la función se integra a 1. De hecho, escalar una función por una constante no tiene ningún efecto sobre las posiciones x muestreadas. Esto significa que el algoritmo se puede utilizar para muestrear a partir de una distribución cuya función de densidad de probabilidad solo se conoce hasta una constante (es decir, cuya constante de normalización se desconoce), que es común en la estadística computacional .
Implementación
Muestreo Slice recibe su nombre de la primera etapa: la definición de una rebanada por muestreo a partir de una variable auxiliar. Esta variable se extrae de, dónde es la función de densidad de probabilidad (PDF) de X o es al menos proporcional a su PDF. Esto define una porción de X donde. En otras palabras, ahora estamos viendo una región de X donde la densidad de probabilidad es al menos. Luego, el siguiente valor de X se muestrea uniformemente de este segmento. Un nuevo valor dese muestrea, luego X , y así sucesivamente. Esto se puede visualizar como un muestreo alternativo de la posición y y luego la posición x de los puntos en PDF, por lo que las X son de la distribución deseada. La los valores no tienen consecuencias o interpretaciones particulares fuera de su utilidad para el procedimiento.
Si tanto el PDF como su inverso están disponibles y la distribución es unimodal, entonces encontrar el corte y muestrearlo es simple. De lo contrario, se puede utilizar un procedimiento de paso a paso para encontrar una región cuyos extremos se encuentren fuera del segmento. Luego, se puede extraer una muestra del corte mediante muestreo de rechazo . Neal describe en detalle varios procedimientos para esto. [2]
Tenga en cuenta que, a diferencia de muchos métodos disponibles para generar números aleatorios a partir de distribuciones no uniformes, las variantes aleatorias generadas directamente por este enfoque exhibirán una dependencia estadística en serie. Esto se debe a que para dibujar la siguiente muestra, definimos el corte en función del valor de f ( x ) para la muestra actual.
Comparado con otros métodos
El muestreo por rebanadas es un método de cadena de Markov y, como tal, tiene el mismo propósito que el muestreo de Gibbs y Metropolis. A diferencia de Metropolis, no es necesario ajustar manualmente la función candidata o la desviación estándar candidata.
Recuerde que Metropolis es sensible al tamaño del paso. Si el tamaño del paso es demasiado pequeño, la caminata aleatoria provoca una descorrelación lenta. Si el tamaño del paso es demasiado grande, existe una gran ineficacia debido a una alta tasa de rechazo.
A diferencia de Metropolis, el muestreo de cortes ajusta automáticamente el tamaño del paso para que coincida con la forma local de la función de densidad. La implementación es posiblemente más fácil y más eficiente que el muestreo de Gibbs o las actualizaciones simples de Metropolis.
Tenga en cuenta que, a diferencia de muchos métodos disponibles para generar números aleatorios a partir de distribuciones no uniformes, las variantes aleatorias generadas directamente por este enfoque exhibirán una dependencia estadística en serie. En otras palabras, no todos los puntos tienen la misma probabilidad independiente de selección. Esto se debe a que para dibujar la siguiente muestra, definimos el corte en función del valor de f (x) para la muestra actual. Sin embargo, las muestras generadas son markovianas y, por lo tanto, se espera que converjan hacia la distribución correcta a largo plazo.
El muestreo por sectores requiere que la distribución a muestrear sea evaluable. Una forma de relajar este requisito es sustituir una distribución evaluable que sea proporcional a la verdadera distribución no valorable.
Caso univariado
Para muestrear una variable aleatoria X con densidad f ( x ), introducimos una variable auxiliar Y e iteramos de la siguiente manera:
- Dada una muestra x elegimos y uniformemente al azar del intervalo [0, f ( x )];
- dado y elegimos x uniformemente al azar del conjunto.
- La muestra de x se obtiene ignorando los valores de y .
Nuestra variable auxiliar Y representa un "corte" horizontal de la distribución. El resto de cada iteración se dedica a muestrear un valor x del corte que es representativo de la densidad de la región que se está considerando.
En la práctica, el muestreo de un corte horizontal de una distribución multimodal es difícil. Existe una tensión entre obtener una región de muestreo grande y, por lo tanto, hacer posibles grandes movimientos en el espacio de distribución, y obtener una región de muestreo más simple para aumentar la eficiencia. Una opción para simplificar este proceso es la expansión y contracción regional.
- Primero, se usa un parámetro de ancho w para definir el área que contiene el valor 'x dado . Cada punto final de esta área se prueba para ver si se encuentra fuera del segmento dado. De lo contrario, la región se extiende en la dirección o direcciones apropiadas en w hasta que ambos extremos se encuentran fuera del corte.
- Una muestra candidata se selecciona uniformemente dentro de esta región. Si la muestra candidata se encuentra dentro del corte, se acepta como la nueva muestra. Si se encuentra fuera del corte, el punto candidato se convierte en el nuevo límite de la región. Una nueva muestra candidata se toma de manera uniforme. El proceso se repite hasta que la muestra candidata está dentro del corte. (Ver diagrama para un ejemplo visual).
→
Muestreo de rebanadas dentro de Gibbs
En un muestreador de Gibbs , es necesario extraer de manera eficiente todas las distribuciones condicionales completas. Cuando el muestreo a partir de una densidad condicional completa no es fácil, se puede usar una sola iteración del muestreo de cortes o el algoritmo Metropolis-Hastings dentro de Gibbs para tomar muestras de la variable en cuestión. Si la densidad condicional completa es log-cóncava, una alternativa más eficiente es la aplicación de métodos de muestreo de rechazo adaptativo (ARS). [4] [5] Cuando no se pueden aplicar las técnicas ARS (dado que el condicional completo no es logarítmico-cóncavo), a menudo se emplean los algoritmos de muestreo de Metropolis de rechazo adaptativo . [6] [7]
Métodos multivariantes
Tratando cada variable de forma independiente
El muestreo de corte de una sola variable se puede utilizar en el caso multivariado muestreando cada variable a su vez repetidamente, como en el muestreo de Gibbs. Para hacerlo, es necesario que podamos calcular, para cada componente una función que es proporcional a .
Para evitar un comportamiento de caminata aleatorio, se pueden usar métodos de relajación excesiva para actualizar cada variable a su vez. [ cita requerida ] La sobrerelajación elige un nuevo valor en el lado opuesto del modo del valor actual, en lugar de elegir un nuevo valor independiente de la distribución como se hizo en Gibbs.
Muestreo de cortes de hiperrectángulo
Este método adapta el algoritmo univariante al caso multivariante sustituyendo un hiperrectángulo por la región w unidimensional utilizada en el original. El hiperrectángulo H se inicializa en una posición aleatoria sobre el corte. A continuación, H se encoge a medida que se rechazan los puntos.
Muestreo de rebanadas reflectantes
El muestreo de rebanadas reflectantes es una técnica para suprimir el comportamiento de caminar aleatorio en el que las muestras candidatas sucesivas de distribución f ( x ) se mantienen dentro de los límites de la rebanada "reflejando" la dirección de muestreo hacia adentro hacia la rebanada una vez que se ha alcanzado el límite.
En esta representación gráfica de muestreo reflectante, la forma indica los límites de un segmento de muestreo. Los puntos indican los puntos de inicio y finalización de una caminata de muestreo. Cuando las muestras alcanzan los límites del segmento, la dirección del muestreo se "refleja" de nuevo en el segmento.
Ejemplo
Considere un ejemplo de una sola variable. Suponga que nuestra verdadera distribución es una distribución normal con media 0 y desviación estándar 3,. Entonces:. El pico de la distribución está obviamente en, en cuyo punto .
- Primero extraemos un valor aleatorio uniforme y del rango de f ( x ) para definir nuestra (s) porción (s). f ( x ) varía de 0 a ~ 0,1330, por lo que cualquier valor entre estos dos extremos es suficiente. Supongamos que tomamos y = 0.1. El problema es cómo muestrear puntos que tengan valores y > 0.1.
- A continuación, establecemos nuestro parámetro de ancho w que usaremos para expandir nuestra región de consideración. Este valor es arbitrario. Suponga w = 2.
- A continuación, necesitamos un valor inicial para x . Extraemos x de la distribución uniforme dentro del dominio de f ( x ) que satisface f ( x )> 0.1 (nuestro parámetro y ). Suponga que x = 2. Esto funciona porque f (2) = ~ 0.1065> 0.1. [8]
- Como x = 2 y w = 2, nuestra región de interés actual está limitada por (1, 3).
- Ahora, cada punto final de esta área se prueba para ver si se encuentra fuera del segmento dado. Nuestro límite derecho se encuentra fuera de nuestro corte ( f (3) = ~ 0.0807 <0.1), pero el valor izquierdo no ( f (1) = ~ 0.1258> 0.1). Expandimos el límite izquierdo agregando w hasta que se extienda más allá del límite del corte. Después de este proceso, los nuevos límites de nuestra región de interés son (−3, 3).
- A continuación, tomamos una muestra uniforme dentro de (−3, 3). Suponga que esta muestra produce x = −2,9. Aunque esta muestra está dentro de nuestra región de interés, no se encuentra dentro de nuestro segmento (f (2.9) = ~ 0.08334 <0.1), por lo que modificamos el límite izquierdo de nuestra región de interés hasta este punto. Ahora tomamos una muestra uniforme de (-2.9, 3). Supongamos que esta vez nuestra muestra produce x = 1, que está dentro de nuestra porción, y por lo tanto es la salida de muestra aceptada por muestreo de porción. Si nuestra nueva x no hubiera estado dentro de nuestro segmento, continuaríamos con el proceso de reducción / remuestreo hasta encontrar una x válida dentro de los límites.
Si estamos interesados en el pico de la distribución, podemos seguir repitiendo este proceso ya que el nuevo punto corresponde a una f ( x ) más alta que el punto original.
Otro ejemplo
Para muestrear de la distribución normal primero elegimos una x inicial, digamos 0. Después de cada muestra de x elegimos y uniformemente al azar de, que está acotado el pdf de . Después de cada y muestra elegimos x uniformemente al azar de dónde . Esta es la rebanada donde.
Una implementación en el lenguaje Macsyma es:
slice ( x ) : = block ([ y , alpha ] , y: random ( exp ( - x ^ 2 / 2.0 ) / sqrt ( 2.0 * dfloat ( % pi ))) , alpha: sqrt ( -2.0 * ln ( y * sqrt ( 2.0 * dfloat ( % pi )))) , x: signum ( aleatorio ()) * aleatorio ( alfa )) ;
Ver también
Referencias
- ^ Damlen, P., Wakefield, J. y Walker, S. (1999). Muestreo de Gibbs para modelos bayesianos no conjugados y jerárquicos mediante el uso de variables auxiliares. Revista de la Royal Statistical Society, Serie B (Metodología estadística), 61 (2), 331-344, Chicago
- ↑ a b Neal, Radford M. (2003). "Slice Sampling" . Annals of Statistics . 31 (3): 705–767. doi : 10.1214 / aos / 1056562461 . Señor 1994729 . Zbl 1051.65007 .
- ^ Obispo, Christopher (2006). "11.4: Muestreo de cortes". Reconocimiento de patrones y aprendizaje automático . Springer . ISBN 978-0387310732.
- ^ Gilks, WR; Wild, P. (1 de enero de 1992). "Muestreo de rechazo adaptativo para muestreo de Gibbs". Revista de la Royal Statistical Society. Serie C (Estadística aplicada) . 41 (2): 337–348. doi : 10.2307 / 2347565 . JSTOR 2347565 .
- ^ Hörmann, Wolfgang (1 de junio de 1995). "Una técnica de rechazo para el muestreo de distribuciones cóncavas en T". ACM Trans. Matemáticas. Softw . 21 (2): 182-193. CiteSeerX 10.1.1.56.6055 . doi : 10.1145 / 203082.203089 . ISSN 0098-3500 . S2CID 592740 .
- ^ Gilks, WR; Mejor, NG ; Tan, KKC (1 de enero de 1995). "Muestreo de metrópolis de rechazo adaptativo dentro del muestreo de Gibbs". Revista de la Royal Statistical Society. Serie C (Estadística aplicada) . 44 (4): 455–472. doi : 10.2307 / 2986138 . JSTOR 2986138 .
- ^ Meyer, Renate; Cai, Bo; Perron, François (15 de marzo de 2008). "Muestreo de Metrópolis de rechazo adaptativo mediante polinomios de interpolación de Lagrange de grado 2". Estadística computacional y análisis de datos . 52 (7): 3408–3423. doi : 10.1016 / j.csda.2008.01.005 .
- ^ Tenga en cuenta que si no supiéramos cómo seleccionar x tal que f ( x )> y , aún podemos elegir cualquier valor aleatorio para x , evaluar f ( x ) y usarlo como nuestro valor de y . y solo inicializa el algoritmo; a medida que avanza el algoritmo, encontrará valores cada vez más altos de y .
enlaces externos
- http://www.probability.ca/jeff/java/slice.html