El muestreo por secciones es un tipo de algoritmo de Monte Carlo de cadena de Markov para el muestreo de números pseudoaleatorios , es decir, para extraer muestras aleatorias de una distribución estadística. El método se basa en el hecho de que para muestrear una variable aleatoria se puede muestrear uniformemente de la región bajo la gráfica de su función de densidad. [ 1 ] [ 2 ] [ 3 ]
Motivación
Muestreo de una variable aleatoriaa partir de una función de densidad de probabilidad dadaes una tarea común en estadística. La figura (abajo a la izquierda) esboza la gráfica de, donde la altura encorresponde a la probabilidad en ese punto. En el caso de una distribución uniforme, cada valor detendrían la misma probabilidad de ser muestreados, y la función correspondiente sería por alguna constanteEn lugar de la línea negra original, en la segunda figura (abajo a la derecha) se muestra una distribución uniforme representada por la línea azul. Para tomar muestrasde una manera que mantenga la distribución, una técnica de muestreo que tiene en cuenta las diferentes probabilidades para cada rango dedebe utilizarse.
![]()

Método
El muestreo por secciones, en su forma más simple, toma muestras de manera uniforme desde debajo de la curva.sin necesidad de rechazar ningún punto, como sigue:
- Elige un valor inicialpara qué
- Muestra avalor uniformemente entrey.
- Dibuja una línea horizontal a través de la curva en este punto.posición.
- Muestra un puntoa partir de los segmentos de línea dentro de la curva.
- Repita desde el paso 2 usando el nuevovalor.
La motivación aquí es que una forma de muestrear un punto uniformemente dentro de una curva arbitraria es primero dibujar rebanadas horizontales delgadas de altura uniforme a lo largo de toda la curva. Luego, podemos muestrear un punto dentro de la curva seleccionando aleatoriamente una rebanada que caiga en o por debajo de la curva en el punto donde-posición de la iteración anterior, luego eligiendo aleatoriamente una-posición en algún punto a lo largo de la sección. Al usar el-posición de la iteración anterior del algoritmo, a largo plazo seleccionamos rebanadas 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 de la rebanada horizontal, lo que implica invertir la función que describe la distribución de la que se está muestreando. Esto es especialmente problemático para distribuciones multimodales, donde la rebanada puede constar de múltiples partes discontinuas. A menudo es posible utilizar una forma de muestreo por rechazo para superar esto, donde muestreamos de una rebanada más grande que se sabe que incluye la rebanada deseada en cuestión, y luego descartamos los puntos fuera de la rebanada deseada. Este algoritmo se puede utilizar para muestrear del área bajo cualquier curva, independientemente de si la función integra a 1. De hecho, escalar una función por una constante no tiene efecto en el muestreo.-posiciones. Esto significa que el algoritmo se puede utilizar para muestrear de una distribución cuya función de densidad de probabilidad solo se conoce hasta una constante (es decir, cuya constante de normalización es desconocida), lo cual es común en estadística computacional .
Implementación
El muestreo por segmentos recibe su nombre del primer paso: definir un segmento mediante el muestreo de una variable auxiliar.Esta variable se muestrea a partir de, dóndees la función de densidad de probabilidad (PDF) deo es al menos proporcional a su PDF. Esto define una porción dedóndeEn otras palabras, ahora estamos viendo una región dedonde la densidad de probabilidad es al menos. Luego el siguiente valor dese muestrea uniformemente de esta porción. Un nuevo valor dese toma una muestra, luegoy así sucesivamente. Esto se puede visualizar como un muestreo alternativo de la posición y y luego la-posición de los puntos bajo la PDF, por lo tanto elLas s provienen de la distribución deseada.Los valores no tienen consecuencias ni interpretaciones particulares más allá de su utilidad para el procedimiento.
Si se dispone tanto de la función de densidad de probabilidad (PDF) como de su inversa, y la distribución es unimodal, entonces encontrar la sección transversal y muestrear a partir de ella es sencillo. De lo contrario, se puede utilizar un procedimiento de selección para encontrar una región cuyos extremos queden fuera de la sección transversal. Luego, se puede extraer una muestra de la sección transversal mediante muestreo por rechazo . Radford M. 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 variables aleatorias generadas directamente por este enfoque exhibirán dependencia estadística serial. Esto se debe a que para extraer la siguiente muestra, definimos la porción en función del valor depara la muestra actual.
En comparación con otros métodos
El muestreo por secciones es un método de cadena de Markov y, como tal, cumple la misma función que el muestreo de Gibbs y el de Metropolis. A diferencia de Metropolis, no es necesario ajustar manualmente la función candidata ni la desviación estándar candidata .
Recordemos que el algoritmo de Metrópolis es sensible al tamaño del paso. Si el tamaño del paso es demasiado pequeño, el paseo aleatorio provoca una descorrelación lenta . Si el tamaño del paso es demasiado grande, se produce una gran ineficiencia debido a una alta tasa de rechazo.
A diferencia del algoritmo de Metropolis, el muestreo por secciones ajusta automáticamente el tamaño del paso para que coincida con la forma local de la función de densidad. Su implementación es, sin duda, más sencilla y eficiente que la del muestreo de Gibbs o las actualizaciones simples de Metropolis.
Nótese que, a diferencia de muchos métodos disponibles para generar números aleatorios a partir de distribuciones no uniformes, las variables aleatorias generadas directamente por este enfoque exhibirán dependencia estadística serial. En otras palabras, no todos los puntos tienen la misma probabilidad independiente de selección. Esto se debe a que, para extraer la siguiente muestra, definimos la porción en función del valor depara la muestra actual. Sin embargo, las muestras generadas son markovianas y, por lo tanto, se espera que converjan a la distribución correcta a largo plazo.
El muestreo por secciones requiere que la distribución que se va a muestrear sea evaluable. Una forma de flexibilizar este requisito es sustituirla por una distribución evaluable que sea proporcional a la distribución real no evaluable.
Caso univariado

Para muestrear una variable aleatoriacon densidadIntroducimos una variable auxiliar Y e iteramos de la siguiente manera:
- Dado un ejemploelegimos y uniformemente al azar del intervalo;
- dadoelegimosuniformemente al azar del conjunto.
- La muestra dese obtiene ignorando los valores de y .
Nuestra variable auxiliarrepresenta una "rebanada" horizontal de la distribución. El resto de cada iteración se dedica a muestrear unavalor de la sección que es representativa de la densidad de la región que se está considerando.
En la práctica, el muestreo de una sección horizontal de una distribución multimodal es complejo. Existe una tensión entre obtener una región de muestreo amplia, lo que permitiría grandes desplazamientos en el espacio de distribución, y obtener una región de muestreo más sencilla para aumentar la eficiencia. Una opción para simplificar este proceso es la expansión y contracción regional.
- Primero, un parámetro de anchose utiliza para definir el área que contiene el valor x dado . Cada extremo de esta área se comprueba para ver si se encuentra fuera de la sección dada. Si no, la región se extiende en la(s) dirección(es) apropiada(s) medianteHasta el final, ambos extremos quedan fuera de la porción.
- Se selecciona una muestra candidata de forma uniforme dentro de esta región. Si la muestra candidata se encuentra dentro del segmento, se acepta como la nueva muestra. Si se encuentra fuera del segmento, el punto candidato se convierte en el nuevo límite de la región. Se toma una nueva muestra candidata de forma uniforme. El proceso se repite hasta que la muestra candidata se encuentre dentro del segmento. (Véase el diagrama para un ejemplo visual).

→
Muestreo de rebanadas dentro de Gibbs
En un muestreador de Gibbs , es necesario extraer datos de manera eficiente de todas las distribuciones condicionales completas. Cuando el muestreo de una densidad condicional completa no es sencillo, se puede utilizar una sola iteración de muestreo por secciones o el algoritmo de Metropolis-Hastings dentro de Gibbs para muestrear la variable en cuestión. Si la densidad condicional completa es logarítmicamente 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 (ya que la densidad condicional completa no es logarítmicamente cóncava), se suelen emplear los algoritmos de muestreo de Metropolis de rechazo adaptativo . [ 6 ] [ 7 ]
Métodos multivariados
Tratar cada variable de forma independiente
El muestreo de segmentos de una sola variable se puede utilizar en el caso multivariado muestreando cada variable por turno repetidamente, como en el muestreo de Gibbs. Para ello, es necesario que podamos calcular, para cada componenteuna función que es proporcional a.
Para evitar un comportamiento de paseo aleatorio, se pueden utilizar métodos de sobrerrelajación para actualizar cada variable por turno. La sobrerrelajación elige un nuevo valor en el lado opuesto de la moda con respecto al valor actual, a diferencia de la elección de un nuevo valor independiente de la distribución, como se hace en el método de Gibbs.
Muestreo de cortes hiperrectangulares
Este método adapta el algoritmo univariado al caso multivariado sustituyendo la región unidimensional w utilizada en el original por un hiperrectángulo . El hiperrectángulo H se inicializa en una posición aleatoria sobre la sección. A continuación, H se reduce a medida que se descartan puntos que no pertenecen a él.
Muestreo de rebanadas reflectantes
El muestreo por secciones reflectantes es una técnica para suprimir el comportamiento de paseo aleatorio en la que las muestras candidatas sucesivas de la distribución f ( x ) se mantienen dentro de los límites de la sección "reflejando" la dirección del muestreo hacia adentro, hacia la sección, una vez que se ha alcanzado el límite.
En esta representación gráfica del muestreo reflectivo, la forma indica los límites de una sección de muestreo. Los puntos indican los puntos de inicio y fin de un recorrido de muestreo. Cuando las muestras alcanzan los límites de la sección, la dirección del muestreo se refleja de vuelta dentro de la misma.
![]()
Ejemplo
Consideremos un ejemplo de una sola variable. Supongamos que nuestra distribución verdadera es una distribución normal con media 0 y desviación estándar 3,. Entonces: El pico de la distribución se encuentra obviamente en, en ese momento.
- Primero extraemos un valor aleatorio uniforme.de la gama depara definir nuestra(s) porción(es).varía de 0 a ~0,1330, por lo que cualquier valor entre estos dos extremos es suficiente. Supongamos que tomamosEl problema radica en cómo muestrear puntos que tengan valores.
- A continuación, establecemos nuestro parámetro de ancho.que utilizaremos para ampliar nuestra región de consideración. Este valor es arbitrario. Supongamos.
- A continuación, necesitamos un valor inicial paraDibujamos.de la distribución uniforme dentro del dominio delo cual satisface(nuestroparámetro). SupongamosEsto funciona porque. [ 8 ]
- Porquey, nuestra región de interés actual está delimitada por.
- Ahora, cada extremo de esta área se prueba para ver si se encuentra fuera de la porción dada. Nuestro límite derecho se encuentra fuera de nuestra porción (), pero el valor de la izquierda no (). Ampliamos el límite izquierdo añadiendohasta que se extiende más allá del límite de la sección. Después de este proceso, los nuevos límites de nuestra región de interés son:.
- A continuación, tomamos una muestra uniforme dentro de. Supongamos que esta muestra produce. Aunque esta muestra se encuentra dentro de nuestra región de interés, no se encuentra dentro de nuestra sección (), por lo que modificamos el límite izquierdo de nuestra región de interés hasta este punto. Ahora tomamos una muestra uniforme de. Supongamos que esta vez nuestra muestra arroja, que está dentro de nuestra porción, y por lo tanto es la salida de muestra aceptada por el muestreo de porción. Teníamos nuestro nuevoSi no se encuentra dentro de nuestro segmento, continuaremos el proceso de reducción/remuestreo hasta que se encuentre uno válido.dentro de los límites se encuentra.
Si nos interesa el pico de la distribución, podemos seguir repitiendo este proceso ya que el nuevo punto corresponde a un valor más alto.que el punto original.
Otro ejemplo
Para muestrear de la distribución normalPrimero elegimos un inicial—digamos 0. Después de cada muestra deelegimosuniformemente al azar de, que está delimitado por la pdf deDespués de cadamuestra que elegimosuniformemente al azar dedónde. Esta es la porción 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 ( random ()) * random ( alpha ) ) ;Véase también
Referencias
- ↑ Damlen, P., Wakefield, J., & Walker, S. (1999). Muestreo de Gibbs para modelos bayesianos no conjugados y jerárquicos mediante el uso de variables auxiliares. Journal of the Royal Statistical Society, Serie B (Metodología Estadística), 61(2), 331-344. Chicago
- 1 2 Neal, Radford M. (2003). " Slice Sampling" . Annals of Statistics . 31 (3): 705– 767. doi : 10.1214/aos/1056562461 . MR 1994729. Zbl 1051.65007 .
- ↑ Bishop, Christopher (2006). "11.4: Muestreo por secciones". Reconocimiento de patrones y aprendizaje automático . Springer . ISBN 978-0387310732.
- ↑ Gilks, WR; Wild, P. (1992-01-01). "Muestreo de rechazo adaptativo para el muestreo de Gibbs". Journal of the Royal Statistical Society. Serie C (Estadística aplicada) . 41 (2): 337– 348. doi : 10.2307/2347565 . JSTOR 2347565 .
- ↑ Hörmann, Wolfgang (1995-06-01). "Una técnica de rechazo para el muestreo de distribuciones t-cóncavas". ACM Trans. Math. Softw . 21 (2): 182– 193. CiteSeerX 10.1.1.56.6055 . doi : 10.1145/203082.203089 . ISSN 0098-3500 . S2CID 592740 .
- ↑ Gilks, WR; Best, NG ; Tan, KKC (1995-01-01). "Muestreo de Metropolis con rechazo adaptativo dentro del muestreo de Gibbs". Journal of the 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 Metropolis con rechazo adaptativo mediante polinomios de interpolación de Lagrange de grado 2". Computational Statistics & Data Analysis . 52 (7): 3408– 3423. doi : 10.1016/j.csda.2008.01.005 .
- ↑ Tenga en cuenta que si no supiéramos cómo seleccionar x de manera que f ( x ) > y , aún podríamos elegir cualquier valor aleatorio para x , evaluar f ( x ) y usarlo como nuestro valor de y . y solo inicializa el algoritmo; a medida que el algoritmo avanza, encontrará valores de y cada vez mayores .
Enlaces externos
- http://www.probability.ca/jeff/java/slice.html
- Cadena de Markov Monte Carlo
- Números aleatorios no uniformes