• No se han encontrado resultados

INGENIERIA de TELECOMUNICACION

N/A
N/A
Protected

Academic year: 2021

Share "INGENIERIA de TELECOMUNICACION"

Copied!
12
0
0

Texto completo

(1)

INGENIERIA de TELECOMUNICACION

ESTADISTICA

2010-2011

PRACTICA 2. PROBABILIDAD Y VARIABLES ALEATORIAS

OBJETIVOS: Introducci´on a la probabilidad mediante experimentos aleatorios. Introducci´on a las variables aleatorias

1.

Probabilidad

1. Simular 1000 lanzamientos de una moneda cuya probabilidad de obtener cara (codificada como 1) es de 0.4 y la de obtener cruz (codificada como 0) es de 0.6.¿C´omo se podr´ıa ver que la simulaci´on est´a funcionando seg´un lo esperado?

>> n=1000; p=0.4; >> u=rand(n,1);

>> m=1*(u<=p)+0*(u>p); >> mean(m) % aprox. 0.40

2. Simular 10 lanzamientos de una moneda cuya probabilidad de obtener cara (codificada como 1) es de 0.4 y la de obtener cruz (codificada como 0) es de 0.6 y localizar en un vector los lanzamientos que son cara.

>> n=10; p=0.4; >> u=rand(n,1); >> m=1*(u<=p)+0*(u>p); >> lanzamiento=(1:n)’ >> datos=[lanzamiento m]; >> localiza=datos(find(datos(:,2)==1))

3. La probabilidad de lluvia en un d´ıa es de p= 0.5. Indicar el c´odigo MATLAB/Octave para saber cu´al es la probabilidad de que llueva el fin de semana (asumiendo independencia de lluvia entre d´ıas) Compararla con la te´orica.

>> p=0.5;

>> prob_teorica = 0.5+0.5-0.5*0.5 prob_teorica =

(2)

% mediante simulacion:

>> u=rand(10000,2) ; % simulamos 2 columnas (s´abado y domingo) >> x=(u<=p); % si u<=p, toma valor 1 y 0 en caso contrario >> w=(x(:,1)==1 | x(:,2)==1); % si llueve el s´abado

% domingo o ambos, w=1 y w=0 en caso

% contrario

>> prob = sum(w)/10000; % aprox. 0.75

4. Indicar el c´odigo MATLAB para calcular la fiabilidad de un sistema de 5 componentes en serie cuya probabilidad de fallo es de 0.05 para cada uno de ellos y donde se supone que los fallos se producen de forma independiente entre s´ı. Compararla con la fiabilidad te´orica.

>> p=1-0.05;

>> prob_fiabilidad_teorica=p^5; prob_fiabilidad_teorica=

0.7738 % mediante simulaci´on:

>> u=rand(1000,5); >> x=(u<=p);

>> w=(x(:,1)==1 & x(:,2)==1 & x(:,3)==1 & x(:,4)==1 & x(:,5)==1); >> prob=sum(w)/1000; % aprox. 0.7738

5. La empresa “Aikon” tiene una planta de fabricaci´on de tel´efonos m´oviles. Se sabe que el 30 % de los tel´efonos fabricados en dicha planta son defectuosos. Si un tel´efono es defectuoso, la probabilidad de que un robot del Departamento de Calidad de la empresa lo detecte es 0.9 y si no es defectuoso, la probabilidad de que el robot lo considere defectuoso y lo saque de producci´on es de 0.2. Si un cliente compra dos tel´efonos que no han sido sacados de la cadena de producci´on, ¿cu´al es la probabilidad de que sean ambos no defectuosos?

(3)

La soluci´on te´orica es la siguiente: Sean los sucesos A = “ser defectuos”, ¯A = “no ser defectuos”, R =“el robot dice que es defectuoso”, y ¯R = “el robot dice que no es defectuoso”. Los datos del problema nos dicen que:

P(A) = 0.3, P(R|A) = 0.9 y que P(R|A¯) = 0.2, por lo que P( ¯A) = 1−P(A) = 0.7, P( ¯R|A) = 0.1 yP( ¯R|A¯) = 0,8. Se tiene por tanto que la probabilidad de que un tel´efono que no haya sido sacado de la cadena de producci´on sea no defectuoso es:

P( ¯A|R¯) = P( ¯R| ¯ A)P( ¯A) P( ¯R) = P( ¯R|A¯)P( ¯A) P( ¯R|A¯)P( ¯A) +P( ¯R|A)P(A) = 0.949 Y por tanto, que dos lo sean es 0.949×0.949 = 0.9006.

En MATLAB, podemos calcular la probabilidad, sin necesidad de aplicar el teorema de Bayes. Mediante simulaci´on y a partir de las probabilidades dadas en el problema: 1. Simulamos la fabricaci´on de n m´oviles (por ej:n = 10000). Sabiendo que el 30 % son defectuosos (el 70 % no son defectuosos).

>> n=10000;

>> n_def=0.3*n; % no de defectuosos

>> n_no_def=0.7*n; % no de no defectuosos

2. Crearemos el vector M, formado por los vectores DEF, y N DEF, que toma valor 1 si el m´ovil fabricado es defectuoso y 0 si no lo es.

>> DEF = repmat(1,n_def,1) ; >> NDEF = repmat(0,n_no_def,1) ; >> M = [DEF ; NDEF];

3. Generamos n´umeros aleatorios mediante el comando rand, de tama˜no n_def y

n_no_def.

>> u_def=rand(n_def,1);

>> u_no_def=rand(n_no_def,1);

4. Mediante la condici´on booleana, y con las probabilidades P(R|A) = 0.9 y P(R|A¯) = 0.2, generamos un vectorR, que indica que el Robot detecta que el m´ovil es defectouso y en efecto lo es (1) y toma valor 0 si lo detecta cuando no lo es.

>> R_DEF = 1*(u_def<=0.9) + 0*(u_def>0.9);

>> R_NDEF = 1*(u_no_def<=0.2) + 0*(u_no_def>0.2); >> R =[ R_DEF ; R_NDEF ];

(4)

5. Finalmente creamos un matriz datos, que contiene en la primera columna el vector M y en la segunda el vector R. Por tanto la probabilidad P( ¯A|R¯), se puede aproximar contando las veces queR = 0 yM = 0, para ello utilizamos en comando find.

>> datos = [ M R ];

>> AIKON = datos(find(datos(:,2)==0)); % finalmente con tabulate

>> tabulate(AIKON) Value Count Percent

0 5631 94.80%

1 309 5.20%

(5)

2.

Variables aleatorias

La siguienta tabla resume algunas de las funciones m´as importantes para la generaci´on de n´umeros aleatorios en MATLAB/Octave:

Funci´on Descripci´on Sintaxis

rand no aleatorios∈[0,1] rand(m,n)

unifrnd no aleatorios ∈[a, b] unifrnd(a,b,m,n)

unidrnd no aleatorios discretos∈ {1,2, ..., N} unidrnd(N,m,n)

donde myn, son respectivamente en no de filas y columnas a generar.

2.1. Funciones preliminares ´utiles

1. Genera 100 datos de la distribuci´on uniforme cont´ınuaU(0,1).

>> x=rand(100,1) % ´o x=unifrnd(0,1,100,1)

2. Genera con MATLAB/Octave, 5 lanzamientos de un dado.

>> x=unidrnd(6,5,1) % generamos los 5 lanzamientos

% a partir de una uniforme discreta entre 1 y 6 % otra manera:

>> u=rand(6,1) >> x=floor(6*u+1)

3. Genera con MATLAB/Octave, 5 lanzamientos de 3 dados.

>> x=unidrnd(6,5,3) % generamos los 5 lanzamientos de los 3 dados % a partir de una uniforme discreta entre 1 y 6 % otra manera:

>> u=rand(5,3) >> x=floor(6*u+1)

2.2. Generaci´on de variables aleatorias

1. Supongamos el experimento del lanzamiento de dos monedas. Sea X, la variable aleatoria “n´umero de cruces”. Determina con MATLAB/Octave la funci´on de probabilidad de X.

(6)

>> n=10000; >> u1=rand(n,1); >> u2=rand(n,1);

>> m1=1*(u1<=1/2)+0*(u1>1/2); % generamos los n lanzamientos de las >> m2=1*(u2<=1/2)+0*(u2>1/2); % monedas 1 y 2, con probabilidad

% 1/2 de cruz (=1) y de cara (=0) >> x=m1+m2; % x es la suma de las cruces de ambas monedas

>> tabulate(x) % con tabulate, obtenemos la tabla de frecuencias % absoluta y relativa

Value Count Percent

0 2483 24.83%

1 5006 50.06%

2 2511 25.11%

De este modo hemos aproximado la funci´on de probabilidad te´orica: p(x) =P(X=x)

>> tab=tabulate(x) % guardamos la tabla en una matriz tab

>> bar(tab(:,3)) % representamos el diagrama de barras de las % frecuencias relativas 1 2 3 0 10 20 30 40 50 60 X p(x) 0 1/4 1 1/2 2 1/4

2. Dada la variable aleatoria X, del ejercicio anterior, comprueba los valores te´oricos E[X] y Var[X]. SOLUCI ´ON: XLa esperanza deX es: µ=E[X] = n X i=1 xi×P(X =xi) = 0× 1 4+ 1 1 2+ 2× 1 4 = 1

(7)

Y la varianza: σ2 =Var[X] = n X i=1 (xi−µ)2P(X =xi) = (0−1)2×1 4 + (1−1) 2×1 2 + (2−1) 2×1 4 = 1 2 Recuerda: Var[X] =E[X2]−(E[X])2 >> mean(x) % es aproximadamente 1 >> var(x) % es aproximadamente 0.5

3. Elm´etodo de la inversa1 de la funci´on de distribuci´on,FX(x), afirma que “si una variable

aletoria X tiene una funci´on de distribuci´on FX(x) que admite inversa, entonces se verifica

que la variable transformada U =FX(X) sigue siempre una distribuci´on uniforme continua

U”.

Este resultado se aplica en la vida real considerando la igualdad u =FX(x) y despejando x en funci´on deu, que vendr´a dado porx=FX−1(u), con lo que si se generau∼ U(0,1) se tiene quex=FX−1(u) sigue la distribuci´on de X.

Para generaru∼ U con MATLAB/Octave podemos utilizarrand ´o unifrnd. a) Sea X una variable aleatoria con funci´on de distribuci´onFX(x), dada por:

FX(x) =

0 x <0 1−e−2x 0≤x

¿C´omo simular´ıas valores de la v.a. X?

b) Comprueba con MATLAB/Octave los valores de E[X] y de Var[X].

SOLUCI ´ON:

a) Por el m´etodo de la inversa tenemos que considerando la igualdad u =FX(x), tenemos que para 0≤x, se verifica que:

1−e−2x =u 1−u=e−2x

−1

2log(1−u) =x

Con lo que si generamos u∼ U(0,1), obtendremos quex∼f(x). El pseudoc´odigo ser´ıa:

1: Fijar n= 100

2: Generar n datos u∼ U(0,1)

(8)

4: Tenemos que x∼f(x)

En MATLAB, sobre el Command Window:

>> n=100000; >> u=rand(n,1); >> x = (-1/2)*log(1-u); >> hist(x) 0 0.5 1 1.5 2 2.5 0 5 10 15 20 25 30 35 40 45

NOTA:El m´etodo de la inversa permite simular variables aleatorias de manera sencilla a partir de v.a.’s uniformes. En este ejercicio se han simulado v.a.’s Exponenciales de par´ametroλ= 2. b) Dada la funci´on de distribuci´on deX,FX(x), podemos obtener la funci´on de densidad f(x), sabiendo que f(x) = dFX(x) dx y por tanto: f(x) = 2e−2x x≥0 0 en otro caso µ=E[X] = Z ∞ −∞ xf(x)dx= 1 2 σ2 =Var[X] = Z ∞ −∞ (x−µ)2f(x)dx= Z ∞ −∞ x− 1 2 2 f(x)dx= 1 4 >> mean(x) % es aprox. 0.5 >> var(x) % es aprox. 0.25

NOTA: como se indic´o en el apartado anterior, X ∼ Exp(λ = 2), donde E[X] = 1/λ y Var[X] = 1/λ2.

4. Sea X una variable aleatoria Rayleigh de par´ametro α cuya funci´on de densidad f(x) viene dada por f(x) = αxexp −α 2x 2 x >0 0 resto con media y varianza dadas por

µ=E[X] =

r

π 2α

(9)

σ2 =V [X] = 4−π 2α

a) ¿Cu´al ser´ıa el c´odigo para generar 50 valoresX conα= 0,17?

b) ¿Qu´e procedimientos num´ericos se podr´ıa usar para ver que se ha generado de forma correcta la v.a.X en el apartado anterior?

SOLUCI ´ON:

a) La forma de generarXes a trav´es del m´etodo de la funci´on inversa de la funci´on de distribuci´on. Para ello en primer lugar hay que calcular la funci´on de distribuci´on.

F(x) = Rx −∞0dt= 0 x≤0 Rx −∞αtexp − α 2t2 dt=R0xαtexp −α2t2dt x >0 con lo que F(x) = 0 x0 α −α212exp −α 2t 2t 0=− exp − α 2x 2 −1= 1−exp −α 2x 2 x >0

que cumple las cuatro propiedades para ser funci´on de distribuci´on (F(−∞) = 0, F(+∞) = 1,

mon´otona no decreciente y continua por la derecha).

En segundo lugar se utiliza el resultado te´orico de queY =F(X)sigue, siempre queF admita inversa, una U(0,1). A efectos pr´acticos este resultado se utiliza generando una u seg´un una

U(0,1) igualando aF(x) y despejandox en funci´on deu. Dado que u >0 se invierte F seg´un la expresi´on: 1−exp−α 2x 2=u 1−u= exp−α 2x 2 x2= −2 α Ln(1−u) x=± r −2 α Ln(1−u)

De la expresi´on anterior se toma la ra´ız positiva para quex > 0 que es donde se ha invertido

F. El pseudoc´odigo ser´ıa: - Generar u seg´un una U(0,1).

- Concluir quex=

q

−2

αLn(1−u) sigue la v.a. requerida (en este caso Rayleigh).

>> y=rand(50,1); >> alpha=0.17;

>> x=sqrt((-2/alpha)*log(1-y));

b) Podemos comprobar que la media observada y la desviaci´on t´ıpica obervada para losxgenerados son parecidos a los valores te´oricos:

(10)

>> media_teorica = sqrt(pi/(2*alpha)); >> media_teorica = 3.0397 >> var_teorica = (4-pi)/(2*alpha); >> var_teorica = 2.5247 >> mean(x) % aprox. 3.0397 >> var(x) % aprox. 2.5247

5. Decir si es verdadera o falsa la siguiente afirmaci´on. En caso de que sea verdadera demostrarlo y en caso de que sea falsa dar un contraejemplo o su valor correcto:

El c´odigo en MATLAB/Octave para generar 100 valores de una v.a “ Gompertz generalizada” con funci´on de distribuci´on

F(x) = 1−exp (−exp (x)) 0< x 0 resto es >> x=rand(100,1);

>> g=-log(1-x); % log es logaritmo neperiano SOLUCI ´ON:

X Es falsa. Para generar una v.a. continua cuya funci´on de distribuci´on admita inversa, se considera

F(x) =u

conu∼U(0,1)y se despeja lax. Por lo que

F(x) = 1−exp (−exp (x)) =u 1−u= exp (−exp (x))

ln (1−u) =−exp (x) x= ln (−ln (1−u)) Por tanto el c´odigo en MATLAB ser´ıa:

>> u=rand(1000,1); >> x=log(-log(1-u));

(11)

6. En una caseta de una feria se nos propone el siguiente juego. Hay que elegir un n´umero del 1 al 6. El feriante lanzar´a tres dados. Si sale el n´umero elegido en los tres dados recibiremos 3 euros, si sale en dos recibiremos 2 euros, si sale en uno recibiremos 1 euro y si no sale en ninguno, pagaremos 1 euro. ¿Es ventajoso el juego para nosotros? Resolverlo con una funci´on MATLAB/Octave.

SOLUCI ´ON:

XCreamos la funci´onjuego3dados.m:

%%% *.m file

function esperanza = juego3dados(n,k) u=unidrnd(6,n,3); a=(u==k); s=sum(a,2); g=-1*(s==0)+1*(s==1)+2*(s==2)+3*(s==3); esperanza=sum(g)/n; %%%

Utilizando esta la funci´onjuego3dados.m, observamos que para cualquier valor dek, la esper-anza es negativa, y por tanto el juego no es ventajoso. Se puede observar que el valor obtenido es aproximadamente el valor te´orico −0.08.

>> esperanza = juego3dados(1000,k)

2.3. Ejercicios propuestos

1. Utiliza el m´etodo de la transformaci´on inversa de la funci´on de distribuci´on para generar una variable aleatoria continua cuya funci´on de densidad sea

f(x) = 0 resto 1 18x 0< x <6 a) Calcular E [X].

b) Aplicar el m´etodo de la transformaci´on inversa para generar valores de la v.a.X.PISTA:

determinar en primer lugar la funci´on de distribuci´on FX(x).

c) Escribir el PSEUDOC ´ODIGO para generar valores de la v.a. X.

d) Escribir el c´odigo MATLAB/Octave para genera valores de la v.a.X.

e) Dada la v.a.Y = 1/X, determinar fY (y) por el teorema de la transformaci´on. Verificar quefY (y) cumple las dos propiedades para ser funci´on de densidad.

f) Determinar FY (y) a partir de fY (y) y directamente a partir de la definici´on FY (y) = P(Y ≤y). Verificar que FY (y) cumple las cuatro propiedades para ser funci´on de dis-tribuci´on.

(12)

h) Comprobar con MATLAB/Octave el valor te´orico de E[Y] por el m´etodo de la inversa aplicado aFY (y).

i) Comprobar con MATLAB/Octave el valor te´orico deE[Y] generando directamenteY = 1/X, con valoresX a partir del apartado c).

j) Comprobar con MATLAB/Octave, utilizando las v.a. X eY anteriores que E 1 X 6 = 1 E[X] (es decir que la esperanza no es un operador no lineal).

Referencias

Documento similar

Debido al riesgo de producir malformaciones congénitas graves, en la Unión Europea se han establecido una serie de requisitos para su prescripción y dispensación con un Plan

Como medida de precaución, puesto que talidomida se encuentra en el semen, todos los pacientes varones deben usar preservativos durante el tratamiento, durante la interrupción

Hasta en los moros de Granada habríamos de suponer conocimiento de los vaticinios del adivino céltico, si hubiéramos de tener por auténtica la «carta que el moro de Granada sabidor

No había pasado un día desde mi solemne entrada cuando, para que el recuerdo me sirviera de advertencia, alguien se encargó de decirme que sobre aquellas losas habían rodado

En nuestra opinión, las cuentas anuales de la Entidad Pública Empresarial Red.es correspondientes al ejercicio 2012 representan en todos los aspectos

La Intervención General de la Administración del Estado, a través de la Oficina Nacional de Auditoría, en uso de las competencias que le atribuye el artículo 168

La Intervención General de la Administración del Estado, a través de la Oficina Nacional de Auditoría, en uso de las competencias que le atribuye el artículo

La campaña ha consistido en la revisión del etiquetado e instrucciones de uso de todos los ter- mómetros digitales comunicados, así como de la documentación técnica adicional de