Procesos Discretos en tiempo

La forma mas simple de un proceso aleatorio – independiente, con secuencias identicamente distribuidas (iid).

Procesos aleatorios iid

La secuencia Xn de un proceso aleatorio iid consiste en una secuencia de variables independientes, identicamente distribuidas con cdf Fx(x), media m y varianza σ2 .

mX(n) = E[Xn] = m     para todo n

lo que indica que su media es constante.

La función de autocovarianza , si n1 ≠ n2 :

Cx(n1, n2) = E[(Xn1 - m)(Xn2 - m)] =
= E[(Xn1 - m)] E[(Xn2 - m)] = 0       

dado que Xn1 y Xn2 son variables independientes y si n1 = n2 = n:

Cx(n1, n2) = E[(Xn - m)2] = σ2 

lo que permite expresarla como:

Cx(n1, n2) = σ2 δn1n2

donde δn1n2 = 1 si n1 = n2 y 0 para cualquier otro caso, que también expresa que su autocovarianza es cero en cualquier lugar exceptuando n1 = n2.

La función de autocorrelación de un proceso iid es:

Rx(n1, n2) = Cx(n1, n2) + m2

Ejemplo: Proceso aleatorio Bernoulli

Leon-García E9.13 pdf/p.499

La secuencia In es una secuencia de variable aleatoria independiente tipo Bernoulli.
Una ejecución se muestra en a figura. Se puede interpretar como el evento que un foco falle y se reemplace en un dia n.

Proceso aleatorio bernoulli

tiene media y varianza:

m1 = p     VAR[In] = p(1-p)

permite realizar cálculos de forma muy sencilla, por ejemplo, la probabilidad que los primeros cuatro bits tengan la secuencia 1001

p[I1=1,I2=0,I3=0,I4=1] = 
= p[I1=1]p[I2=0]P[I3=0]P[I4=1]=
= p2(1-p)2

o que la probabilidad de que el segundo bit sea 0 y el septimo sea 1

P[I2=0, I7=1] = P[I2=0]P[I7=1] = p(1-p)

El código python para generar el proceso bernoulli usado es:

% matplotlib inline
# Generar numeros aleatorios con distribución bernoulli
# Leon-Garcia E9.13 Proceso aleatorioBernoulli 
# propuesta: edelros@espol.edu.ec
import numpy as np
import matplotlib.pyplot as plt
import scipy.stats as stats

# INGRESO
# n=int(input('cuantos aleatorios: '))
# p=float(input('probabilidad p: '))
n=20
p=0.5

# Procedimiento
pasos=np.zeros(n, dtype=int)
camina=np.zeros(n, dtype=int)

# procesa los datos
s=0
for i in range(0,n):
    pasos[i]=stats.binom.rvs(1,p)
    s=s+pasos[i]
    camina[i]=s

# SALIDA
plt.subplot(211)
plt.stem(pasos)
plt.ylabel('bernoulli In')
plt.margins(0.05)

plt.subplot(212)
plt.stem(camina)
plt.ylabel('Sn')
plt.margins(0.05)
plt.show()