Professional Documents
Culture Documents
Contenidos 1. Descripci on estad stica de datos. 2. Generaci on de n umeros aleatorios N umeros aleatorios con distribuci on uniforme. N umeros aleatorios con otras distribuciones. M etodo basado en la inversa de la distribuci on de probabilidad acumulada. M etodo Box-Muller (distribuci on normal). M etodo del rechazo. N umeros aleatorios con correlaciones.
0.20
0.15
0.10
0.05
0.00 0.0
5.0
10.0
15.0
20.0
Distribuci on de densidad de probabilidad Consideremos la variable continua x. P (x)dx Probabilidad de que la variable se encuentre entre x y x + dx. x CDF (x) = P (x )dx Probabilidad de que la variable tenga un valor menor que x. P(x)
11 00 00 11 00 11 00 P(x) dx 11 00 11 x x+dx 00 11
0.0 2.0
1.0
0.0
1.0
2.0
1.0
0.5
0.0 0.0
1.0
2.0
3.0
Momentos.
Consideremos el conjunto de puntos {x1, x2, . . . , xN } Media o valor medio x 1 x N En MATLAB: mean(x) En Excel: PROMEDIO()
Notas: Deja de ser u til cuando el primer momento de las colas de la distribuci on es grande.
2 N
1 = N
(xi x )n
i=1
En MATLAB: moment(x,orden)
xi
i=1
Varianza 2 1 = N 1
2 N i=1
(xi x )2
1 = N
N i=1
(xi x )2 =
x2 x 2 .
Mediana xmed es tal que hay igual n umero de valores xi < xmed como de valores xi > xmed . En MATLAB: median(x) En Excel: MEDIANA()
Notas: M as robusto que la media. Deja de ser u til cuando el area bajo las colas de la distribuci on es grande.
6
Desviaci on est andar o desviaci on t pica = En MATLAB: std(x), std(x,1) En Excel: DESVEST()
V ar .
Curtosis Espaciado entre cuartiles: Espaciado que comprende el segundo y tercer cuartil de los datos. Es una medida m as robusta que la desviaci on est andar de la dispersi on de los datos. En MATLAB: iqr(x) En Excel: CUARTIL(datos,opciones)
D
1 Curt = N
N i=1
xi x
Momento de orden n
D
P (xr ) = 1 E[x] =
r =1 3 D
E[x ] =
n r =1
xi x
P (x)dx = 1
E[x] =
x P (x)dx
E[xn] =
Nivel de conanza (P ) y valores cr ticos (zc) para una distribuci on normal con desviaci on est andard . P (zc) Probabilidad ( |x x | < zc )
Hip otesis: Los errores aleatorios proceden de una acumulaci on de peque nas alteraciones que se producen al azar. Teorema del l mite central Considera la variable denida como suma de variables N aleatorias {xi}i=1 tomadas de las distribuciones de probabilidad Pi(xi) centradas en torno al origen 1 y= N
N
P (%)
zc
99.9 3.29 99 2.58 95 2.00 90 1.64 68 1.00 Desviaci on t pica de la media. Dado N 1 xi x = N i=1 se cumple (x) ( x ) = N
xi
i=1
En el l mite N , la distribuci on de y es una distribuci on normal centrada en torno al origen y cuya varianza es N 1 2 2(xi) (y ) = N i=1 Los errores aleatorios tienen una distribuci on normal.
10
11
Un ordenador es una m aquina determinista con un n umero nito de estados. El problema es c omo generar una sucesi on innita de n umeros aleatorios, con una distribuci on de probabilidad subyacente prejada, de manera algor tmica. A lo m as que podemos aspirar es a generar una secuencia de n umeros pseudo-aleatorios, es decir, tales que se comportan para el programa en el que son utilizados como una secuencia de n umeros aleatorios (i.e. Es decir, no es posible detectar correlaciones estad sticas entre ellos). Nos centraremos en el problema de encontrar n umeros aleatorios con una distribuci on uniforme en el intervalo [0, 1]. La distribuci on de probabilidad es P (u ) = 0 u (0, 1) 1 u (0, 1)
Uj Ij +1
Ij ; m = (aIj ) mod m, j = 0, 1, . . . , =
con las deniciones m m odulo a multiplicador I0 semilla (entero entre 1 y m 1 Si los valores de a, y m son elegidos de una forma adecuada, se generar a una secuencia de n umeros aleatorios enteros con una distribuci on uniforme en [1, m 1], con un periodo m aximo de m 1. En concreto, las siguientes condiciones garantizan que el generador tiene un periodo m aximo (a es una raiz primitiva del primo m: m es primo. ultiplo de m. am1 1 es un m j 1 1; j = 1, 2, . . . , m 2 no son m ultiplos de m. a
12
13
Uj Ij +1
es m as lento que el anterior y no aporta mayor generalidad. Las condiciones que deben cumplir los par ametros a, c, m para que el generador tenga un periodo m aximo son: El u nico divisior com un entre c y m es 1 (se dice que c y m son primos el uno respecto al otro). todos los divisores primos m son divisores primos de a 1. Si m es divisible por 4, a 1 tambi en lo es. Ejemplos Ejemplo 1: (de ejemplo propuesto para el est andar ANSI C) m = 215 = 32768 a = 1103515245 c = 12345
14
La implementaci on en este ejemplo ha de ser hecha con cuidado, ya que necesitamos realizar operaciones exactas con enteros. Ventajas El m etodo es r apido. La secuencia generada es independiente de la m aquina en la que se ejecuta el algoritmo. Inconvenientes Existen correlaciones entre los n umeros generados: Imaginemos que utilizamos esta secuencia para generar puntos en k dimensiones, los puntos se distribuyen en on k 1, un m aximo de m1/k hiper-planos de dimensi y no de manera uniforme. Los bits menos signicativos tienen un car acter menos aleatorio que los bits m as signicativos.
15
En particular, el algoritmo de Park y Miller no satisface el test 2 si dos puntos sucesivos se asimilan a puntos en un plano bidimensional (Ii, Ii+1), i = 1, 2, . . . , N , a mucho menor que m 2). para N 107 (todav Es posible eliminar estas correlaciones secuenciales de bajo orden mediante un simple mecanismo de reordenaci on aleatoria.
Dada la forma de la distribuci on objetivo p(z ), y si partimos de una distribuci on de probabilidad uniforme en u, hemos de resolver la ecuaci on diferencial p (z ) = du . dz
dyp(y )
Para obtenerun conjunto de n umeros aleatorios con una distribuci on normal, utilizaremos un m etodo de transformaci on en dos dimensiones. El objetivo es utilizar un generador de n umeros aleatorios con distribuci on uniforme para generar n umeros aleatorios con una distribuci on normal: z2 1 p(z ) = exp( ). 2 2 La transformaci on a utilizar es z1 = z2 = 2 log(u1) cos(2u2) 2 log(u1) sin(2u2),
dzez = 1 ez
La transformaci on apropiada es z (u) = log(1 u). El algoritmo es Generar un n umero aleatorio con distribuci on uniforme u U [0, 1] . Calcular el n umero aleatorio z = log(1 u). Los n umeros aleatorios z tienen una distribuci on z p (z ) = e .
umeros aleatorios con distribuci on donde u1, u2 son dos n U [0, 1].
18
19
Demostraci on: En 2 dimensiones, la conservaci on de probabilidad se traduce en |P (u1, u2)du1du2| = |P (z1, z2)dz1dz2| = P (z1, z2) = A partir de las expresiones 1 2 2 + z2 ) u1 = exp (z1 2 z2 1 arctan u2 = 2 z1 el Jacobiano es 1 1 2 (u 1 , u 2 ) 2 = exp (z1 + z2 ) . (dz1, dz2) 2 2 Siendo P (u1, u2) = 1, el resultado es P (z1, z2) =
2 1 ez1 /2 2 2 1 ez2 /2 2
Algoritmo: 1. Genera los n umeros v1, v2 a partir de una distribuci on uniforme en [0, 1]. 2. Elige u nicamente aquellos pares v1 , v2 correspondientes a una distribuci on uniforme en un c rculo de radio unidad 2 2 + v2 < 1. R2 v1
(u 1 , u 2 ) P (u 1 , u 2 ) (dz1, dz2)
20
21
M etodo de rechazo.
Este m etodo permite obtener un conjunto de n umeros aleatorios con una distribuci on arbitraria p(x). 1. Denimos una funci on de comparaci on f (x) similar a p(x) tal que cumple las siguientes condiciones f (x) p(x) x [, ] F (x) F () =
x
f(x)
V 0
-1
dy f (y ) es conocida dy f (y ) = A (> 1)
F (U)
1. Denimos una distribuci on de densidad de probabilidad de referecia pdf (x) para la cual sabemos generar n umeros aleatorios, similar a p(x), y tal que cumple las siguientes condiciones
2. Generamos un n umero aleatorio U a partir de una distribuci on U [0, A]. A partir de este n umero denimos X=F
1
p(x) x [, ]; A 1 x dx cdf (x )
(U )
3. Generamos un segundo n umero aleatorio V a partir de una distribuci on uniforme en [0, f (x)]: V < p (X ) x es aceptado
2. Generamos un n umero aleatorio X con la distribuci on de referencia. Para ello podemos utilizar el m etodo de la inversa: (a) Generar U a partir de una distribuci on U [0, 1]. (b) A partir de U calculamos X = cdf 1 (U ). on uniforme en [0, A pdf (x)]: 3. Generamos un segundo n umero aleatorio V a partir de una distribuci
x es aceptado x es rechazado
V p(X ) x es rechazado
22
23
Ejemplo para generar n umeros aleatorios N (0, 1), a partir de una funci on de referencia uniforme en [R, R] f (x) = normpdf (0); x [R, R] f (x) normpdf (x); x [R, R] F (x) = normpdf (0)(x + R); A = 2 R normpdf (0); F 1(u) = u/normpdf (0) R; El algoritmo para esta distribuci on es: 1. Genera valor aleatorio X U [R, R].
Nota: Este paso resulta de combinar (a) Genera valor aleatorio U U [0, A]. (b) Calcula X = U/normpdf (0) R.
Finalmente y1 y2 ... yN
24
1 = 2 + A ... N
x1 x2 ... xN
25