Está en la página 1de 34

DEPARTAMENTO DE ELCTRICA ELECTRNICA

CARRERA DE ELECTRNICA
AUTOMATIZACIN Y CONTROL
PROCESOS ESTOCSTICOS
Est.Ivn Altamirano-Gareth Espinoza

Carrera:Electrnica
INTRODUCCIN
Cuando se trata de dos o ms variables, la relacin funcional entre las
variables es a menudo de inters. Para los datos de recuento, un modelo que se
utiliza con frecuencia es el modelo de regresin de Poisson y aplicaciones son
encontrado en la mayora de las ciencias: la tecnologa, la medicina, etc. El
modelo de regresin de Poisson se ejecuta tambin de muchos paquetes para el
anlisis estadstico de los datos. En este laboratorio de computacin,
aprender ms sobre:

El modelo de regresin de Poisson y la forma de estimar los parmetros


del modelo.
La seleccin del modelo, es decir, el nmero de variables explicativas
para su uso.
Antes de comenzar la prctica de laboratorio, lea la teora y tratar de
explicar la diferencia entre la regresin lineal y la regresin de Poisson.
Los Datos sobre Accidentes
La Administracin de Carreteras de Suecia es la autoridad nacional que tiene
la responsabilidad general de todo el sistema de transporte por carretera. Una
cuestin fundamental es la capacidad de seguridad vial y el trabajo continuo
para mejorar la seguridad vial que se realiza. Desde su sitio de Internet
http://www.trafikverket.se es posible obtener un nmero de diferentes
estadsticas sobre accidentes de trnsito. Nosotros vamos a usar en este
ejercicio los datos de accidentes de trfico entre los aos 1950-2010. Los
datos son usados para encajar un modelo regresin de Poisson al nmero de
personas fallecidas en accidentes de trfico. El modelo estimado es entonces
utilizado para predecir el nmero esperado de muertos en el ao 2016.
Comience por descargar estadsticas sobre el nmero de personas muertas en
accidentes de trfico reportados por la polica desde el ao 1950 hasta 2010.
Los datos se pueden obtener desde el sitio web mencionado. Sin embargo, los
datos obtenidos de esta manera se encuentran en el formato de una hoja de
Excel que incluye tambin cierta descripcin en la parte superior. Hemos
modificado este archivo a un formato ms manejable y ahora es el archivo
llamado lab4_1950.xls. Importar los datos al espacio de trabajo de Matlab
con el comando: data = xlsread('lab4_1950.xls');

La variable data ahora consiste de 9 columnas pero nosotros solo estamos


interesados en las columnas {1, 2, 5, 6}, es decir {ao, nmero de personas
muertas, numero de carros, cantidad de gasolina vendida}. Nosotros
distribuimos los datos en un arreglo estructurado.
Traffic = struct('year',data(:,1),... 'killed', data(:,2),'cars',
data(:,5),...
'petrol',data(:,6));
Datos del archivo lab4_1950.xls
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987

595
708
750
921
942
902
889
946
941
1,000
1,036
1,083
1,123
1,217
1,308
1,313
1,313
1,077
1,262
1,275
1,307
1,213
1,194
1,177
1,197
1,172
1,168
1,031
1,034
928
848
784
758
779
801
808
844
787

10,583
11,240
12,846
15,033
16,963
18,050
19,220
19,934
20,859
21,475
21,536
22,989
22,438
23,400
24,935
23,618
21,430
21,001
23,028
23,199
22,230
21,872
21,256
22,551
20,902
20,809
21,843
20,916
20,573
19,552
19,246
18,554
19,277
19,803
20,635
20,671
21,614
20,468

3,275
3,277
3,104
3,137
2,983
3,031
2,942
3,068
3,370
3,158
4,700
5,304
6,111
6,529
6,614
7,031
6,657
7,264
6,982
6,728
6,679
6,529
6,431
6,036
6,064
5,984
5,950
6,063
6,068
5,814
5,804
5,423

345
410
466
542
652
755
855
987
1,098
1,216
1,324
1,439
1,562
1,697
1,810
1,934
2,033
2,126
2,223
2,350
2,446
2,513
2,618
2,667
2,809
2,931
3,060
3,039
3,042
3,059
3,077
3,093
3,143
3,222
3,305
3,383
3,497
3,626

1,531
1,657
1,738
1,893
2,011
2,127
2,318
2,394
2,609
2,857
3,043
3,165
3,292
3,451
3,635
3,781
3,870
4,025
4,251
3,921
4,383
4,624
4,811
4,945
4,913
4,751
4,679
4,712
4,834
5,028
5,067
5,328
5,534

7,042
7,099
7,151
7,192
7,235
7,290
7,341
7,393
7,436
7,471
7,498
7,542
7,581
7,628
7,695
7,773
7,843
7,893
7,935
8,004
8,081
8,115
8,129
8,144
8,176
8,208
8,236
8,267
8,284
8,303
8,318
8,323
8,327
8,331
8,343
8,358
8,382
8,414

172.5
172.7
160.9
169.9
144.5
119.5
104.0
95.8
85.7
82.2
78.2
75.3
71.9
71.7
72.3
67.9
64.6
50.7
56.8
54.3
53.4
48.3
45.6
44.1
42.6
40.0
38.2
33.9
34.0
30.3
27.6
25.3
24.1
24.2
24.2
23.9
24.1
21.7

8.4
10.0
10.5
12.8
13.0
12.4
12.1
12.8
12.7
13.4
13.8
14.4
14.8
16.0
17.0
16.9
16.7
13.6
15.9
15.9
16.2
14.9
14.7
14.5
14.6
14.3
14.2
12.5
12.5
11.2
10.2
9.4
9.1
9.4
9.6
9.7
10.1
9.4

1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010

813
904
772
745
759
632
589
572
537
541
531
580
591
583
560
529
480
440
445
471
397
358
266

22,838
23,531
22,497
21,057
20,727
19,741
21,083
21,173
20,810
21,280
21,356
21,964
22,032
22,330
24,747
27,103
26,582
26,459
26,636
26,749
26,248
25,281
23,305

5,869
5,790
5,501
4,832
4,705
4,334
4,221
3,965
3,837
3,917
3,883
4,043
4,104
4,056
4,592
4,664
4,022
3,915
3,959
3,824
3,657
3,460
2,888

3,764
3,887
3,925
3,945
3,906
3,882
3,912
3,953
3,981
4,053
4,145
4,259
4,388
4,428
4,468
4,511
4,570
4,633
4,701
4,782
4,809
4,837
4,884

5,739
5,910
5,630
5,751
5,879
5,590
5,655
5,761
5,683
5,577
5,427
5,464
5,361
5,422
5,515
5,547
5,546
5,506
5,363
5,253
4,930
4,845
4,550

Traza el nmero de personas muertas por ao.


plot(traffic.year,traffic.killed,'o')
Solucin:

8,459
8,527
8,591
8,644
8,692
8,745
8,816
8,837
8,844
8,848
8,854
8,861
8,883
8,909
8,941
8,976
9,011
9,048
9,113
9,183
9,256
9,341
9,416

21.6
23.3
19.7
18.9
19.4
16.3
15.1
14.5
13.5
13.3
12.8
13.6
13.5
12.5
11.9
11.7
10.5
9.5
9.5
9.8
8.3
7.4
5.4

9.6
10.6
9.0
8.6
8.7
7.2
6.7
6.5
6.1
6.1
6.0
6.5
6.7
6.2
6.0
5.9
5.3
4.9
4.9
5.1
4.3
3.8
2.8

Trata de graficar el nmero de personas muertas vs el nmero de carros y el


consumo de petrleo. Es posible ver alguna conexin?

Lo interesante de los procesos estocsticos es esa magia que existe en cada


proceso, de cierta forma podramos pensar que cada suceso no tendra nada que
ver lo uno con lo otro pero al analizarlo desde esta perspectiva podemos
darnos cuenta cuan beneficioso es poder trabajar con este tipo de modelos ya
que nos permiten tener una idea de cmo se estn comportando o como se
comportaran cada uno de los sucesos , de acuerdo a los diferentes
acontecimientos.
Podemos observar que los carros que mayor consumo de gasolina tienen son los
ms propensos a sufrir accidentes, dado el hecho de que el exceso de velocidad
consume gasolina ms drsticamente de lo que hara un carro en condiciones
normales.
Del diagrama se puede observar que la tendencia de aumento del nmero de
personas muertas se rompe en torno al ao 1965. Y desde el ao 1970 el nmero
empieza a decrecer. Surgen entonces algunas preguntas. Por qu el nmero de
personas muertas se incrementa por los aos 1950 1965? Cul fue la razn
del freno a la tendencia de incremento? (Pista: manejo por el lado derecho
(1967), cinturones delanteros de seguridad en los nuevos carros (1969), uso
obligatorio del cinturn de seguridad (1975)).
Los autos fabricados desde la poca de 1950 no disponan de cinturn de
seguridad pero cada vez se poda alcanzar una mayor velocidad, por ende los
accidentes eran muy concurrentes, desde la poca que se empezaron a fabricar
autos con cinturones de seguridad la tendencia se detuvo pero fue necesario
una ley que obligue el uso del cinturn para que esta tendencia de accidentes
decrezca.

Modelo de regresin de Poisson.

Digamos que tenemos una secuencia de datos continuos,

ni ,i=1, , k , para

algn evento, por ejemplo el nmero de muertos en accidentes de trfico por


ao. Esta secuencia de datos es asumida como observaciones de variables

N 1 Po ( ui ) , (llamados respuestas o variables dependientes) con

aleatorias

ui=u i( x i 1 , , x ip ) . Las variables,

valor medio

x i1 , , x ip , son llamadas

variables independientes y se supone que midan los factores que influyen en


los datos de conteo.

ui

Restringimos

a ser una funcin lineal logartmica.

ui=exp ( o + 1 x i 1 ++ p x ip )
N i=n

Y entonces la probabilidad de

P ( N i=n ) =

P ( N i=n ) =

u i

( ui )

n!

ee

es,

, n=0, 1,2,

o + 1 x i1 + + p xip

(e + x
o

i1

++ p xip n

n!

Estimacin de los parmetros de modelamiento.


Para simplificar la notacin introducimos

x i0 =1

y ahora podemos escribir la

ecuacin anterior como,

Donde

N i P o ( ui )

para

i=1, , k .

La funcin de probabilidad se calcula como,

Donde

ui=u i ( p )

p=( 0 , , p )
probabilidad

es una funcin de
son los valores de

p=( 0 , , p ) . La estimada-ML

que maximizan la funcin de

L ( ) . A menudo es ms fcil para maximizar la funcin

logartmica de probabilidad,

Al establecer la derivada en primer orden de la probabilidad logartmica igual


a 0, tenemos un sistema de

( p+1)

ecuaciones no lineales en

j ,

Usualmente, el sistema de ecuaciones debe ser resuelta con algn mtodo


numrico, por ejemplo el algoritmo de Newton-Raphson. Esto es tambin el
mtodo implementado en la funcin lab4_regress, el cual fue escrito para el
propsito de este laboratorio y podemos encontrarlo en la pgina web del
curso. Utilice el comando type lab4_regres para ver el cdigo.
El Modelo de regresin de Poisson pertenece a una clase de modelos llamados
modelos lineales generalizados. En un modelo lineal generalizado (GLM), la
media a la respuesta, u, es modelada como una transformacin monotnica (no
lineal) de una funcin lineal de las variables independientes,

g ( 0+ 1 x1 + 2 x 2 , ) . La inversa de la transformacin funcin g es llamada la


funcin de enlace cannico. En la regresin de Poisson esta funcin es la
funcin logartmica, pero en otros es usado un enlace GML diferente, observe
doc glmfit para una lista de las funciones de enlace soportados en la
funcin de Matlab glmfit. Tambin, la respuesta toma diferentes
distribuciones, tal como la distribucin normal o binomial. A continuacin,
vamos a utilizar la funcin glmval relacionada con la funcin de enlace
logartmica para hacer predicciones a partir del modelo ajustado, observe el
cdigo de abajo.
Regresin de Poisson en datos del trfico.
Vamos ahora a tratar de ajustar el modelo de regresin de Poisson de los datos
del trfico del nmero de personas muertas en accidentes automovilsticos.
Arriba, podamos ver que haba un freno en el incremento de personas muertas
alrededor de los aos 1965 1975, principalmente debido a la mejora en la
seguridad del coche debido a la utilizacin de cinturones de seguridad. Debido
a esto, parece razonable adaptar a nuestro modelo a los datos a partir del ao
1975.
traffic = struct(year,...
data(26:end,1),killed,...
data(26:end,2),cars,...
data(26:end,5),petrol,...
data(26:end,6));
Pregunta 1: Cules son las variables independientes? Y cul es la respuesta?
Al analizar los diferentes casos podemos emitir el criterio que las variables
independientes son el nmero de carros, el ao y la cantidad en gasolina, y la
respuesta a estas variables vendra a ser el nmero de muertes.

Volver a dibujar el grfico de ms arriba para el conjunto de datos reducido.


plot(traffic.year,traffic.killed,o)
figure(1), hold on

Comenzamos el anlisis con una sola variable explicativa, traffic.year. Nota


el uso de la rutina de prediccin para los modelos lineales generalizados
glmval.
X1 = [traffic.year-...
mean(traffic.year)];
n = traffic.killed;
beta1 = lab4_regress(X1,n,1e-6);
my_fit = glmval(beta1, X1,'log');
plot(traffic.year, my_fit, 'b-')
Pregunta 2: Cul es su estimacin de

? Convence de que esta es la

solucin? Puedes utilizar el siguiente cdigo para este propsito:


X0=ones(size(X1));
X=[X0, X1];
mu=exp(X*beta1);
X'*(n-mu)
Parece ser la solucin? A juzgar por la grfica Este modelo es suficiente
para describir el nmero de personas muertas en accidentes de trfico?

Aunque este modelo simple parece capturar la tendencia general, la adicin de


nuevas variables independientes puede mejorar el ajuste.
X2 = [traffic.year-...
mean(traffic.year), traffic.cars-...
mean(traffic.cars)];
beta2 = lab4_regress(X2,n,1e-6);
my_fit = glmval(beta2, X2,'log');
plot(traffic.year, my_fit, 'g-')

Pregunta 3: Estimas que

han cambiado? El nmero de carros

mejora el ajuste?
Las estimaciones de beta0 y beta1 ha cambiado ligeramente. El ajuste fue
mejorada con
La representacin de nmero de coches.
Parece razonable tambin aadir la cantidad de gasolina que se vende ya que
esto reflejara el kilometraje total de todos los coches.

X3 = [traffic.year-mean(traffic.year), traffic.cars-mean(traffic.cars),
traffic.petrol-mean(traffic.petrol)];

beta3 = poiss_regress(X3,n,1e-6)
my_fit = glmval(beta3,X3,'log');
plot(traffic.year,my_fit,'r-')

Pregunta 4: Estimas qu

cambio ahora? Utiliza el comando de formato

largo para mostrar ms dgitos. Qu modelo elegiras?


Las estimaciones de beta han cambiado ligeramente. El modelo no parece ser
significativamente mejor que el anterior, pero capta mejor la variabilidad de
los ltimos aos. De acuerdo a lo estudiado podramos optar por utilizar la
ltima estimacin. Es decir este modelo.

Seleccin del modelo Desviacin.


No es siempre fcil decidir, solo mirando la grfica, cual modelo elegir.
Incluso aadiendo ms variables para mejorar el ajuste, en algo se incrementa
la incertidumbre de las estimaciones. Un mtodo de elegir la complejidad del
modelo es usar la desviacin y una prueba hipottica.

Dejemos

p={ 0 , 1 ,.. , p }

{ 0 , 1 ,.. , p }

ser las etimaciones-ML de los parmetros del modelo

del modelo total con p variables independientes y

las

estimaciones de un modelo simple donde solo q (q<p) de las variables


independientes han sido usadas. Entonces para un k largo, y bajo condiciones
de regularidad adecuadas, la desviacin

Es aproximadamente

x 2 ( pq )

distribuida si el modelo menos complejo es

cierto. Entonces, es posible probar si el modelo simple puede ser rechazado en


comparacin con el modelo completo.
Pregunta 5: Utilice chi2inv para obtener las cantidades de la distribucin

x 2 . Considere un 5% de nivel de significancia para su prueba.


La desviacin del modelo 3 comparado con el modelo 2 es calculada como:
DEV2 = 2*traffic.killed'*...
([X0,X3]*beta3-[X0,X2]*beta2)
Nivel de significacin del 5% ---------------------------> chi2inv (0,95, m-n)
Pregunta 6:
Es la mejora del modelo 3 significativa en comparacin
Repetir la prueba para el modelo de 2 contra el modelo
en contra el modelo 1? Qu modelo elegir? Cree usted
suficiente de variables independientes utilizadas para
trfico? Por qu?

con la del modelo 2?


1 y tambin el modelo 3
que haba un nmero
explicar las muertes de

q32 = chi2inv(0.95,(3-2))
DEV32 = 2*traffic.killed'*([X0,X3]*beta3-[X0,X2]*beta2)
% DEV32 > chi2(3-2) -> rechazo del modelo simple (model2)
q21 = chi2inv(0.95,(2-1))
DEV21 = 2*traffic.killed'*([X0,X2]*beta2-[X0,X1]*beta1)
% DEV21 > chi2(2-1) -> rechazo del modelo simple(model1)
q31 = chi2inv(0.95,(3-1))
DEV31 = 2*traffic.killed'*([X0,X3]*beta3-[X0,X1]*beta1)
% DEV31 > chi2(3-1) -> rechazo del modelo simple(model1)
% -> Elegimos el model 3. Parece que hay un nmero suficiente de
% Variables explicativas en el modelo 3 para explicar las muertes de trfico,
ya que
% El modelo parece coger la variabilidad del pozo de datos (figura 2).
%%%%%%%%%%%%%%%%%%%%%%%%
figure(3)
plot(traffic.year,traffic.cars,'o')
hold onplot(traffic.year,traffic.cars,'o')
hold on
xlabel('AO')

ylabel('Nbr DE CARROS')

Funcin de verosimilitud: L (beta) = Pi_i f (x_i | beta)


phat = regress(traffic.cars, [ones(length(traffic.cars),1) [1975:2010]'])
plot(1975:2016,phat(1)+phat(2)*[1975:2016],'r')
cars_2016 = phat(1)+phat(2)*2016
res = traffic.cars-(phat(1)+phat(2)*traffic.year);
figure(4)

plot(traffic.year,res,'o')
ylabel('Residuals')
xlabel('Year')
figure(5)
normplot(res)

Prediccin.
Ahora vamos a usar nuestro modelo para predecir el numero esperado de
fallecidos en accidentes de trnsito 6 aos despus, es decir en el 2016. Para
ello tenemos que tener una primera estimacin de la cantidad de automviles
por aos. Comenzar por graficar el nmero de carros vs aos.
figure(2)
plot(traffic.year, traffic.cars, o)
hold on

Nosotros podemos usar un modelo lineal simple para el numero de carros,


aos

xi .

y i= 0 + 1 x i + i

yi ,

Donde los errores,

i N (0, ( ) ) , son asumidas a ser independientes y

distribuidas idnticamente. Esto es llamado modelo de regresin lineal. Esto


es posible para estimar los parmetros con la mxima probabilidad, mtodo
similar que la regresin de Poisson citado arriba.
Pregunta 7: Cul es la funcin de probabilidad?
En Matlab, la funcin de retroceso computa los mnimos cuadrados (LS)
estimados del modelo de regresin lineal. En el caso de

comenzando con

una distribucin normal, el mtodo LS es equivalente al mtodo ML con


exactamente las mismas estimaciones.
phat = regress(traffic.cars,...
[ones(length(traffic.cars),...
1) [1975:2005]'])
plot(1975:2016, phat(1)+phat(2)*...
[1975:2016],'r')
cars_2016=phat(1)+phat(2)*2016;
Evaluar el ajuste observando los residuos.
res = traffic.cars-(phat(1)+...
phat(2)*traffic.year);
figure(3), plot(traffic.year,res,'o')
figure(4), normplot(res)
Los residuales parecen ajustarse a los requisitos de los errores de los
modelos: Parecen ser
normalmente aproximadamente distribuido. Sin embargo, hay algunos puntos de
datos que
se desva de la lnea en el papel de probabilidad normal.
phat = regress(traffic.petrol,[X0 [1975:2010]' ([1975:2010].^2)'])
figure(6)
hold on
xlabel('Y ao')
ylabel('cantidad de gasoline vendida')
plot(traffic.year,traffic.petrol,'o')
plot(1975:2016,phat(1)+phat(2)*[1975:2016]+phat(3)*([1975:2016].^2),'r')
petrol_2016 = phat(1)+phat(2)*2016+phat(3)*2016^2

Pregunta 8: Los residuos se ajustan a los requisitos de los errores de los


modelos

i ?

Usando el siguiente cdigo proporcione con la prediccin del consumo de


gasolina para el 2016.
phat = regress(traffic.petrol,...
[X0 [1975:2010]' ([1975:2010].^2)'])
plot(1975:2016, phat(1)+...
phat(2)*[1975:2016]+phat(3)*...
([1975:2016].^2),'r')
petrol_2016=phat(1)+phat(2)*2016+...
phat(3)*2016^2;
Tenga en cuenta que este modelo cuadrtica tiempo tena que estar ajustado
para los datos.
El ajuste de la gasolina no es muy buena, pero probablemente no est mal para
el propsito. El ajuste para el nmero de los coches es mejor.
x = [1 2016-mean(traffic.year) cars_2016-mean(traffic.cars) petrol_2016mean(traffic.petrol)]'
my_2016 = exp(beta3'*x)

Pregunta 9: Est satisfecho con los ajustes obtenidos para la gasolina y el


nmero de los coches?
Como sea, para nuestro propsito estos clculos aproximados son suficientes.
El numero esperado de fallecidos ahora son predichos usando

ui=exp ( 0 + 1 x i 1+ + p x ip ) .
x=[1 2016-mean(traffic.year) ...
cars_2016-mean(traffic.cars) ...
petrol_2016-mean(traffic.petrol)]'
my_2016=exp(beta3*x)
Pregunta 10: Es la prediccin razonable?
De acuerdo a lo que hemos venido estudiando la respuesta es bastante razonable
porque nos permite darnos cuenta como inconscientemente las variables se
relacionan entre si, y nos puede dar un estimado a futuro de lo que puede
suceder.
REPORTE DE LABORATORIO
Para cada una de las tareas de este laboratorio, el laboratorio de escritura
de hasta debe comenzar a determinar el problema est intentar resolver, o lo
que est probando. Despus de eso, usted debe determinar su solucin terica
al problema o resultado previsto para la prueba (esta es su hiptesis `').
Luego, escriba el cdigo y explicar el proceso (es decir, los pasos exactos) y
medidas que tom. A continuacin, anota tus observaciones en claro, de manera
lgica {incluye los errores en los datos, o datos que son extremas y no t con
los otros datos. Incluya el cdigo, grficos, y ejemplo obras de teatro.
Finalmente, colocar un resumen del experimento, incluyendo sus pensamientos
sobre los temas y si o no sus datos realmente apoyado la evidencia.
Conclusin
En este laboratorio, se utiliz la regresin de Poisson para analizar algunos
problemas de la vida real simples.

Adems nos podemos dar cuenta la importancia del estudio de los procesos
estocsticos para poder determinar lo que puede suceder en un futuro. Tomando
en consideracin las diferentes variables que se pueden presentar en la vida
diaria.
Econoctrar la croscorrelacin de una seal de audio. Analizar y dar una
opinin acerca de lo que se esta tratando.
%Lectura del archivo de sonido
[s Fs]=wavread('C:\Users\Ivan\Desktop\estocasticos\seiska.wav')
m=wavread('C:\Users\Ivan\Desktop\estocasticos\seiska.wav')
%Reproduccion de la senal
wavplay(s,Fs)
n=wavread('C:\Users\Ivan\Desktop\estocasticos\noise.wav')
%Separacion de canales L y R
canal_R=s(:,1);%lectura de todas las filas de la primera columna
%canal_L=s(:,2);%lectura de todas las filas de la segunda columna
%Tiempo de la seal
tiempo=size(s,1)/Fs;
%PLOTEO
x=0:1/Fs:tiempo;
plot(x(2:end),canal_R)
xlim([1.1 1.45])
grid on
title('Funcion del tiempo')
%Recorte de la seal
s_r=canal_R(1.1:1.45)
wavplay(s_r,Fs)
%diezmacion
s_di=canal_R(1:3:end);
wavplay(s_di,Fs/3)

[s, fs]=wavread('snareHit.wav')
[ac, l]=xcorr(s,s,1000);
subplot(411)
plot(l, ac), axis tight, grid on
[s, fs]=wavread('seiska.wav')
[ac, l]=xcorr(s,s,1000);
subplot(412)
plot(l, ac), axis tight, grid on

Anlisis:
Se puede observar que para cualquier seal en 0 la
autocorrelacin tendr su mayor amplitud.
Anlisis seal SnareHit.
Podemos observar que la muestra es muy pequea para poder tener una
grfica con una mejor autocorrelacin. Adems se puede notar que a medida
que transcurre el tiempo la autocorrelacin decae, esto sucede xq el sonido
no tiene el mismo tono luego de un tiempo determinado.

Anlisis de seal Seiska.


Claramente podemos notar una seal con mas muestras ya que la vos tiene
un sin nmero de valores irregulares .La seal varia en el transcurso del
tiempo y a medida que se siga hablando abr la repeticin de sonidos o
vocales, por lo cual existir una mayor autocorrelacin.

Simulacin de un canal de comunicacin binario

1. Introduccin

Un canal simtrico binario es un modelo de canal de comunicaciones comn


utilizada en la teora de codificacin y teora de la informacin. En este modelo, un
transmisor desea enviar un bit (un cero o un uno), y el receptor recibe un bit. Se
supone que el bit se transmite por lo general correctamente, pero puede ser
volqueado con una pequea probabilidad (la probabilidad de cruce). Este canal se
utiliza con frecuencia en la teora de la informacin porque es uno de los canales
ms simples para analizar.

2. Anlisis de un canal de comunicacin Ruidoso

En esta prctica, nuestro objetivo es simular el canal ruidoso discutido


anteriormente. Para generar ceros y unos aleatorios, debemos crear una funcin en
Matlab llamada make_Bernoulli_matrix(m,n,p) que genera una matriz de

mxn

de ceros y unos, donde la probabilidad de ser 1 para cada elemento de la matriz es


igual a p. Esa funcin se puede utilizar con los parmetros n = 1 y p = 0,5. El
parmetro m define el nmero de dgitos de transmisin. Entonces modulamos los
bits transmitidos de la siguiente manera: Si se enva un 0, se modula como -1, y si
se enva 1, se modula como 1. Luego, multiplicamos los dgitos modulados por

En este punto, generamos una muestra independiente de una distribucin normal


estndar, se multiplica por

, Y luego aadirlo a la cifra modulada ( ). Tenga

en cuenta que para cada dgito modulado, generamos una muestra diferente de la
distribucin normal.

Figura 1.Modelo simple de un canal de comunicacin binario

El resultado es la salida con ruido

Y = + N . Para decodificar la transmisin

decimos que un 0 fue transmitido si

Y 0 , y que un 1 fue transmitido si

El diagrama del sistema propuesto se muestra en la figura 1.

Y >0 .

Function make_Bernoulli_matrix

A continuacin se crea la funcin proceso la cual se encarga de simular la


comunicacin de un canal binario con modulacin y ruido.

Function Proceso

Esta funcin compara tambin la seal original con la de llegada para poder
establecer un valor de error en la comunicacin.
Asignacin.
Desarrollar una frmula para
experimentalmente el valor de

P( E) . Entonces de la simulacin de Y, estimar


P( E) . T haces esto incrementando un contador

de error cada vez que

Y 0

para un 1 transmitido y

Y >0

para un 0 transmitido.

Divide el nmero de errores por el nmero de transmisiones.

Estima

P(E)

para

el valor estimado de

=5 ,
P( E)

m=1000 , y

=50,25, 5,2.5, 0.5, 0.25 y 0.05 . Grafica

y el valor exacto de

P( E)

vs

SNR=10 log 10

2
2

( )

Qu concluyes de este grfico?

Por medio de esta funcin unimos las dos funciones anteriores para poder extraer
los valores de P(E) y SNR y poder calcularlos para diferentes valores de

Grfico P(E) vs SNR 1

De acuerdo a la grfica obtenida en cuanto mayor sea SNR, la probabilidad de error


disminuye hasta un punto de poca variacin.
CONCLUSIONES

En la transmisin de datos bit a bit existe siempre la posibilidad de que llegue


un dato errneo, esto se puede reducir cuando se incrementa el nmero de
bit enviados, tomando en consideracin el ruido presente en el canal.

Los procesos estocsticos son una herramienta importantsima en el


procesamiento de seales ya que nos permite entregar seales menos
errneas al final de un canal de datos.

En canal de datos el ruido existente en el mismo tiende a atenuar las seales


es por ello necesario el estudio de probabilidad de errores en el sistema.

Es posible tener una idea de la probabilidad de error del sistema tomando en


cuenta sus valores de media y desviacin estndar.

PRACTICA CON ESTIMACION


Contine generando variables aleatorias normales estndar hasta que

tenga n variables generadas, donde n>=100 es tal que


<0.1, donde S
es la desviacin estndar de la muestra de los valores de n datos.

(a) Cuntos normales crees que va a ser generado?


(b) Cuntos normales qu generas?
(c) Cul es la media de la muestra de todas las normales generados?
(d) Cul es la varianza de la muestra?
(e) Comentarios sobre los resultados de (c) y (d).

Solucin:
L a distribucin normal estandar es una distriucin con media cero y desviacin
tipica 1. La funcin de distribucin relacionada con esta distribucin es la Gaussiana

a) El valor de valores normales que deben ser generados debe ser un valor muy
alto ya que para poder tener este tipo de estimacin no es posble realizarlo con un
numero pequeo de muestras es por eso que se necesita un gran nmero de
muestras para poder tener una estimacin mas precisa.

S
Si concideramos la ecuacion que nos da como condicin
entonces n>100.

n
<0.1 donde S =1

b) Con la utilizacin del software MATLAB generaremos las variables aleatorias :

De acuerdo a la tabla la funcion que nos permite generar variables aleatorias


estandar es randn.De la siguiente manera:
>> x=randn(1,1000)

c) Con la cual obtenemos el valor medio de la prctica:

Con este nmero de muestras (1000) el valor medio se aproxima a 0 que es lo que
esperamos.
d) La varianza obtenida es:

La cual esta muy aproximada al valor terico de 1.

e) Los valores obtenidos son valores bastante cercanos a los valores tericos pero
esto sucede por el nmero de muestras tomadas.Ya que si reducimos el nmero de
muestras los valores obtenidos tienden a variar un poco, por lo tanto la estimacin
de un valor depende del nmero de muestras tomadas en un experimento.
Haciendo una referencia a la hiptesis de partida:

n
<0.1

1.0082

1000
<0.1

0.03<0.1 Lo cual cumple con la condicin planteada.

2. Repita el ejercicio 1 con la excepcin de que ahora contina generando


normales estndar hasta que

n
<0.01

a) Para lo cual haciendo el clculo y refieriendonos a que se trata nuevamente de


una distribucion normal estandar, entonces:

n
<0.01 donde S =1 entonces n>1000.

b) Con la utilizacin del software MATLAB generaremos las variables aleatorias :


>> x=randn(1,1500)
Hemos utilizado 1500 muestras.

c) La media generada esta vez es de:

d) Y la viarianza es de :

e) Lo cual nos demuestra nuevamente que mientras mayor sea el numero de


muestras mayor es el grado de exactitud o de confiabilidad que tiene un suceso
respecto a otro. En este caso estamos demostrando el grado de estimacin que
tiene la funcion randn de acuerdo al numero de muestras.

3. . Estimar

e x . dx
0

mediante la generacin de nmeros aleatorios.

Generar al menos 100 valores y parar cuando la desviacin estndar de su


1

estimador es inferior a 0.01. Tenga en cuenta que

g(x ) . dx
0

= E [g (U)]

En este ejericicio podemos observar que vamos a generar valores aleatorios con
una distribucin normal para lo cual debemos generar una cantidad de numeros
necesarios para que cumpla con esta condicin.

Podemos notar que la desviacion se aproxima bastante a la desviacion que nosotros


requerimos, pero para asegurarnos vamos a aumentar el numero de muestras.

Con 10000 numero de muestras la desviacin es mnima al valor real.

Si obtenemos la desviacion de este valor podemos notar que tiene una desviacin
de 0.0028 lo cual cumple con la condicin dada.
4. Para la estimacin de E [X], X1; :::; X16 se han simulado con la
siguiente valores resultantes: 10, 11, 10,5, 11,5, 14, 8, 13, 6, 15, 10, 11,5,
10,5, 12, 8, 16, 5. Sobre la base de estos datos, si queremos que la
desviacin estndar del estimador de E [X] para ser inferior a 0,1, ms o
menos cuantas simulaciones adicionales se necesitarn?

Para este caso tenemos que el nmero de muestras obtenidas en el experimento


son 16, las cuales no son suficientes como para poder tener un valor estimado ya
que el nmero de experimentos son muy pocos y menos para tener esa estimacin
de desviacin.

Con MATLAB corroboramos lo mencionado anteriormente por lo cual el nmero de


experimentos o muestras necesarias para tener valor de desviacin de desviacin
es:

<0.1 donde S =1 entonces n>100 Si ya existen 16 muestras por lo tanto al


menos necesitamos unas 84 muestras mas.

5. Utilice el enfoque de la aproximacin por la integracin para obtener un


intervalo de tamao inferior a 0,1, lo que podemos afirmar, con un 95 por
ciento de confidencia,contiene pi?. Cuntas experiencias o muestras
seran necesarios?

Para realizar este ejercicio debemos partir de la ecuacin del crculo unitario

Donde r=1 y despejando Y=1-X^2. Asi calcularemos el area dentro del primer
cuadrante y lo multiplicaremos por 4. Utilzamos de esta forma ya que el comando
rand me permite darme valores entre 0 y 1 .
1

Por lo tanto pi equivale a: 4 1x . dx


2

Si conocemos que el valor real de pi es:

Usando matlab y teniendo 10 muestras de n tenemos:

Lo cual es un valor poco cercano al verdadero valor de pi.


Para lo cual utilizaremos un nmero mas grande de muestras. Ya que el valor
estimado de desviacion es 0.1

Podemos observar que con 1000000 nmero de muestras pudimos obtener el valor
mas cercano al real.

6. Repita el ejercicio 5, cuando queremos que el intervalo sea no mayor


que 0,01.

Podemos verificar que el valor de pi se modifica en la tercera cifra con un grado de


exactitud de 0.01 en desviacin con un nmero de muestras bastante grande de
100000000.
Conclusin: Para poder estimar un valor con rangos de desviaciones
extremadamente pequeas que garanticen un grado de confiabilidad bastante
bueno es necesario obtener un gran nmero de muestras ya que resulta muy
complicado dar un valor esperado estimado si se poseen pocas muestras.

7. Para estimar , generamos 20 valores independientes que tienen media


. Si los valores sucesivos obtenidos fueron: 102, 93, 112, 111, 131, 124,
107, 122, 114, 136, 95, 141, 133, 119, 145, 122, 139, 151, 117 y 143.
Cuntas variables aleatorias adicionales piensa que vamos a tener para
generar si queremos ser un 99 por ciento seguro de que nuestra
estimacin final de es correcta hasta 0.5?

Para s=0.5

Por lo cual si queremos tener un 99% de efectividad con esa desviacin entonces:

n
<0.01

0.5
<0.01
n
Entonces n>2500
Si tenemos ya 20 muestras mnimo deberamos tener 2480 muestras ms.

También podría gustarte