Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Funciones de Densidad en Mat Lab
Funciones de Densidad en Mat Lab
Funciones de Densidad en Mat Lab
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