tema 10: simulación de variables aleatorias

Post on 11-Feb-2017

235 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

ESTADÍSTICA 2OO7/2OO8

TEMA 10: SIMULACIÓN DE VARIABLES ALEATORIAS

DESCRIPCIÓN DEL TEMA:

10.1. Introducción.

10.2. Método de las transformaciones.

10.3. Método de inversión.

10.4. Método de aceptación-rechazo.

10.5. Simulaciones Montecarlo.

OBJETIVOS PRINCIPALES:

• Comprender los métodos de simulación de variables aleatorias básicos ysus aplicaciones.

• Conocer las ideas básicas que subyacen a las técnicas de tipo Montecarlo.

10.1. Introducción.

• Los ordenadores pueden simular probabilidades y variables aleatoriasnuméricamente.

• Aplicaciones:– Aproximar cantidades que resultan difíciles de calcular matemática-

mente.

– Simular sistemas físicos o biológicos complejos.

– Implementar algoritmos complejos para procesar imágenes, reconocersonidos, etc.

– Encriptar datos o generar claves.

– Generar opciones aleatorias en juegos de ordenador, etc.

Punto de partida

• Prácticamente todos los lenguajes de programación disponen de ungenerador de números aleatorios que permiten generar una secuenciaU1, U2, . . . de números aleatorios aproximadamente independientes ycon una distribución aproximadamente U(0, 1).

• Un ejemplo del algoritmo de generación:

xn = axn−1 mod m

(x0 es un parámetro del algorimo),

m = 231 − 1, a = 7

5= 16 807.

Requerimientos sobre un generador de números aleatorios– Buena distribución;– Período grande;– Posibilidad de repetir (por ejemplo, para hacer un test del programa). Posi-

bilidad de almacenar el estado de generador.

– Posibilidad de transferencia de un lenguaje de programación a otro y de unordenador al otro, con exactamente los mismos resultados.

– Eficiencia en el sentido del consumo de tiempo.

• Podemos suponer que disponemos de una sucesión de variables aleato-rias U(0, 1) e independientes: U1, U2, U3, U4, U5, . . . .

• A partir de la sucesión anterior vamos a estudiar cómo generar valoresaleatorios de otras distribuciones de probabilidad.

• Veremos diferentes métodos para lograr este objetivo:

1. Método de las transformaciones2. Método de inversión3. Método de aceptación-rechazo

1. Método de las transformaciones

◮ Para simular una v.a. X bastará encontrar una v.a. que se pueda expresarcomo una función de U1, U2, . . . , Un y que tenga la misma distribuciónque X. Es decir, se trata de encontrar una transformación

Y = f(U1, . . . , Un) ∼ X.

Ejemplos:

• Uniforme sobre (a, b)

X = a + (b − a)U1 ∼ U(a, b), U1 ∼ U(0, 1).

U(10, 12)

• Uniforme sobre {1, . . . , n}

X = ⌈nU1⌉ ∼ U({1, . . . , n}).

U({1, 2, 3, . . . , 10})• Bernoulli de parámetro p

B(1; p) ∼ X1 =

(1 si U1 ≤ p,

0 si U1 > p.

B(1; 0,5)

• Binomial de parámetros n, p

B(1; p) ∼ Xi =

(1 si Ui ≤ p,

0 si Ui > p.X = X1 + · · · + Xn ∼ B(n; p).

• Geométrica de parámetro p

B(1; p) ∼ Xi =

(1 si Ui ≤ p,

0 si Ui > p.X = mın{i : Xi = 1} ∼ G(p).

• Normal tipificada (La transformada de Box-Muller)Sean U1 ∼ U(0, 1) y U2 ∼ U(0, 1) independientes. Tomemos,

Z1 :=

q2 log(1/U1) cos(2πU2), Z2 :=q

2 log(1/U1) sin(2πU2).

Se tiene

Z1 ∼ N(0; 1), Z2 ∼ N(0; 1) y Z1, Z2 independientes.

Desventaja: Necesidad de calcular sin, cos, log

(consume mucho tiempo).

• Normal

Si Z ∼ N(0; 1), entonces X = µ + σZ ∼ N(µ; σ).

• Simulación de la Normal bivarianteSean Z1, Z2 ∼ N(0; 1) independientes, definimos

X = µX + σxZ1, Y = µY + σY (ρZ1 +

p1 − ρ2 · Z2),

ρ =σX,Y

σX σY

=cov(X, Y )p

V (X)

pV (Y )

=⇒ (X, Y ) normal bivariante con correlación ρ :

(X, Y ) ∼ N(µµµ;ΣΣΣ) con µµµ =

�µX

µY�

, ΣΣΣ =

�σ2

X σX,Y

σX,Y σ2Y

�Observamos que:

– Si ρ = 0, entonces

X = µX + σXZ1, Y = µY + σY Z2 =⇒ X e Y independientes.

Bajo normalidad: Incorrelación⇐⇒Independencia.

– Las medias condicionadasx fijo =⇒

y := E

Y

��X = x

�= µY + ρ

σY

σX

(x − µX) (rectas verdes)

y fijo =⇒

x := E

�X

��Y = y

�= µX + ρ

σX

σY

(y − µY ). (rectas violetas)

– Si ρ = 1, entonces

Y = µy + σy

�X − µx

σx

�=⇒ Dependencia lineal positiva perfecta

– Si ρ = −1, entonces

Y = µy − σy

�X − µx

σx

�=⇒ Dependencia lineal negativa perfecta

• Ejemplo (Normal bivariante):

Supongamos que queremos simular valores de:

N(µµµ;ΣΣΣ) con µµµ =

�1

2

�, ΣΣΣ =

�2 1

1 1

�, (ρ = 1/

√2 ≈ 0,7071).

Sean Z1, Z2 ∼ N(0; 1) independientes, definimos:

X = 1 +√

2Z1, Y = 2 +1√2

(Z1 + Z2) .

(X, Y ) ∼ N

�µµµ =

�1

2

�;ΣΣΣ =

�2 1

1 1

��.

2. Método de inversión

◮ Dada una v.a. X con f.d. F , definimos la inversa generalizada de F ofunción cuantil de X, F−1, mediante:

F−1

(t) := ınf{x : F (x) ≥ t}, 0 < t < 1.

• Observación:– La función cuantil es no decreciente y continual por la izquierda.

– Si F es biyectiva, entonces F−1 es la función inversa de F .

– Si X es una v.a. discreta que toma los valores x1 < x2 < x3 < . . . ,entonces

F−1

(t) = mın

8<:xj :

jXk=1

P (xk) ≥ t

9=; .

◮ Método de inversión: El método de inversión se basa en el siguiente re-sultado:Dada una v.a. X con función de distribución F y U ∼ U(0, 1), entonces

Y = F−1

(U) ∼ X.

• Variables discretasSea X una v.a. discreta que toma los valores x1 < x2 < x3 < . . . ,entonces

X ∼ F−1

(U1) = mın

nxj :

jXk=1

P (xk) ≥ U1

o.

Ejemplo 1 Sea X una v.a. discreta con función de probabilidad:

P (2) = 0, 2, P (3) = 0, 2, P (5) = 0, 4, P (7) = 0, 1, P (11) = 0, 1.

Dividimos [0, 1] en subintervalos:

0 0, 2 0, 4 0, 8 0, 9 1.

Les asignamos números:

2 3 5 7 11.

– Si U1 = 0,133, entonces tomamos 2 como un valor aleatorio de X.

– Si U1 = 0,254, entonces tomamos 3 como un valor aleatorio de X.

– Si U1 = 0,495, entonces tomamos 5 como un valor aleatorio de X.

– Si U1 = 0,891, entonces tomamos 7 como un valor aleatorio de X.

– Si U1 = 0,902, entonces tomamos 11 como un valor aleatorio de X.

Ejemplo 2: Binomial de parámetros n, p

X = mın

nj :

jXk=0

�n

k

�p

k(1 − p)

n−k ≥ U1

o∼ B(n; p).

• Geométrica de parámetro p

G(p) ∼ X = mın

8<:j :

jXk=0

p(1 − p)k ≥ U1

9=;= mın

nj : 1 − (1 − p)

j+1 ≥ U1

o∼ mın

nj : (1 − p)

j+1 ≤ U2

o=

�log U2

log(1 − p)�

.

• Exponencial de parámetro 1

Si X ∼ Exp(1), su función de distribución es: F (x) = 1 − e−x, luego

F−1

(t) = log

�1

1 − t

�y log

�1

1 − U1

�∼ Exp(1).

log

�1

U1

�∼ log

�1

1 − U1

�∼ Exp(1).

Ejemplo: Consideremos una variable aleatoria X con densidad de probabili-dad:

f(x) :=

�x−2 si x > 1,

0 en otro caso.

(a) Dada una sucesión U := {U1, U2, U3, . . . } de variables aleatorias (mu-tuamente) independientes y uniformes en (0, 1), descríbase el método deinversión para obtener valores aleatorios de la variable X a partir de lasucesión U.

(b) Los dos primeros valores de la sucesión de variables uniformes han sido0.515968 y 0.298085. Calcúlense dos valores aleatorios de X a partir delos números uniformes anteriores.

3. Método de aceptación-rechazo(Acceptance-rejection sampling)

(John von Neumann (1951))

• Rejection sampling.Supongamos que queremos simular un valor de la variable X con densi-dad f tal que:– f se concentra en el intervalo [a, b].

– f(x) ≤ k, para alguna constante k.

• Idea: Lanzamos dardos aleatoriamente en el rectángulo [a, b] × [0, k].Si el dardo cae dentro de la gráfica de f , tomamos el valor de la abscisacomo un valor de la v.a. X.

• Algoritmo:(1) Generar un valor U1 ∼ U[a, b].

(2) Generar un valor U2 ∼ U[0, k] independiente de U1.

(3) Entonces:

(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)}.

Ejemplo: Método de aceptació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 probabilidadde aceptación.

Ejemplo: Consideremos una variable aleatoria X con distribución beta deparámetros 2 y 2, es decir, X es una variable continua con densidad de prob-abilidad:

f(x) :=

�6x(1 − x) si 0 < x < 1,

0 en otro caso.

(a) Supongamos que disponemos de una sucesión (U1, V1), (U2, V2), . . . depares de variables (mutuamente) independientes y con la misma distribu-ción uniforme en el intervalo (0, 1). Escríbase el algoritmo de aceptación-rechazo (caso 1) (Montecarlo) para generar valores de la variable X apartir 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 (0, 0398101; 0,298392). ¿Cuáles son las salidasdel algoritmo para este par?

(c) ¿Cuál es la probabilidad de ejecutar el algoritmo y no generar un valoraleatorio de X en dos ocasiones antes de generar 4 valores aleatorios deX?

Simulaciones Montecarlo

• La técnicas de tipo Montecarlo son muy útiles para:

– Aproximar el valor de una integral o una constante complicada de formanumérica, sobre todo para integrar funciones de muchas variables.

– Calcular la distribución (aproximada) de una variable aleatoria para laque el cálculo analítico es muy complejo.

– Resolver problemas estadísticos complejos.

Aplicaciones:– Física estadística;– Física de grandes energías.

• Problema: Sea XXX = (X1, . . . , Xn) un vector aleatorio y supongamosque queremos calcular (de forma aproximada) el valor de Eφ(XXX), dondeφ : R

n → Rm es una función conocida.

◮ Solución: Simulación Montecarlo

(1) Generar una sucesión de v.a.s XXX1,XXX2, . . . independientes entre sí ycon la misma distribución que XXX.

(2) Calcular YYY i := φ(XXXi), i ≥ 1.

(3) La ley (fuerte) de grandes números asegura que:

lımn→∞

YYY 1 + · · · + YYY n

n= EYYY 1 = Eφ(XXX) casi seguramente.

Ejemplo

Calcular un valor aproximado para el número π mediante el método Monte-carlo.

– Tomemos X, Y ∼ U(−1, 1). Definimos:

Z :=

(1 si X2 + Y 2 ≤ 1,

0 en otro caso.

– Tenemos Z ∼ B(1; π/4) y EZ = π/4.

– Consideremos Z1, Z2, . . . variables aleatorias independientes como Z.La ley de grandes números asegura que:

4

n(Z1 + · · · + Zn)

c.s.−→ π, n → ∞.

Propuesta de problemas a entregar

Problema:

Supongamos que un ordenador con doble núcleo trabaja paraejecutar dos rutinas de un determinado programa. La distribuciónconjunta del tiempo de ejecución de las dos rutinas sigue unadistribución de probabilidad normal de media (5, 5) (en minutos),desviaciones típicas de 1 minuto y correlación 0.7. El programano se puede ejecutar hasta que ambas rutinas se han ejecutado.

Calcúlese una estimación (mediante el método Montecarlo) deltiempo esperado que se tarda en poder ejecutar el programa.

top related