Está en la página 1de 7

1

DISTRIBUCIONES CONTINUAS Y
PROCESOS ESTOCSTICOS
ESCUELA POLITECNICA DEL EJRCITO
William P. Chvez
Electrnica en Automatizacin y Control
Ing. Enrique V. Carrera
Departamento de Elctrica y Electrnica


Resumeneste proyecto introduce al estudiante en la CODIGO:
simulacin de eventos no-determinsticos obedeciendo x=firingData;
distribuciones de poisson y cadenas de Markov. %stem(x)%stairs(x)
lamda=10%tasa en Hz
y1=lam*exp(-lam*x);
y2=1-exp(-lam*x);
I. INTRODUCCION subplot(1,2,1)
plot(x,y1,'.')
El siguiente conjunto de actividades tienen por title('Densidad');
objetivo aplicar los conceptos estudiados sobre xlabel('Segundos');
distribuciones continuas y cadenas de Markov en el ylabel('Hz');
modelaje de sistemas reales a traces de Octave o Matlab. grid;
subplot(1,2,2)
plot(x,y2,'.')
II. DISTRIBUCIONES CONTINUAS title('Distrubucion Acumulada');
xlabel('Segundos');
En esta primera parte, usaremos la distribucin ylabel('%');
exponencial para modelar el patrn de disparo de una grid;
neurona. Esto requiere consultar y familiarizarse con la el valor de =10 corresponde al valor de 10Hz de taza
distribucin de probabilidad exponencial. entregada como dato.

A. Confirmando el Modelo
Bajo ciertas condiciones de laboratorio, una neurona
tiene una tasa media de disparo de 10 Hz - en otras palabras,
la neurona se dispara en media una vez a cada 0.1 segundos.
Se dice que T es una variable aleatoria que mide la
brecha entre tiempos de disparo sucesivos. Datos de estos
tiempos de disparo de una neurona han sido colectados en 2. Dado que sabemos que la tasa media de disparo es 10
laboratorio. Estos datos sern usados para verificar que la Hz, cul es la mejor seleccin del parmetro del
distribucin exponencial es un buen modelo para la variable modelo de distribucin exponencial?
aleatoria T.
Cargue el vector firingData a partir del archivo Como podemos observar en el grafico anterior, se tiene una
proj2a.mat. Este vector contiene 1000 registros de intervalos dispersin aunque es relativamente alta para el valor
entre tiempos de disparo sucesivos, i.e., muestras de T. esperado de 0.1 segundos en diparo, todava es necesario
hacer correcciones para que el porcentaje sea mas alto en
1. Escriba la funcin densidad de probabilidad de T, este
asumiendo que tiene una distribucin exponencial.
Asumiendo que la taza es ajustable a la distribucin
exponencial que nos permite mostrar la variacin entre la
sucesin de los diferentes eventos, tenemos la siguiente
formula para r vector de registros donde se encuentran
los resultados el experimento.
( ) En este anlisis se dira que con valores superiores a 10 Hz
Y en el caso contrario, los valores inferiores a cero el se determina valores de respuesta mas cercanos al valor
valor que toman es cero. esperado.
Asumiendo el proceso y el vector q vamos a usar
( ) 3. Genere un histograma de probabilidad como descrito
abajo.
CODIGO:
2
proh=0.025; 3. p(T > 0;15 j T > 0;05). Esta es la probabilidad que la
subplot(1,1,1); neurona espere ms de 0.15s antes de dispararse, dado
n = histc(firingData, 0 : proh : 1); que se ha observado que ya ha esperado 0.05s.
bar(0 : proh : 1, n/(1000*proh), 'histc');
4. Puede explicar la conexin entre sus 2 ltimas
respuestas?
Si T es una distribucin exponencial con parmetro
( ){
Para t > 0
P{ T < t}=1- e- t
4. En el mismo grfico, dibuje la funcin densidad de P{T > t}= e- t
probabilidad de la distribucin exponencial con los E{T}=1/
parmetros seleccionados en (2) (utilice la funcin Var {T}= 1/2
fplot de Octave/MatLab). Cun bien encajan los
datos experimentales en esta curva? 1. p(T 0,15)
( ) ( )

Para generar un histograma que refleje la densidad de CODIGO:


probabilidad del muestreo de datos de disparo, se pueden l=10;
a=1-exp(-l*(0.15));
usar las sentencias Octave/MatLab:
fprintf('Probabilidad de T<0.15= %f \n',a);
>> n = histc(firingData; 0 : 0;025 : 1);
>> bar(0 : 0;025 : 1; n/(1000 *0,025); histc)
2. p(T > 0,1)
La primera lnea divide las muestras en bins, cada uno de ( )
amplitud 0.025, y produce la variable n de cuantas muestras ( )
estn en cada bin. La segunda lnea calcula la probabilidad CODIGO:
de cada bin, dividiendo la cuenta por el total de muestras l=10;
b=exp(-l*(0.1));
(1000) y el ancho del bin, y dibuja el resultado como un fprintf('Probabilidad de T<0.15= %f \n',b);
grafico de barras.
CODIGO: 3. p(T > 0,15 | T > 0,05). Esta es la probabilidad que la
proh=0.025;
subplot(1,1,1) neurona espere ms de 0.15s antes de dispararse, dado
n = histc(firingData, 0 : proh : 1); que se ha observado que ya ha esperado 0.05s.
bar(0 : proh : 1, n/(1000* proh), 'histc')
hold on ( )
lam=5;%lamda varia de 5,10,20,30 ( )
( )
densidad=lam*exp(-lam*x);
plot(x,densidad,'ks')
( ) ( )
p=plot(x,densidad,'ks');
set(p,'Color','red','LineWidth',2) ( ) ( )
hold off CODIGO:
l=10;
c=exp(-l*(0.15));
d=exp(-l*(0.05));
a=c/d;
fprintf('Probabilidad de T<0.15= %f \n',a);

4. Puede explicar la conexin entre sus 2 ultimas


respuestas? Observamos que
( ) ( )

( )
La probabilidad puede ser igual sin importar las diferentes
condiciones y procedimientos.

En las grficas anteriores podemos observar q el


III. MODELOS PROBABILSTICOS
que mas se acerca al histograma es el
En esta segunda parte, estudiaremos la distribucin de las
letras (caracteres alfabticos) en el idioma Ingls. Datos de
la ocurrencia de cada letra han sido obtenidos del diccionario
B. Usando Modelo encontrado en usr/share/dict/words bajo Linux (usando slo
Use el modelo exponencial para calcular: las palabras que no contienen numerales). Estos datos sern
1. p(T < 0;15) usados para crear dos modelos probabilsticos.
2. p(T > 0;1) Cargue el archivo proj2b.mat en Octave/MatLab. Esto crea
las siguientes variables:
3
1. chars, un arreglo conteniendo todas las letras en orden y 2.Cul es el tamao medio de una palabra en el
un 27 smbolo <b>, significando la Separacin entre diccionario?
palabras este debe ser tratado como cualquier otro Cargando el diccionario a un programa editor de texto,
carcter. podemos visualizar claramente con el uso del Word.
2. unigram_counts, un vector conteniendo el nmero de
ocurrencias de cada letra en el diccionario. Por ejemplo,
unigram counts(1) es el nmero de veces que `a' ocurre
en el diccionario.
3. bigram_counts, una matriz conteniendo el nmero de
veces que el par de letras aparecen como adyacentes en
el diccionario. Por ejemplo, bigram counts(1; 2) es el
nmero de veces que `a' es seguida por `b' en el
diccionario.
Esto nos indica una media de palabras de entre 8.44= = 8 caracteres
1. Anlisis
1. En Octave/MatLab, liste las letras ordenadas por Calcule la probabilidad de observar cada letra
3.
cuan frecuentemente ellas ocurren en el diccionario (incluyendo separaciones), asumiendo que las letras
Las siguientes tablas muestran los valores de las frecuencias sucesivas en una palabra son independientes.
con la que aparecen las letras en el diccionario; estos son los CODIGO:
unigram_counts;
valores de la base de datos, la segunda tabla los valores se chars;
encuentran ordenados por el orden de la frecuencia. letra=chars;
n=unigram_counts
n=length(unigram_counts);
for i=1:n
for j=1:i
if(n(i) < n(j))
p1 = n(j);
p2=chars(j);
n(j) = n(i);
letra(j)=letra(i);
n(i) = p1;
letra(i)=p2;
end
end
end
n
letra

clc
a=0
for i=1:cont
a=n(i)+a;
end
for i=1:n
n(i)=cont(i)/a;
end
CODIGO: n
unigram_counts;
chars;
letra=chars; 2. Modelos de Bigramas
cont=unigram_counts
n=length(unigram_counts); Las probabilidades en la seccin anterior constituyen un
fprintf('Letras Ordenadas Por Frecuencia'); modelo del lenguaje basado en unigramas. Ahora crearemos
for i=1:n un modelo del lenguaje basado en bigramas. Ello hace la
for j=1:i suposicin de Markov - la probabilidad de una letra depende
if(cont(i) < cont(j)) de la letra precedente, pero dada la letra precedente, es
n1 = cont(j); independiente de todas las otras letras.
n2=chars(j);
cont(j) = cont(i);
1. Use los datos en bigram_counts para calcular el
letra(j)=letra(i);
cont(i) = n1; conjunto completo de probabilidades de bigramas para
letra(i)=n2; las letras, p(Li |Li-1), donde Li es cualquier letra y Li-1
end es la letra precedente.
end
end
cont
letra
4
5

CODIGO:
clc
mp=bigram_counts;
for i=1:n
t=0;
for k=1:n
t=t+mp(i,k);
end
for k=1:n
mp(i,k)=mp(i,k)/t;
end
end
mp
6
2. Use el modelo original de unigrama para calcular la Estas probabilidades condicionales cambian su
probabilidad de observar la palabra enjoyment, y de probabilidad por la consecuencia del evento anterior, esta
observar la palabra inexistente eejmnnoty (es til probabilidad varia. Y esto con respecto a las probabilidades
trabajar usando bitcoras). del literal anteriores anteriores son relaciones diferenciales
por el concepto de dependencia e independencia.
CODIGO:
clc CODIGO:
matriz=unigram_counts; %%
aux=0; enjoyment;
for i=1:27 eejmnnoty;
aux=aux+matriz(i); enjoyment=matriz(5)*matP
end ro(5,14)*matPro(14,10)*m
for i=1:27 atPro(10,15)...
matriz(i)=matriz(i)/aux;
end *matPro(15,25)*matPro(25
matriz ,13)*matPro(13.5)*matPro
enjoyment=matriz(5)*matr (5,14)...
iz(14)*matriz(10)*matriz(15)*matriz(25)*... *matPro(14,20)
matriz(13)*matriz(5)*matriz(14)*matriz(20);
eejmnnoty=matriz(5)*matriz(5)*matriz(10)*matr eejmnnoty=matriz(5)*matP
iz(13)*matriz(14)*... ro(5,5)*matPro(5,10)*mat
matriz(14)*matriz(15)*matriz(20)*matriz(25); Pro(10,13)...

enjoyment *matPro(13,14)*matPro(14
eejmnnoty ,14)*matPro(14,15)*matPr
o(15,20)...
La probabilidad de obtener la palabra enjoyment y *matPro(20,25)
eejmnnoty
enjoyment
( ) ( ) ( ) () ( ) ( ) ( ) eejmnnoty
( ) ( ) ( )

( ) ( ) ( ) () ( ) ( ) ( )
( ) ( ) ( )
Para calcular la probabilidad de que aparezca la palabra en el
diccionario, es necesario multiplicar la probabilidad
individual de cada una de las letras que conforman dicha
palabra.
Las dos palabras tienen la misma probabilidad porque las
dos palabras son las mismas, la nica diferencia es que estn Estas probabilidades son obtenidas del arreglo de bigramas,
desordenadas. donde se considera cada probabilidad como la probabilidad
anterior, exepto en la primera letra e que se saca del
unigrama del literal anterior.

Las dos palabras tienen la misma probabilidad de aparecer;


ya que se hace un anlisis independiente, se obtiene el
mismo resultado para las dos palabras.

3. Ahora use el modelo de bigramas para calcular las


probabilidades anteriores. Comente sobre sus
resultados.
La probabilidad de obtener la palabra enjoyment y
eejmnnoty
( ) ( ) ( ) () ( ) ( ) ( )
( ) ( ) ( )

( ) ( ) ( ) () ( ) ( ) ( )
( ) ( ) ( )
7

IV. ANALISIS DE RESULTADOS Y


CONCLUCIONES
Al finalizar el proyecto se logr aplicar los
conocimientos estudiados sobre distribuciones
continuas y cadenas de Markov en el modelaje de
sistemas reales.
Se observ grficamente que con valores
superiores a 10Hz se determina valores de
respuesta ms cercanos al valor esperado.
Se verifico que al calcular la probabilidad usando
el modelo original de unigramas, se realiza un
anlisis independiente de cada letra lo que indica
que no importa el orden de las letras de la palabra
para poder encontrar la probabilidad de qu
aparezca esa palabra en el diccionario.
Se verifico que la probabilidad usando el modelo
de bigramas, si importa el orden de las letras de la
palabra ya que se realiza un anlisis de cada letra
pero con probabilidad condicional, esto quiere
decir que la probabilidad de que aparezca dicha
letra depende de la letra que apareci antes de
dicha letra.

Autor:
William Paul Chvez Chamorro naci la ciudad de Tulcn
el 14 de abril de 1992, realizo sus estudio primarioe en
la escuela 11 de Abril, cruzo el nivel secundario
en el Instituto Tecnolgico Bolvar,se graduo en el
ao 2009, actualmente crusa el quinto semestre de la
carrera Ingenieria en Automatizacin y Control en la
Escuela Plotecnica del Ejercito

V. BIBLIOGRAFIA

[1] T. A. Davis, MATLAB primer, 8th ed. Chapman


& Hall/CRC, 2011.
[2] A. V. Oppenheim, A. S. Willsky, and S. H. Nawab,
Signals & Systems, 2nd ed. Upper Saddle River, NJ,
USA: Prentice-Hall, Inc., 1996.

También podría gustarte