generación de variables aleatorias discretas método de la ...kisbye/mys/clase7_pr.pdf ·...

Post on 30-Apr-2020

14 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Generación de variables aleatorias discretasMétodo de la Transformada Inversa

Patricia Kisbye

FaMAF

30 de marzo, 2010

Generación de v.a. discretas

Existen diversos métodos para generar v.a. discretas:I Transformada InversaI De aceptación-rechazo, o método de rechazo.I De composición.I Métodos mejorados según la distribución.

Método de la Transformada Inversa

I X : una variable aleatoria discreta con probabilidad de masa

P(X = xj) = pj , j = 0,1, . . . .

I U ∼ U(0,1): simulación de una v.a. con distribución uniforme.I Método de la transformada inversa:

X =

x0 si U < p0

x1 si p0 ≤ U < p0 + p1...xj si p0 + · · ·+ pj−1 ≤ U < p0 + · · ·+ pj−1 + pj...

P(X = xj) = P(p0 + · · ·+ pj−1 ≤ U < p0 + · · ·+ pj−1 + pj) = pj .

Método de la Transformada Inversa

F (x) = P(X ≤ x) : Función de distribución acumulada

I F es una función creciente, escalonada, que toma valores entre0 y 1.

I Si se ordenan los valores de la variable en forma creciente:

x0 < x1 < · · · < xn < . . . ,

entonces

F (xj) =

j∑k=0

pk = p0 + p1 + · · ·+ pj .

Gráficamente

x0

1

x4x3x2x1

p1

p2

p3

y = F (x)

p0

x0

1

x4x3x2x1

p0

p1

p2

p3

X = x2

p0 + p1 < U < p0 + p1 + p2F (x)

Algoritmo

Si la v.a. toma un número finito de valores, el algoritmo es elsiguiente:

Algoritmo: Transformada InversaGenerar U ∼ U(0,1);if U < p0 then

X ← x0 y terminar.endif U < p0 + p1 then

X ← x1 y terminar.endif U < p0 + p1 + p2 then

X ← x2 y terminar.end...

Algoritmo de la Transformada Inversa

Si x0 < x1 < x2 < . . . , entonces F (xj) =∑j

i=0 pi , y por lo tanto

X ← x0 si U < p0 = F (x0)

X ← xj si F (xj−1) ≤ U < F (xj)

Se trata de hallar el intervalo [F (xj−1),F (xj)) donde se ubica U:

U ∈ [F (xj−1),F (xj)) ⇐= Transformada Inversa

EjemploX : {1,2,3,4}.

p1 = 0.20, p2 = 0.15, p3 = 0.25, p4 = 0.40

AlgoritmoGenerar U;if U < 0.2 then

X ← 1 y terminar.endif U < 0.35 then

X ← 2 y terminar.endif U < 0.6 then

X ← 3else

X ← 4end

Orden decreciente de pi

Si se ordenan de manera decreciente las probabilidades de masap0,p1, . . . , se puede obtener un algoritmo más eficiente:

Algoritmo: ordenando pi

Generar U;if U < 0.4 then

X ← 4 y terminar.endif U < 0.65 then

X ← 3 y terminar.endif U < 0.85 then

X ← 1else

X ← 2end

Generación de una v.a. uniforme discreta

Si X ∼ U [1,n], entonces p1 = p2 = · · · = pn =1n

.

X = j sij − 1

n≤ U <

jn

j − 1 ≤ nU < j

X = bnUc+ 1

siendo bxc la parte entera (inferior) de x .

EjemploGenerar una variable aleatoria discreta X, con distribución uniformeen [5,15].

I El intervalo entero [5,15] contiene 11 números enteros.I b11 Uc es un entero en [0,10].I b11 Uc+ 5 es un entero en [5,15].

Algoritmo: X ∼ U [5,15]

Generar U;X ← b11Uc+ 5

Generación de una permutación aleatoria

Aplicación: Generación de permutaciones aleatorias equiprobablesde un conjunto de n elementos.

Sea P1, P2, . . . , Pn una permutación de 1,2,. . . , n.

Algoritmo: Permutación aleatoria de P1, P2, . . . , Pn

k ← n;while k > 1 do

Generar U;I ← [kU] + 1;Intercambiar los valores de PI y Pk ;k ← k − 1

end

Ejemplo

I Conjunto de 5 elementos: a, b, c, d, e.I k recorre el vector, de la posición n = 5 hasta 2.I I: selecciona un elemento entre las posiciones 1 y k para

intercambiar.I La tabla se lee por columnas de izquierda a derecha.

I 4 2 3 1k 5 4 3 2

a a a a eb b e e ac c c c cd e b b be d d d d

Subconjuntos aleatorios

I Si el algoritmo anterior se ejecuta parak = n,n − 1, . . . ,n − (r − 1), se obtiene un subconjunto aleatoriode cardinal r .

I Si r > n/2, conviene tomar el complemento de un subconjuntoaleatorio de n − r elementos.

I Aplicaciones:I Técnica del doble ciego.I Simulación: Problema de las dos muestras.

Permutaciones no equiprobables

Si consideramos el algoritmo

Algoritmo v2: Permutación aleatoria de P1, P2, . . . , Pn

k ← n;while k > 1 do

Generar U;I ← [nU] + 1;Intercambiar los valores de PI y Pk ;k ← k − 1

end

¿Son equiprobables las permutaciones?- No, a menos que n = 2.

nn−1

n!no es un número entero.

Permutaciones aleatorias

Otro método para generar una permutación aleatoria de un conjuntode tamaño n consiste en

I generar n números aleatorios U1,U2, . . . ,Un,

I ordenarlos: Ui1 < Ui2 < · · · < Uin ,I utilizar los índices de los valores ordenados para hacer la

permutación.

Permutaciones aleatorias

EjemploObtener una permutación aleatoria de (a,b, c,d).

I U1 = 0.4, U2 = 0.1, U3 = 0.8, U4 = 0.7.I U2 < U1 < U4 < U3.I La permutación es (b,a,d , c).

Desventaja: Se requieren O(n log(n)) comparaciones.

Cálculo de promediosEjemploAproximación del valor de

a =n∑

i=1

a(i)n

siendo que n� 1.

I Tomamos X uniforme discreta en [1,n].I a(X ) es una v.a. discreta con media

a = E [a(X )] =n∑

i=1

a(i)P(X = i) =n∑

i=1

a(i)n.

I Generamos U1,U2, . . . ,Uk aleatorios en (0,1), Xi = bnUic+ 1.I Ley fuerte de los grandes números:

a ≈k∑

i=1

a(Xi)

kk grande

Cálculo de promedios

EjemploUtilizar 100 números aleatorios para aproximar

S =10000∑i=1

ei

10000 .

PromedioS ← 0;for i = 1 to 100 do

Generar U;I ← b10000 Uc+ 1;S ← S + exp(I/10000)

endS ← S ∗ 100

Variable aleatoria geométrica

P(X = i) = pq i−1, i ≥ 1, q = (1− p).

Tenemos que F (j − 1) = P(X ≤ j − 1) = 1−P(X > j − 1) = 1− q j−1.

I Método de la Transformada Inversa:

X ← j si 1− q j−1 ≤ U < 1− q j

q j < 1− U ≤ q j−1

I Esto equivale a encontrar el menor j tal que q j < 1− U.

X = min{j : q j < 1− U}

Variable aleatoria geométrica

Propiedades:I El logaritmo es una función creciente,I log(q) es negativo,I V = 1− U también es uniforme en (0,1):

X = min{

j : q j < 1− U}

= min {j : j log(q) < log(1− U)}

= min{

j : j >log(1− U)

log(q)

}=

⌊log(1− U)

log(q)

⌋+ 1

X =

⌊log(V )

log(q)

⌋+ 1

Variable Aleatoria Poisson

pi = P(X = i) = e−λλi

i!, i = 0,1, . . .

Algoritmo 1: Generación de una v.a. Poisson P(λ)

Generar U ∼ U(0,1);i ← 0, p ← e−λ, F ← p;while U ≥ F do

p = (λ · p)/(i + 1);F = F + p;i = i + 1

endX ← i

Inconvenientes del Algoritmo 1

I El algoritmo chequea desde 0 en adelante hasta obtener el valordeseado.

I El número de comparaciones es 1 más que el valor generado.I El valor generado esperado es λ. Luego, el promedio de

comparaciones es λ+ 1.I Si λ� 1, el algoritmo anterior realiza muchas comparaciones.

Mejora al Algoritmo 1

Para mejorar el algoritmo se utilizan las siguientes propiedades de ladistribución de Poisson:

I Definición recursiva de pi : pi+1 =λ

i + 1pi , i ≥ 0.

I pi+1 ≥ pi si y sólo siλ

i + 1≥ 1, es decir, i + 1 ≤ λ.

I El valor máximo de pi es pbλc, es decir, valores de i cercanos a λ.

Algoritmo mejorado

Algoritmo 2: Generación de una v.a. Poisson P(λ)

I ← bλc;Calcular F (I) usando la definición recursiva de pi ;Generar U ∼ U(0,1);if U ≤ F (I) then

generar X haciendo búsqueda descendente.endif U > F (I) then

generar X haciendo búsqueda ascendente.end

Algoritmo mejorado

I El promedio de búsquedas es

1 + E [|X − λ|] .

I Si λ� 1, X aproxima a una normal, N(λ,√λ).

X − λ√λ∼ N(0,1).

I Promedio de búsquedas:

1 +√λE[|X − λ|√

λ

]= 1 +

√λE [|Z |]

= 1 + 0.798√λ.

Variable Aleatoria Binomial B(n, p)

pi = P(X = i) =n!

i!(n − i)!pi(1− p)n−i , i = 0,1, . . . ,n

I Caso similar al de generación de una v. a. Poisson.I

E[X ] = n p Var[X ] = n p(1− p).

I Conviene utilizar la fórmula recursiva:

pi+1 =n − ii + 1

p1− p

pi , 0 ≤ i < n.

Algoritmo para una Binomial

Algoritmo A: Generación de una v.a. Binomial B(n,p)

Generar U ∼ U(0,1);i ← 0;c ← p/(1− p);Pr ← (1− p)n;F ← Pr ;while U ≥ F do

Pr ← [c(n − i)/(i + 1)]Pr ;F ← F + Pr ;i ← i + 1

endX ← i

Inconvenientes del algoritmo

I El algoritmo chequea desde 0 en adelante hasta obtener el valordeseado.

I El número de comparaciones es 1 más que el valor generado.I El promedio de comparaciones es np + 1.I Existen métodos alternativos más eficientes.

Métodos alternativos para generar una BinomialB(n, p)

I Si p > 1/2, generar n − B(n,1− p). (menor número decomparaciones).

I Generar U1, . . . ,Un, y contabilizar cuántas son menores que p.Es menos eficiente pues requiere n comparaciones.

I Utilizar la sugerencia análoga para Poisson. (menor número decomparaciones).

I Valor más probable: i = bn pc.I Promedio de búsquedas: 1 +

pnp(1− p) 0.798.

top related