Prácticas Ingeniería de Telecomunicaciones

Anuncio
INGENIERÍA de TELECOMUNICACIONES
ESTADÍSTICA
2015-2016
PRÁCTICA 4. VECTORES ALEATORIOS & PROCESOS ESTOCÁSTICOS
1.
Vectores Aleatorios
1. Sea (X, Y ) una v.a. bidimensional con
X ∼ U (0, T )
Y |X = x ∼ U (0, T − x)
a) Calcular de forma teórica que E [X] =
T
2
y E [XY ] =
T2
12 .
b) Comentar lı́nea a lı́nea el siguiente código de MATLAB y decir el valor aproximado que
tomará a.
>> T = 5;
>> x = rand(1000,1)*T;
>> y = rand(1000,1).*(T-x);
>> a = mean(x.*y);
SOLUCIÓN:
a) Al ser X ∼ U (0, T ), se tiene que su esperanza será el punto medio del intervalo
T
(0, T ), por lo que E [X] = 0+T
2 = 2 . Por otra parte, al ser la condicionada igual
a la conjunta entre la marginal, la conjunta será el producto de la marginal por la
condicionada:
1 1
T T −x 0 < x < T, 0 < y < T − x
fX,Y (x, y) =
0
resto
Por último, para calcular E [XY ] se tiene que
Z
T
Z
T −x
E [XY ] =
T
Z
T −x
xyfX,Y (x, y) dydx =
x=0
T
y=0
Z
=
x
x=0
=
Z
11
2T
Z
1 1
1 2
y
T T −x 2
T
x=0
T −x
Z
xy
x=0
T
y=0
1 1
dydx
T T −x
1 1 1
(T − x)2 dx
T
T
−
x
2
x=0
0
T
1
1
1
1 3 1 1
T2
xT − x2 dx =
T x2 − x3 =
T
−
=
2T
2
3
2T
2 3
12
0
dx =
x
Ingenierı́a de Telecomunicaciones - Estadı́stica (2015-2016) - PRÁCTICA 4. VEC. ALEAT. & PROC. ESTOCÁSTICOS1
b) El vector x consta de 1000 valores según una U (0, T ) . El vector y de 1000 valores
según una U (0, T − x) . El valor aproximado de a será
E [XY ] =
T2
≈ 2,0833
12
2. Sean X e Y v.a.’s independientes con X continua e Y discreta, dadas por X ∼ U (−1, 1) e
0
2
Y ∼
1/3 2/3
donde con la notación anterior se quiere indicar que la v.a. Y toma el valor 0 con probabilidad
1/3 y el valor 2 con probabilidad 2/3.
a) Se define R como la v.a. R = X + Y . Deducir utilizando el Teorema de la Probabilidad
Total que

0
r < −1


 r+1
−1 ≤ r < 1
6
FR (r) =
r
1≤r<3


 3
1
3≤r
b) Calcular fR (r) .
c) Demostrar que E [R] = 43 .
d ) Comentar lı́nea a lı́nea el siguiente código de MATLAB y decir el valor aproximado que
tomará a.
>> x = unifrnd(-1,1,10000,1);
>> uy = rand(10000,1);
>> y = 0*(uy<1/3)+2*(uy>=1/3);
>> r = x+y;
>> a = mean(r);
e) Comprobar con MATLAB/Octave el resultado obtenido en el apartado b) para fR (r).
Ingenierı́a de Telecomunicaciones - Estadı́stica (2015-2016) - PRÁCTICA 4. VEC. ALEAT. & PROC. ESTOCÁSTICOS2
SOLUCIÓN:
a) Utilizando el Teorema de la Probabilidad Total, tenemos que:
FR (r) = P (R ≤ r) = P (R ≤ r|Y = 0) P (Y = 0) + P (R ≤ r|Y = 2) P (Y = 2)
1
2
1
2
= P (X + 0 ≤ r) · + P (X + 2 ≤ r) · = FX (r) + FX (r − 2) ·
3
3
3
3
Recordando que
FX (x) =





0
=
1
x−(−1)
1−(−1)
x+1
2
x < −1
−1 ≤ x < 1
1≤x
se tiene que




2
1
FR (r) = FX (r) + FX (r − 2) · =
3
3 



0
r < −1


 r+1
−1
≤r<1
6
=
r
1
≤
r<3


 3
1
3≤r
0 · 13 + 0 · 23
2
r+1 1
2 · 3 +0· 3
1 · 13 + r−2+1
· 23
2
1
2
1· 3 +1· 3
r < −1
−1 ≤ r < 1
1≤r<3
3≤r
FR efectivamente cumple las 4 propiedades para ser función de distribución.
b) Derivando la función de distribución se tiene que:

0
r < −1


 1
−1
≤r<1
6
fR (r) =
1
1≤r<3


 3
0
3≤r
c) Utilizando la linealidad de la esperanza, se tiene que
1
2
4
E [R] = E [X] + E [Y ] = 0 + 0 · + 2 ·
=
3
3
3
Utilizando la función de densidad se tiene que
Z +∞
Z 3
Z 1
1
1
E [R] =
rfR (r) dr =
r dr +
r dr
r=1 3
r=−∞
r=−1 6
1
3
1 1 2
1 1 2
1
1
8
4
=
r
+
r
=
· 0 + (9 − 1) = =
6 2
3 2
12
6
6
3
−1
1
Ingenierı́a de Telecomunicaciones - Estadı́stica (2015-2016) - PRÁCTICA 4. VEC. ALEAT. & PROC. ESTOCÁSTICOS3
d) El vector x consta de 10000 valores según una U (−1, 1) . El vector uy es un vector
auxiliar que sirve para generar utilizando variables booleanas que y toma el valor 0
con probabilidad 1/3 y el valor 2 con probabilidad 2/3. El valor aproximado de a
será
4
E [R] = ≈ 1, 3333
3
e) Para comprobar en MATLAB/Octave el resultado de fR (r), podemos realizar el
histograma de r, en el command window:
>> hist(r)
El resultado se asemeja al de la función de densidad definida a trozos en el apartado
b).
1.1.
Ejemplos extra
1. Si sabe que una variable aleatoria Laplace Lap (λ) verifica que es igual a la diferencia de dos
exponenciales independientes de igual parámetro λ, dar el pseudocódigo para generar una
Lap (λ = 3).
SOLUCIÓN:
Recordar que para generar una exp (λ) hay que utilizar el método de la inversa, que
proporciona en este caso que si U ∼ U (0, 1) entonces
1
− Ln (1 − U ) ∼ exp (λ)
λ
Por lo tanto el pseudocódigo para generar una Lap (λ = 3) es:
Generar u1 (según una U (0, 1)).
Generar exp1 (con la expresión − λ1 Ln (1 − u1)).
Generar u2 (según una U (0, 1)).
Generar exp2 (con la expresión − λ1 Ln (1 − u2)).
Generar lap a través de la expresión exp1-exp2.
p
2. Se define una variable aleatoria de Maxwell-Boltzmann como Y = X12 + X22 + X32 , donde
las Xi con i = 1, 2, 3 son v.a.’s i.i.d. que siguen una distribución Normal de parametros µi = 0
y σi = λ para i = 1, 2, 3, luego se tiene que Y ∼ M (λ). Genera en MATLAB/Octave una
muestra aleatoria de Y ∼ M (λ), con λ = 3.
Ingenierı́a de Telecomunicaciones - Estadı́stica (2015-2016) - PRÁCTICA 4. VEC. ALEAT. & PROC. ESTOCÁSTICOS4
SOLUCIÓN:
Utilizando el Teorema Central del Lı́mite para un m grande (por ejemplo, m = 30)
r !
30
X
5
,
Ui ∼ N 15,
2
i=1
donde Ui son v.a.’s iid que siguen una distribución uniforme en el intervalo (0, 1), y
" 30 #
30
X
X
1
E
Ui =
E [Ui ] = 30 · = 15
2
i=1
i=1
" 30 #
30
X
X
5
1
ind.
=
Var
Ui =
Var [Ui ] = 30 ·
12
2
i=1
i=1
Por lo tanto,
P30
Ui
i=1q
− 15
∼ N (0, 1)
5
2

λ

U
−
15
i=1q i
 ∼ N (0, λ)
P30
5
2
En MATLAB/Octave:
>> lambda = 3;
>> u = rand(100,30);
>> normal = lambda*((sum(u’)-15)/sqrt(5/2));
Para el caso particular se tiene que:
>>
>>
>>
>>
>>
>>
>>
>>
lambda = 3;
u1 = rand(100,30);
normal1 = lambda*((sum(u1’)-15)/sqrt(5/2));
u2 = rand(100,30);
normal2 = lambda*((sum(u2’)-15)/sqrt(5/2));
u3 = rand(100,30);
normal3 = lambda*((sum(u3’)-15)/sqrt(5/2));
maxwell = sqrt(normal1.^2+normal2.^2+normal3.^2);
Ingenierı́a de Telecomunicaciones - Estadı́stica (2015-2016) - PRÁCTICA 4. VEC. ALEAT. & PROC. ESTOCÁSTICOS5
2.
Procesos Estocásticos
2.1.
Proceso de Bernoulli
Sea X(t) un proceso estocástico de Bernoulli definido por:
+1 con probabilidad p
X(t) =
−1 con probabilidad q = 1 − p
a) Crea una función en MATLAB/Octave para generar un proceso de Bernoulli con probabilidad
p. Representa gráficamente el proceso.
% Creamos la función bernoulli.m
function x = bernoulli(p,T,color)
u = rand(T,1);
% Generamos una uniforme(0,1)
x = 1*(u<=p)+(-1)*(u>p);
% Mediante la condición booleana,
% obtenemos +1 con probabilidad p y
% -1 con probabilidad 1-p
stairs(cumsum(x), color); % cumsum calcula la suma acumulada;
% representamos el proceso con el commando
% stairs
end
La función bernouilli.m genera un proceso de Bernoulli X(t), t = 1, ..., T , con probabilidad p, a partir de una uniforme discreta, X(t) ∼ Ud (−1, 1). En el command window:
10
8
>> p = 0.5;
>> T = 100;
>> x = bernoulli(p,T,’b’)
6
4
2
0
-2
-4
0
10
20
30
40
50
60
70
80
90
100
b) Genera otro proceso X(t) con probabilidad p = 1/4 y observa las diferencias con respecto al
proceso anterior.
Ingenierı́a de Telecomunicaciones - Estadı́stica (2015-2016) - PRÁCTICA 4. VEC. ALEAT. & PROC. ESTOCÁSTICOS6
10
0
>>
>>
>>
>>
x1 =
hold
x2 =
hold
bernoulli(0.5,100,’b’)
on
bernoulli(0.25,100,’g’)
off
p=0.5
-10
p=0.25
-20
-30
-40
-50
-60
2.2.
0
10
20
30
40
50
60
70
80
90
100
Proceso de Poisson
El proceso de Poisson mide el número de sucesos en el intervalo [0, t), por tanto
X(t) = “Número de sucesos hasta el instante t” ∼ Poiss(λt)
Genera en MATLAB/Octave una función que simule un proceso de Poisson y en la que los
tiempos entre sucesos se generen mediante una variable aleatoria exponencial.
% Creamos la función poisson.m que genera un proceso de Poisson donde
% lambda es la tasa de llegadas.
function X = poisson(lambda,Tmax)
X(1) = exprnd(1/lambda); % generamos el tiempo del 1er suceso
i=1;
while X(i) < Tmax;
% En el bucle while acumulamos los sucesos
% que se van produciendo a lo largo del
% intervalo [0,Tmax)
X(i+1) = X(i)+exprnd(1/lambda);
i = i+1;
end
% Representamos gráficamente el proceso y la tasa de llegadas
subplot(1,2,1)
stairs([0,X(1:(i-1)),Tmax], [0,1:(i-1),i-1]);
title(’Proceso de Poisson’)
subplot(1,2,2)
plot(X(1:(i-1)),zeros(i-1),’.’);
title(’Llegadas exponenciales’)
end
Ingenierı́a de Telecomunicaciones - Estadı́stica (2015-2016) - PRÁCTICA 4. VEC. ALEAT. & PROC. ESTOCÁSTICOS7
En el command window:
>> lambda = 0.1;
>> Tmax = 100;
>> x = poisson(lambda,Tmax)
Proceso de Poisson
Llegadas exponenciales
10
1
9
0.8
8
0.6
7
0.4
6
0.2
5
0
4
−0.2
3
−0.4
2
−0.6
1
−0.8
0
0
20
40
60
80
100
−1
0
20
40
60
80
100
Esta Figura muestra que se están produciendo los sucesos en la proporción esperada (tal
y como generamos el tiempo entre sucesos como una exponencial con media λ1 = 10, es
decir, 1 suceso por cada 10 unidades de tiempo). Por definición, un proceso de Poisson
es una función no decreciente, lo cual explica la tendencia lineal creciente. La Figura de
la derecha muestra los sucesos o llegadas (indicados por puntos) que han ocurrido en el
intervalo de tiempo. El valor esperado es E[X(t)] = λt.
2.3.
Proceso Armónico de amplitud aleatoria
Considere el proceso estocástico determinado por:
X(t) = A · cos(tω),
donde ω es un parámetro de frecuencia y A es una variable
uniforme discreta. Genera
π πaleatoria
en MATLAB/Octave el proceso estocástico X(t) con ω ∈ 10 , 5 y A ∼ Ud{1, 2, ..., 6}.
Ingenierı́a de Telecomunicaciones - Estadı́stica (2015-2016) - PRÁCTICA 4. VEC. ALEAT. & PROC. ESTOCÁSTICOS8
SOLUCIÓN
Generamos A ∼ Ud{1, 2, ..., 6} de la siguiente forma:
>> u = rand(1,1);
>> A = 1 + floor(u*6);
Otra manera alternativa para generar A es mediante la función unidrnd:
>> A = unidrnd(6);
Finalmente, generamos X(t) para un parámetro de frecuencia, ω =
π
10 :
>> t = 1:150;
>> X = A * cos(t’ * pi/10);
Representamos gráficamente el proceso X(t)
>> plot(X)
4
3
2
1
0
-1
-2
-3
-4
0
50
100
150
También podemos representar el proceso X(t) para el mismo A y para ω =
compararlo con el anterior:
>>
>>
>>
>>
π
5,
y
XX = A * cos(t’ * pi/5);
hold on
plot(XX, ’g’)
hold off
4
w = pi/10
3
2
w = pi/5
1
0
-1
-2
-3
-4
0
50
100
150
Ingenierı́a de Telecomunicaciones - Estadı́stica (2015-2016) - PRÁCTICA 4. VEC. ALEAT. & PROC. ESTOCÁSTICOS9
2.4.
Proceso Gaussiano Autorregressivo de orden 1: AR(1)
Generar T = 150 valores de un proceso autorregresivo de orden 1, AR(1)
xt = αxt−1 + et
donde et ∼ N (0, 1) son independientes y α es el parámetro autorregresivo.
SOLUCIÓN
Comenzamos con un parámetro α = 0,8. Inicializamos el primer valor x1 = e1
>>
>>
>>
>>
>>
e = randn(150,1);
x = zeros(150,1);
x(1)= e(1);
alpha = 0.8;
for i = 2:150
x(i) = alpha*x(i-1) + e(i);
end
>> plot(x)
Otra forma de crear el proceso AR(1), serı́a generar una serie larga y quedarnos con
las últimas 150 observaciones, para evitar comenzar con un valor concreto x1 = e1 .
>>
>>
>>
>>
>>
e = randn(300,1);
x = zeros(300,1);
x(1)= e(1);
alpha = 0.8;
for i = 2:300
x(i) = alpha*x(i-1) + e(i);
end
>> x = x(151:300);
>> plot(x)
5
4
3
2
1
0
-1
-2
-3
-4
0
50
100
150
Ingenierı́a de Telecomunicaciones - Estadı́stica (2015-2016) - PRÁCTICA 4. VEC. ALEAT. & PROC. ESTOCÁSTICOS10
Descargar