Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


Ejercicios modelos de probabilidad, Ejercicios de Estadística

Asignatura: Estadística, Profesor: , Carrera: Ingeniería en Tecnologías de Telecomunicación, Universidad: UC3M

Tipo: Ejercicios

2016/2017

Subido el 08/06/2017

isafmr
isafmr 🇪🇸

1 documento

1 / 14

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
INGENIER´
IA de TELECOMUNICACIONES
ESTAD´
ISTICA
2016-2017
PR ´
ACTICA 3. MODELOS DE PROBABILIDAD
OBJETIVOS: Introducci´on a modelos de probabilidad discretos y cont´ınuos as comunes.
Caracterizaci´on, representaci´on gr´afica. Resoluci´on mediante simulaci´on con MATLAB/Octave de
ejercicios propuestos.
1. Introducci´on
En general, para generar variables aleatorias cont´ınuas utilizaremos el etodo de la trans-
formaci´on inversa de la funci´on de distribuci´on (siempre que exista inversa). Para el caso de v.a.’s
discretas utilizaremos una condici´on booleana. No obstante, MATLAB/Octave dispone de funciones
propias para generar variables aleatorias de modelos de probabilidad conocidos.
La siguienta tabla resume algunas de las funciones as importantes para la generaci´on de ume-
ros aleatorios de modelos de probabilidad para variables cont´ınuas y discretas en MATLAB/Octave:
Funci´on Descripci´on Sintaxis
normrnd noaleatorios N(µ, σ)normrnd(MU,SIGMA,m,n)
randn noaleatorios N(0,1) randn(m,n)
exprnd noaleatorios Exp(λ)exprnd(1/lambda,m,n)
binornd noaleatorios Bin(n, p)binornd(N,P,m,n)
poissrnd noaleatorios Poiss(λ)poissrnd(lambda,m,n)
donde mynson el node filas y columnas a generar, respectivamente.
2. Caso cont´ınuo
Distribuci´on normal
Recordemos que la distribuci´on Normal tiene como funci´on de densidad:
X N(µ, σ) : f(x) = 1
σ2πexp1
2σ2(xµ)2,donde xR, σ > 0 y µR.
1. Crea una funci´on en MATLAB/Octave que proporcione los valores de la funci´on de densidad
de una variable aleatoria con distribuci´on normal N(µ, σ).
Ingenier
´
ıa de Telecomunicaciones - Estad´ıstica (2016-2017) - PR´
ACTICA 3. MODELOS DE PROBABILIDAD 1
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe

Vista previa parcial del texto

¡Descarga Ejercicios modelos de probabilidad y más Ejercicios en PDF de Estadística solo en Docsity!

INGENIER´IA de TELECOMUNICACIONES

ESTAD´ISTICA

PR ´ACTICA 3. MODELOS DE PROBABILIDAD

OBJETIVOS: Introducci´on a modelos de probabilidad discretos y cont´ınuos m´as comunes. Caracterizaci´on, representaci´on gr´afica. Resoluci´on mediante simulaci´on con MATLAB/Octave de ejercicios propuestos.

1. Introducci´on

En general, para generar variables aleatorias cont´ınuas utilizaremos el m´etodo de la trans- formaci´on inversa de la funci´on de distribuci´on (siempre que exista inversa). Para el caso de v.a.’s discretas utilizaremos una condici´on booleana. No obstante, MATLAB/Octave dispone de funciones propias para generar variables aleatorias de modelos de probabilidad conocidos.

La siguienta tabla resume algunas de las funciones m´as importantes para la generaci´on de n´ume- ros aleatorios de modelos de probabilidad para variables cont´ınuas y discretas en MATLAB/Octave:

Funci´on Descripci´on Sintaxis normrnd no^ aleatorios N (μ, σ) normrnd(MU,SIGMA,m,n) randn no^ aleatorios N (0, 1) randn(m,n) exprnd no^ aleatorios Exp(λ) exprnd(1/lambda,m,n) binornd no^ aleatorios Bin(n, p) binornd(N,P,m,n) poissrnd no^ aleatorios Poiss(λ) poissrnd(lambda,m,n)

donde m y n son el no^ de filas y columnas a generar, respectivamente.

2. Caso cont´ınuo

Distribuci´on normal

Recordemos que la distribuci´on Normal tiene como funci´on de densidad:

X ∼ N (μ, σ) : f (x) =

σ

2 π

exp−^

1 2 σ^2 (x−μ) 2 , donde x ∈ R, σ > 0 y μ ∈ R.

  1. Crea una funci´on en MATLAB/Octave que proporcione los valores de la funci´on de densidad de una variable aleatoria con distribuci´on normal N (μ, σ).

%% creamos la funci´on fd_normal.m

function y = fd_normal(x, mu, sigma) for i = 1:length(x) y(i) = exp(-0.5((x(i)-mu)/sigma)^2) / (sigmasqrt(2*pi)); end end

%%

  1. Utilizando la funci´on creada en el apartado anterior, representa gr´aficamente la funci´on de densidad de la v.a. normal para distintos valores de los par´ametros de la distribuci´on:

a) Manteniendo σ y variando μ ⇒ Considera 3 distribuciones Normales con desvia- ci´on t´ıpica constante (σ = 1) y con diferentes medias (μ =-1,0,1). ¿C´omo afectan los par´ametros a la forma de la distribuci´on? ¿y a su posici´on en los ejes? b) Mantiendo μ y variando σ ⇒ Considera 3 distribuciones Normales con media cons- tante (μ = 0) y variando la desviaci´on t´ıpica (σ =0.3,0.5,1.2). Analizar c´omo afecta a la forma de la distribuci´on y c´omo afecta a su posici´on en los ejes.

% a)

x = -5:0.01:5; y1 = fd_normal(x,-1,1); % y1 es Normal con media -1 y desv. 1 y2 = fd_normal(x, 0,1); % y2 es Normal con media 0 y desv. 1 y3 = fd_normal(x, 1,1); % y2 es Normal con media +1 y desv. 1

% b)

y4 = fd_normal(x, 0, 0.3); % y4 es Normal con media 0 y desv. 0. y5 = fd_normal(x, 0, 0.5); % y5 es Normal con media 0 y desv. 0. y6 = fd_normal(x, 0, 1.2); % y6 es Normal con media 0 y desv. 1.

Una vez generadas las 6 variables aleatorias normales, vamos a compararlas gr´aficamente usando los comandos subplot^1 , plot, hold on y hold off. (^1) Mediante la funci´on subplot podemos crear varios gr´aficos a la vez. En el ejemplo, subplot(1,2,i), significa que dibujamos en 1 fila y 2 columnas el gr´afico i, con i = 1, 2.

  1. Genera en MATLAB/Octave n´umeros aleatorios de la distribuci´on normal.

En MATLAB/Octave es posible generar n´umeros aleatorios de una distribuci´on normal (μ, σ), a trav´es de funciones propias de la librer´ıa estad´ıstica stats. As´ı, podemos crear datos normales (n filas y m columnas) de la siguiente manera:

x = normrnd(MU,SIGMA,m,n);

El comando randn permite generar n´umeros aleatorios de una distribuci´on normal est´andar (es decir, de media μ = 0 y σ = 1). A partir de randn, es posible generar n´umeros aleatorios ∼ N (μ, σ) del siguiente modo: sea Z ∼ N (0, 1), podemos obtener X ∼ N (μ, σ), dada la siguiente relaci´on: X = Z · σ + μ

z = randn(m,n); x = z*sigma + mu;

Podemos comprobar que los n´umeros generados son N (μ, σ) representando el histograma:

m = 1000; n = 1; sigma = 0.75; mu = 1; z = randn(m,n); x = z*sigma + mu; hist(x)

-1.5^0 -1 -0.5 0 0.5 1 1.5 2 2.5 3 3.

50

100

150

200

250

300

  1. Funci´on de distribuci´on acumulada. En MATLAB/Octave, el comando normcdf(x,mu,sigma) devuelve la probabilidad p = P (X ≤ x) de una distribuci´on normal de par´ametros μ y σ. Representa la funci´on de distribuci´on acumulada, para los valores de x ∈ [− 3 , 3], siendo X una normal est´andar.

x = [-3:0.01:3]; mu = 0; sigma = 1; p = normcdf(x,mu,sigma); % p = normcdf(x) proporciona la % f. distr. acum. de una N(0,1). % Su inversa es x = norminv(p,mu,sigma)

plot(x,p) grid on

(^0) -3 -2 -1 0 1 2 3

1

3. Caso discreto

Distribuci´on binomial

La funci´on de probabilidad p(x) de la distribuci´on binomial Bin(n, p) es:

X ∼ Bin(n, p) : p(x) =

n x

px(1 − p)n−x^ donde x = 0, 1 , ..., n y 0 ≤ p < 1.

Siendo n el n´umero de intentos o de ensayos y el par´ametro p la probabilidad de que el suceso ´exito ocurra.

  1. Crea una funci´on en MATLAB/Octave que permita representar funciones de probabilidad de una distribuci´on binomial.

%% creamos la funci´on fp_binomial.m

function y = fp_binomial(x,n,p) for i = 1:length(x) y(i) = (nchoosek(n,x(i)))(p^x(i))((1-p)^(n-x(i))); end end

%%

NOTA: La funci´on nchoosek(n,x) permite calcular

(n x

. Sin embargo, para un tama˜no de n grande, el resultado puede no ser exacto. Por ello, para un tama˜no n grande, emplearemos

% Caso a):

x5 = 0:5 % creamos una secuencia de 0 a 5 y5 = fp_binomial(x5,5,0.2) % llamamos a la funci´on fp_binomial.m sum(y5) % comprobamos que la suma de las probabilidades es 1

x10 = 0:10; y10 = fp_binomial(x10,10,0.2);

x20 = 0:20; y20 = fp_binomial(x20,20,0.2);

% Caso b):

x100 = 0:100;

y1 = fp_binomialN(x100, 100, 0.1); % llamamos a la funci´on y2 = fp_binomialN(x100, 100, 0.5); % fp_binomialN.m y3 = fp_binomialN(x100, 100, 0.8);

Podemos comparar ambos gr´aficos, como vimos en el caso de la distribuci´on Normal.

subplot(1,2,1) plot(x5,y5,’.’, x10,y10, ’+’, x20, y20, ’’); legend(’n=5, p=0.2’, ’n=10, p=0.2’, ’n=20, p=0.2’) subplot(1,2,2) plot(x100, y1, ’.’, x100, y2, ’+’, x100, y3, ’’); legend(’n = 100, p = 0.1’, ’n = 100, p = 0.5’, ’n = 100, p = 0.8’);

(^00 5 10 15 )

0.45 n=5, p=0. n=10, p=0.2n=20, p=0.

(^00 20 40 60 80 )

0.14 n = 100 , p = 0. n = 100 , p = 0.5n = 100 , p = 0.

  1. Sabiendo que la distribuci´on Bin(n, p) es la suma de n variables aleatorias Bernouilli inde- pendientes: Binom(n, p) = Bern(p) + ... + Bern(p) ︸ ︷︷ ︸ n veces Crea una funci´on en MATLAB/Octave para generar n´umeros aleatorios de la distribuci´on binomial.

%% creamos la funci´on na_binomial.m

function y= na_binomial(n_dat, n, p) % ‘n_dat’ es el % no^ de datos binomiales % que se van a generar

prob = rand(n_dat,n); % realizamos ‘n’ experimentos exitos = prob < p; % si se cumple, entonces se ha producido un exito y = sum(exitos); % sumamos todos los ´exitos producidos end

%%

En el Command Window:

% Obtenemos 10 n´umeros binomiales obtenidos de sumar el no % de ´exitos de n intentos con una probabilidad de ´exito p

y = na_binomial(10,n,p)

Num´ericamente, podemos verificar las propiedades de la media y la varianza de la distri- buci´on binomial:

E[X] = n × p Var[X] = n × p × q

n = 10000; p = 0.1; y = na_binomial(10,n,p);

mean(y) % aprox. 1 var(y) % aprox. 0.

donde α y β son par´ametros dados. Indica c´omo generar´ıas en MATLAB/Octave variables aleatorias Weibull.

X Mediante el m´etodo de la inversa, tenemos que considerando u = FX (x),

1 − e(x/β) α = u e(x/β)

α = 1 − u (x/β)α^ = − ln(1 − u) x/β = [− ln(1 − u)] α^1 x = β[− ln(1 − u)] α^1

Por tanto:

n = 1000; % Por ejemplo u = rand(n,1); x = beta*(-log(1-u)).^(1/alpha);

5. Funci´on Q

La funci´on Q se define como la complementaria a la funci´on de distribuci´on de la N (0, 1), es decir como Q(x) = P (X > x) siendo X ∼ N (0, 1)

Supongamos una funci´on Q tiene por cotas superiores (cs1) y (cs2) y cota inferior (ci) dadas por

Q(x) ≤

e−^ x 22 para todo x ≥ 0 (cs1)

Q(x) <

2 πx

e−^ x 22 para todo x > 0 (cs2)

Q(x) >

2 πx

x^2

e−^

x^2 (^2) para todo x > 1 (ci)

a) La funci´on de MATLAB normcdf(x,MU,SIGMA) devuelve la funci´on de distribuci´on acumu- lada de una N (μ, σ). ¿C´omo representar´ıas en MATLAB la funci´on Q?

Q = 1 - normcdf(x,0,1)

b) Escribe el c´odigo en MATLAB para representar gr´aficamente la funci´on Q en el intervalo (0, 5] junto con las cotas superiores cs1 y cs2 y la cota inferior ci. El resultado que se ha de obtener ser´a similar al de la figura 1. NOTA: Representa x ∈ (0, 5] como x=[0.01:0.01:5]. Para la cota inferior ci, observa que existe una as´ıntota vertical en x = 1, por tanto, define xi=[1.01:0.01:5] tan s´olo para esta cota. Utiliza una escala logar´ıtmica para representar gr´aficamente las cotas.

x1 = [1.01:0.01:5];

for i = 1:length(x1) ci(i) = (1/x1(i)sqrt(2pi))(1- (1/x1(i)^2))exp(-0.5*x1(i)^2); end

x = [0.01:0.01:5];

for i = 1:length(x) cs1(i) = 0.5exp(-0.5x(i)^2); cs2(i) = (1/(x(i)sqrt(2pi))) * exp(-0.5*x(i)^2); end

q = 1- normcdf(x,0,1);

plot(x, log(q), ‘black’) hold on plot(x, log(cs1), ‘r’) plot(x, log(cs2), ‘g’) plot(x1, log(ci), ‘m’) hold off

-20 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

0

5

(^10) log(q) log(cs1)log(cs2) log(ci)

Figura 1: Representaci´on gr´afica de la funci´on Q con las cotas en escala logar´ıtmica log(cs1), log(cs2) y log(ci). La l´ınea vertical representa la as´ıntota en x = 1.

b) Si se realizan 10 actividades seg´un la v.a. X, calcular, de forma anal´ıtica y con MATLAB/Octave, la probabilidad de que exactamente en tres de ellas, el tiempo que se emplee en realizar cada una sea superior a una hora y media.

a) De forma anal´ıtica, se tiene que:

P (X > 1 ,5) =

x=1, 5

f (x) dx =

x=1, 5

(x + 1) dx =

[

x^2

] 2

[x]^21 , 5

Para resolverlo con MATLAB/Octave, hay que utilizar el m´etodo de la inversa, con lo que hay que calcular previamente la funci´on de distribuci´on, que es

F (x) =

∫ 0 x <^0 x 0

1 4 (y^ + 1)^ dy^ =^

1 8 x

4 x^0 ≤^ x <^2 1 2 ≤ x

Y ahora hay que invertir la funci´on de distribuci´on: 1 8

x^2 +

x = u

x^2 + 2x − 8 u = 0

x =

4 + 32u 2 Dada la definici´on de la v.a. X la soluci´on negativa no es v´alida, con lo que el proce- dimiento para generarla es: u ∼ U (0, 1)

x =

4 + 32u 2 El c´odigo MATLAB/Octave para resolver este apartado es:

u = rand(1000,1); x = (-2+sqrt(4+32*u))/2; prob = sum(x>1.5)/1000 % aprox. 0.

b) De forma anal´ıtica, si se define Y como la v.a. “n´umero de actividades entre las 10 realizadas en las que el tiempo que se emplea es superior a una hora y media”, se tiene que Y ∼ Bin

n = 10, p = (^1132)

y hay que calcular

P (Y = 3) =

El c´odigo MATLAB/Octave para resolver este apartado es:

u = rand(1000,10); x = (-2+sqrt(4+32*u))/2; conta = (x>1.5); suma = sum(conta,2); prob = sum(suma==3)/1000 % aprox. 0.