24/6/2014
Sistema Vir tual de Educaci ón [Wi ki s]
Método Aceptación y Rechazo V.A.C.
Contenido Método de Aceptación-Rechazo (ARM)
Los métodos de inversión, composición y convolución son métodos de generación directos, en el sentido en que tratan directamente con la función de distribución. El método de aceptación-rechazo es menos directo en su aproximación. Toma Toma de m uestras uestras de Rechazo.-
Supongamos Supongamos que queremos simular un valor de la variable X con densidad f tal que: f se se concentra en el intervalo [a,b]. f(x) <= k, para alguna constant k.
Idea: Lanzamos dardos aleatoriamente en el rectángulo [a,b] x [0,k].
Si el dardo cae dentro de la gráfica de f, tomamos el valor de la abscisa como un valor de la v.a. X.
Algor itmo:
(1) Generar un valor U1 ~ U[a, b]. (2) Generar un valor U2 ~ U[0, k] independiente deU1. (3) Entonces:
24/6/2014
Sistema Virtual de Educación [Wikis]
(3.1) Si U2 ≤ f(U1), entonces X =U1. (3.2) Si U2 > f(U1), entonces volver al paso (1).
Fundamento:
X
∼
U1| {U2≤ f(U1)}
Análisis:
Supongamos que tenemos una variable aleatoria X con función de densidad fX(x), y supongamos que la función es distinta de cero solo en un intervalo finito [3] [4], supongamos [α, β], entonces es fácil construir un rectángulo con base en dicho intervalo y altura igual al máximo de la función de densidad, supongamos δ. Ahora usando dos variables uniformes en [0, 1] e independientes, U1 y U2, podemos obtener puntos al azar en el rectángulo, a partir de sus coordenadas cartesianas (α+(β−αU1), δU2). Los puntos que caen por encima de fX(x) son rechazados, mientras que para los que caen por debajo, sus abscisas α + (β − α)U1, se toman como una realización de X.
Como el área del rectángulo es δ(β −α), y el área debajo de la curva es 1, la probabilidad de aceptación de un punto es 1 /δ(β − α) , y esta es grande, cuando δ es muy pequeño, de igual manera si δ es grande el método es poco eficiente y no se sugiere usar. Este método requiere una función de distribución acumulada (fda) F(x) esté definida en un intervalo finito. Como ejemplos se tienen la función rampa, las distribuciones triangulares, beta y la de Erlang.
Procedimiento:
Este método consiste en los siguientes pasos: 1. Se selecciona una constante M, tal que Mes el valor más grande de f(x) en el intervalo [a, b]. 2. Se genera dos números aleatorios r1y r2, r1, r2∈[0,1].
24/6/2014
Sistema Virtual de Educación [Wikis]
3. Se calcula x* = a+ (b–a)r1. (Esto asegura que cada miembro de [a, b] tiene una probabilidad igual de ser elegido como x*). 4. Se evalúa la función f(x) en el punto x*; sea f(x*). 5. Si r2 ≤f(x*) / M, entonces s e acepta x* como una variable aleatoria continua. De lo contrario, se rechaza x* y se vuelve al paso 2.
Código:
EJEMPLOS
Función de Rampa
Se tiene la siguiente fdp:
El valor más grande de f(x) ocurre x= 1 y es igual a 2. Entonces, M= 2. Se genera dos números aleatorios r1y r2, por ejemplo, r1= 0 y r2= 1.
24/6/2014
Sistema Virtual de Educación [Wikis]
Se evalúa f(x*) = 2x* = 2*0 = 0 Se comprueba r2 ≤f(x*) / M; 1 ≥ 0/2, por lo que se rechaza y se vuelve al paso 2. Se genera dos números aleatorios r1y r2, por ejemplo, r1= 0.5 y r2= 0.2. Se calcula x* = a+ (b–a)r1= 0 + (1 –0)0.5 = 0.5 Se evalúa f(x*) = 2x* = 2*0.5 = 1 Se comprueba r2 ≤f(x*) / M; 0.2 ≤ 1/2, por lo que se acepta x* como una variable aleatoria continua,x*= 0.5.
Distribución Triangular:
Se tiene la siguiente fdp:
El valor más grande de f(x) ocurre x= 6 y es igual a 1/3. Entonces, M= 1/3. Se genera dos números aleatorios r1y r2, por ejemplo, r1= 0 y r2= 1. Se calcula x* = a+ (b–a)r1= 2 + (8 –2)0 = 2 La función f1(x*) cubre 2/3 del intervalo fdp y la función f2(x*) cubre el restante 1/3 del intervalo. Debido a que tenemos dos funciones, si 2 ≤x* ≤6 se usa la función f1(x*); en caso contrario (6 ≤x* ≤8) se utiliza la función f2(x*).
Se evalúa f1(x*) porque x* = 2:
Se comprueba r2 ≤f(x*) / M; 1 ≥ 0/(1/3), por lo que se rechaza y se vuelve al paso 2. Se genera dos números aleatorios r1y r2, por ejemplo, r1= 0.75 y r2= 0.5. Se calcula x* = a+ (b–a)r1= 2 + (8 –2)0.75 = 6.5
24/6/2014
Sistema Virtual de Educación [Wikis]
Se comprueba r2 ≤f(x*) / M; 0.5 ≤ (1/4)/(1/3), por lo que se acepta x* como una variable aleatoria continua, x*= 6.5.
EJERCICIOS PROPUESTOS. Ejemplo 1.- Método de ace ptación-rechazo •Normal tipificada: Z∼N (0; 1) con densidad f.
–f(x) ≈0, para |x| ≥ 10. Luego, podemos tomar a=−10, b= 10. – |f(x)| ≤ f (0) = 1/√2π=k, x∈ R. Algoritmo: (1) Generar un valor U1
∼
U [−10, 10].
(2) Generar un valor U2
∼
U [0, 1/√2π] independiente de U1.
(3) Entonces: (3.1) Si U2 ≤ f(U1), entonces Z = U1. (3.2) Si U2 > f(U1), entonces volver al paso (1).
En esta situación, la probabilidad de aceptar un valor de √U1 será 2π/20≈0,125331. Es deseable encontrar métodos que permitan generar algoritmos más eficientes, es decir, que aumenten la probabilidad de aceptación. Ejemplo 2.-
Consideremos una variable aleatoria X con distribución beta de parámetros 2 y 2, es decir, X es una variable continua con densidad de probabilidad.
a)
Supongamos que disponemos de una sucesión (U1, V1), (U2,V2)…. De pares de variables (mutuamente)
24/6/2014
Sistema Virtual de Educación [Wikis]
rechazo para generar valores de la variable X a partir de los valores de la sucesión de uniformes. b) Los dos primeros valores de la sucesión de variables uniformes han sido (0,479663:0,142918) y (,0398101:0,298392). Cuáles son las salidas del algoritmo para este par? c) Cuál es la probabilidad de ejecutar el algoritmo y no generar un valor aleatorio de X en dos ocasiones antes de generar 4 valores aleatorios de X?
EJERCICIOS PLANTEADOS Ejemplo 3.-
para la siguiente función aplicar el método de aceptación y rechazo : f(x) =
x^3-2x
0<=x<=2
Ejemplo 4.-
para la siguiente función aplicar el método de aceptación y rechazo : 2x^2-4x+2
0<=x<=4
(-x^2+5x)/4
1<=x<=3
f(x) =
Fecha de última modificación : 20/06/2014 14:15 por Daniela Lisbeth Changoluisa Proaño