Media, Varianza correlacion

Procesos aleatorios Discretos en tiempo

Media:
m_X(n) = E[X(n)]
Varianza:
VAR[X(n)] = E[(X(n) - m_X(n))^2]

Autocorrelación
R_X(n_1,n_2) = E[X(n_1,n_2)]

Autocovarianza:
C_X(n_1,n_2) = E[\{X(n_1) - m_X(n_1) \} \{ X(n_2) - m_X(n_2)\}
C_X(n_1,n_2) = R_X(n_1,n_2) - m_X(n_1) m_X(n_2)

Poisson pmf

Referencia: Gubner p.70, León-García /p.116

Variable aleatoria Poisson

Una variable aleatoria X se dice que tiene función de probabilidad de masa pmf con parámetro λ>0, definida por:

P_x(k) = \frac {\lambda^k e^{-\lambda}}{k!} k=0,1,2,...

Ejemplo

El número de visitas a un sitio de Internet muy popular en intervalos de 1 minuto se describe con una variable aleatoria tipo Poisson.

Encuentre la probabilidad que se de al menos una visita entre las 3:00 am y 3:01 am si λ=2. Luego encuentre la probabilidad que se realicen al menos 2 visitas durante el mismo intervalo de tiempo.

Solución: Sea X el número de visitas. Entonces:

P(X\geq 1) = 1 - P(X=0) = 1-e^{-\lambda} = 1- e^{-2} \approx 0.865

De forma similar:

P(X\geq 2) = 1 - P(X=0) - P(X=1) = 1-e^{-\lambda} - \lambda e^{-\lambda} = 1-e^{-\lambda}(1+\lambda) = 1-e^{-2}(1+2) = 0.594
# Distribución Poisson con valor lambda
import numpy as np
import matplotlib.pyplot as plt
import scipy.stats as stats

# INGRESO
n = 10
lambd = 2
media = 0

# PROCEDIMIENTO
k  = np.arange(media-1, n+1)
px = stats.poisson.pmf(k,lambd)

# SALIDA
print('k: ', k)
print('p(k):', px)

# grafica
plt.title('Poisson rango hasta n='+str(n))
plt.stem(k,px)
plt.xlabel('k')
plt.margins(0.1)
plt.show()
k:    [-1  0  1  2  3  4  5  6  7  8  9 10]
p(k): [ 0.0000000e+00   1.3533528e-01   2.7067056e-01
        2.7067056e-01   1.8044704e-01   9.0223522e-02
        3.6089408e-02   1.2029803e-02   3.4370865e-03
        8.5927164e-04   1.9094925e-04   3.8189850e-05]

Geométrica pmf

Referencia: Gubner p.74, León-García p.102

Variable aleatoria Geométrica

Para 0 ≤ p < 1, se define como una variable aleatoria geométrica1 que inicia en 1 o estandarizada como:

P(X=k) = (1-p)^{k-1}p k= 1,2,...

Este tipo de variable se usa cuando se pregunta cuántos intentos se requieren de un experimento hasta que se obtenga un resultado específico.

ejemplo de una distribución geométrica1(p), p=0.3

# Distribución geométrica con valor p
import numpy as np
import matplotlib.pyplot as plt
import scipy.stats as stats

# INGRESO
n = 9 
p = 0.3
media = 0

# PROCEDIMIENTO
k  = np.arange(media-1, n+1)
px = stats.geom.pmf(k,p,media)

# SALIDA
print('k: ', k)
print('p(k):', px)

# grafica
plt.title('Uniforme rango hasta n='+str(n))
plt.stem(k,px)
plt.xlabel('k')
plt.margins(0.1)
plt.show()
k:    [-1  0  1  2  3  4  5  6  7  8  9]
p(k): [ 0.         0.          0.3       0.21
        0.147      0.1029      0.07203   0.050421
        0.0352947  0.02470629  0.0172944 ]

Ejemplo

León-García 3.9 p.102
Sea X el número de veces que un mensaje tienen que ser transmitido hasta que sea recibido correctamente en el receptor. Encuentre la pmf de X y la probabilidad que X sea un número par.

X es un variable aleatoria discreta, que toma valores de Sx ={1,2,3,…}. El Evento {X=k} sucede si el experimento principal encuentra las K-1 transmisiones consecutivas con error o fallas seguidas de una sin error o éxito.

p_x(k)= P[X=k] = P[00...01] = (1-p)^{k-1}p = q^{k-1}p \text{para k=1,2,...}

Se puede indicar que X tiene una distribución geométrica.

En la ecuación podemos ver que la suma es 1.

P[\text{X es par}] = \sum\limits_{k=1}^{\infty} p_x(2k) = p\sum\limits_{k=1}^{\infty} q^{2k-1} =p\frac{1}{1-1^2} = \frac{1}{1+q}

Ejemplo: Gubner E2.12 p.74.
Cuando una computadora lee un dato , lo hace primero en la memoria intermedia o caché, en caso de no encontrarla, procede a la memoria RAM.
Lectura Memoria Cache o RAM

El dato se encuentra en el cache con probabilidad p.

Encuentre la probabilidad que la primera vez que no se encuentra el dato en la memoria intermedia o caché ocurre en la k-ésisma lectura.

Suponga que la presencia del dato en el caché es independiente en cada lectura.

Solución: Sea T=k si la primera vez que no esta un dato en el cache ocurre en la k-ésima lectura.

Para i=1,2,…,

  • sea Xi =1 si la en la i-ésima lectura el dato está en caché
  • Xi=0 en otro caso

Entonces P( Xi=1) = p y p( Xi=0)=1-p.

La buscado es la primera lectura en que el cache no contiene el dato, es decir la k-ésima lectura, las primeras k-1 tenían el dato en cache.

En términos de eventos:

\{T=k\} = = \{X_1=1\}\cap ...\cap \{ X_{k-1}=1\} \cap \{X_k=0\}

dado que Xi es independiente, y tomando las probabilidades en ambos lados de la ecuación:

P(T=k) = = P(\{X_1=1\}\cap ...\cap \{ X_{k-1}=1\} \cap \{X_k=0\} ) = P(X_1=1) ...P(X_{k-1}=1).P(X_k=0) = p^{k-1}(1-p)

Ejemplo

Gubner E2.13 p.75
Continuando con el ejercicio anterior, ¿Cuál es la probabilidad que la primera lectura fallida en caché sea después de la tercera lectura de memoria?

Solución: Se requiere encontrar:

P(T>3) = \sum\limits_{k=4}^{\infty} P(T=k)

Sin embargo dado que P(T=k) =0 para k≤0, se puede reescirbir en una serie finita:

P(T>3) = 1-P(T \leq 3) = \sum\limits_{k=1}^{3} P(T=k) = 1-(1-p)[1+p+p^2]

Bernoulli pmf

Referencia: Gubner 2.2 p.68, León-García E3.7 p.101

Variable aleatoria discreta Bernoulli

En un experimento enfocado en situación de «éxito» o «fracaso», por ejemplo un equipo que funciona o no. La variable aleatoria Bernoulli IA es igual a 1 si ocurre un éxito en el grupo A y valor cero en otro caso. La función indicador es por ejemplo:

I_A(\omega) = \begin{cases} 0 && ,\omega\text{ no está en A} \\ 1 && , \omega\text{ está en A} \end{cases}

(Revisar modulación Delta-Sigma y la función np.sign(ω))

la distribución de probabilidad pmf toma solo dos valores:

p(k)= \begin{cases} 1-p && , k = 0 \\p &&, k = 1 \end{cases}

Note que p0(0) + p1(1) =1

# Distribución bernoulli con valor p
import numpy as np
import matplotlib.pyplot as plt
import scipy.stats as st

# ingreso
n = 3 
p = 0.7
media = 0

# PROCEDIMIENTO
k  = np.arange(media-1, n+1)
px = st.bernoulli.pmf(k,p,media)

# SALIDA
print('k: ', k)
print('p(k):', px)

# grafica
plt.title('bernoulli rango hasta n='+str(n))
plt.stem(k,px)
plt.margins(0.1)
plt.show()
k:  [-1  0  1  2  3]
p(k): [ 0.   0.3  0.7  0.   0. ]


Ejemplo

Las variables aleatorias Bernoulli son buenas para modelar el resultado de un experimento con dos posibles resultados, representados numéricamente como 0 y 1.

  • lanzamiento de una moneda
  • la prueba de un bloque de un disco de computadora bueno o defectuoso
  • si un radar detecta o no una aeronave furtiva
  • si un paquete de Internet se descarta debido a la congestión de un router

Uniforme pmf

Referencia: Gubner 2.2 p.68, León-García E3.7 p.101

Variable aleatoria discreta uniforme

Cuando los resultados de un experimento son igualmente probables o totalmente aleatorios, el modelo se realiza con una variable aleatoria uniforme.

X está distribuida uniformemente si:

P(X=k) = \frac{1}{n} k=1,...,n.

la distribución de probabilidad pmf toma solo dos valores:

p(k)= \begin{cases} \frac{1}{n}, & \text{k=1,...,n} \\0, & \text{en otro caso} \end{cases}

Por ejemplo: el caso de un dado de 6 caras

# Distribución bernoulli con valor p y rango (-1 a 3)
import numpy as np
import matplotlib.pyplot as plt
import scipy.stats as stats

# INGRESO
n    = 6 
low  = 1
high = low+n

# PROCEDIMIENTO
k = np.arange(low-2, n+2)
p = stats.randint.pmf(k,low,high)

# SALIDA
print('k: ', k)
print('p(k):', p)

# grafica
plt.title('Uniforme rango hasta n='+str(n))
plt.stem(k,p)
plt.margins(0.1)
plt.show()
k:    [-1  0  1  2  3  4  5  6  7]
p(k): [ 0.          0.          0.16666667
        0.16666667  0.16666667  0.16666667
        0.16666667  0.16666667  0.        ]

Ejemplo

Gubner 2.6. Diez teléfonos inalámbricos en la vecindad,
Leon-García 3.7. Generador de números aleatorios

Diez vecinos tienen cada uno un teléfono inalámbrico de la misma marca y modelo. Suponga que el numero de personas que usa el teléfono inalámbrico al mismo tiempo es totalmente aleatorio. Encuentre la probabilidad que más de la mitad de lso teléfonos se encuentran en uso al mismo tiempo.

Para modelar, el número de teléfonos inalámbricos en uso al mismo tiempo tiene una variable aleatoria discreta uniforme X, que puede tomar valores 0, … , 19. Se incluye el cero al considerar que no hay teléfonos en uso.

P(X>5)= \sum\limits_{i=6}^{10} p_x(i) = \sum\limits_{i=6}^{10} \frac{1}{11}=\frac{5}{11}
# Distribución bernoulli con valor p y rango (-1 a 3)
import numpy as np
import matplotlib.pyplot as plt
import scipy.stats as stats

# INGRESO
n    = 11 
low  = 0
high = low+n

# PROCEDIMIENTO
k = np.arange(low-2, high+2)
p = stats.randint.pmf(k,low,high)

# mas de la mitad en uso
desde  = n//2 +1
hasta  = n
pdesde = np.sum(p[desde:hasta])

# SALIDA
print('k: ', k)
print('p(k):', p)
print('mas de la mitad p[X>='+str(desde)+']: ',pdesde)

# grafica
plt.title('Uniforme rango hasta n='+str(n))
plt.stem(k,p)
plt.margins(0.1)
plt.show()
k:    [-2 -1  0  1  2  3  4  5  6  7  8  9 10 11 12]
p(k): [ 0.          0.          0.09090909
        0.09090909  0.09090909  0.09090909
        0.09090909  0.09090909  0.09090909
        0.09090909  0.09090909  0.09090909
        0.09090909  0.          0.        ]
mas de la mitad p[X>=6]:  0.454545454545

Distribución de probabilidad de masa pmf

Referencia: Leon-García p.99, Gubner p.67

Variables Aleatorias discretas – Distribución de Probabilidad PMF

Una variable aleatoria discreta X se define como una variable que toma valores de un espacio muestral

Sx = {x1, x2, x3, …}.

Una variable aleatoria discreta finita tiene un espacio muestral finito, es decir:

Sx = {x1, x2, x3, …, xn}.

Si el interes es encontrar las probabilidades de un evento

Ak = {w: X(w) = xk}

La Distribución de probabilidad (Probability mass function pmf) de una variable aleatoria discreta X se define como:

px = P[X = x] = P{w: X(w) = x} para un x real

La distribución de probabilidad (pmf) de px(x) satisface las tres propiedades que se requieren para calcular las probabilidades de los eventos de una variable discreta X:

1. p_x(x) \geq 0 \text{, para todo x}

2. \sum \limits_{x\in S_x}p_x(x) = \sum \limits_{k}p_x(x_k) = \sum \limits_{k}P(A_k) = 1

3. P[X \in B] = \sum \limits_{x\in B} p_x(x) \text{, donde } B \subset S_x

Ejemplo

Gubner 2.5 número de caras en tres lanzamientos de una moneda

Encuentre la distribución de probabilidad (pmf) de X, suponiendo que los lados de la moneda son igualmente probables.

Solución: Del ejemplo desarrollado antes, se obtuvo que:

Sx:  [0 1 2 3]
evento, X(evento)
[0 0 0] 3
[0 0 1] 2
[0 1 0] 2
[0 1 1] 1
[1 0 0] 2
[1 0 1] 1
[1 1 0] 1
[1 1 1] 0

Para calcular px(0) = P(X=0), e indentificando los resultados w que pertenecen al evento {w:X(w)=0} ={111}.

Entonces :

px(0) = P(X=0) = P({111}) = |{111}|/|S| = 1/8

siguiendo el mismo procedimiento:

px(1) = P(X=1) = P({011, 101, 110}) = 3/8

px(2) = P(X=2) = P({001,010,001}) = 3/8

px(3) = P(X=3) = P({000}) = 1/8

lo que permite graficar la distribución de probabilidad

import numpy as np
import matplotlib.pyplot as plt

# INGRESO
# del ejercicio de tres lanzamientos de moneda
X = [3,2,2,1,2,1,1,0]

# PROCEDIMIENTO
[unicos, cuenta] = np.unique(X, return_counts=True)
frelativa = cuenta/len(X)

# SALIDA
print('x:  ', unicos)
print('px: ', frelativa)

# grafica
plt.stem(unicos,frelativa)
plt.title('distribución de probabilidad pmf')
plt.xlabel('x')
plt.ylabel('px(x)')
plt.margins(0.1)
plt.show()
x:   [0 1 2 3]
px:  [ 0.125  0.375  0.375  0.125]

suponga ahora que la probabilidad de salida de una cara es p, y que la cara contraria es (1-p), con lo que se procederia como:

px(0) = P(X=0) = P({111}) = (1-p)3

px(1) = P(X=1) = P({011, 101, 110}) = 3(1-p)2p

px(2) = P(X=2) = P({001,010,001}) = 3(1-p)p2

px(3) = P(X=3) = P({000}) = p3


Distribución de probabilidad del juego de apuestas

León-García E3.6 p.101

Un jugador recibe $1 si el número de caras en tres lanzamientos de una moneda es 2, $8 si el número de caras es 3, pero nada en otro caso. Encuentre la pmf de lo que gana Y.

siguiendo con el ejemplo anterior

dinero = np.arange(8+1)
pgana  = np.zeros(len(dinero),dtype=float)
pgana[8] = frelativa[3]
pgana[1] = frelativa[2]
pgana[0] = np.sum(frelativa[0:2])

# SALIDA
print('Y:  ', dinero)
print('py: ', pgana)

# grafica
plt.stem(dinero,pgana)
plt.title('distribución de probabilidad pmf')
plt.xlabel('x')
plt.ylabel('px(x)')
plt.margins(0.1)
plt.show()
Y:   [ 0 1 2 3 4 5 6 7 8 ]
py:  [ 0.5  0.375  0.  0.  0.  0.  0.  0.  0.125]

Variables Aleatorias Discretas

Referencia: Leon-García p.97, Gubner p.64

Variables Aleatorias

Una variable aleatoria se define como una función que asigna un valor numérico real X(ω) a cada resultado del experimento en un espacio muestral.

Una función es una regla para asignar un valor numérico a cada elemento de un grupo.

La espacio muestral S es el dominio de la variable aleatoria


Ejemplo

Lanzamiento de una moneda

León-García 3.1., Gubner 2.1,

Una moneda se lanza tres veces y se anota la secuencia de caras (0) o sello(1). El espacio muestral para el experimento es

S={000, 001, 010, 011, 100, 101,110, 111}

Sea X el número de caras en tres lanzamientos, X asigna a cada resultado ω en S un número del grupo SX={0,1,2,3}.

Encuentre los valores para X(ω)

# número de caras en lanzamiento de monedas
import numpy as np
import itertools as iter

# INGRESO
posibles     = 2
lanzamientos = 3

# PROCEDIMIENTO
moneda = np.arange(posibles)
n = posibles**lanzamientos

# Espacio muestral de lanzamientos
resultados = list(iter.product(moneda, repeat=lanzamientos))
S = np.asarray(resultados)

# SALIDA - Observación intermedia
print (S)
[[0 0 0]
 [0 0 1]
 [0 1 0]
 [0 1 1]
 [1 0 0]
 [1 0 1]
 [1 1 0]
 [1 1 1]]
# número de caras en cada lanzamiento 
cuenta = []
for experimento in S:
    caras = lanzamientos - np.sum(experimento)
    cuenta.append(caras)
Sx = np.unique(cuenta)

# SALIDA - Observación intermedia
print('Sx: ',Sx)
print('evento, X(evento)')
for i in range(0,n):
    print(S[i],cuenta[i])
Sx:  [0 1 2 3]
evento, X(evento)
[0 0 0] 3
[0 0 1] 2
[0 1 0] 2
[0 1 1] 1
[1 0 0] 2
[1 0 1] 1
[1 1 0] 1
[1 1 1] 0


Ref: Fig 2.2 Gubner


Ejemplo

León-García 3.2. Apuestas

Un jugador paga $1.50 para poder participar en un juego: Se lanza una moneda tres veces y se cuenta el número de caras X. El jugador recibe $1 si X=2 y $8 si X=3, $0 en los otros casos.

Sea Y el premio del jugador, Y es una función de la variable X con resultados relacionados con el espacio muestral del experimento aleatorio (juego)

Y = np.zeros(n, dtype=float)
for i in range(0,n):
    if (cuenta[i]==2):
        Y[i]=1
    if (cuenta[i]==3):
        Y[i]=8
Sy = np.unique(Y)

# SALIDA
print('Sy: ',Sy)
print('evento, X, Y')
for i in range(0,n):
    print(S[i],cuenta[i],Y[i])
Sy:  [ 0.  1.  8.]
evento, X, Y
[0 0 0] 3 8.0
[0 0 1] 2 1.0
[0 1 0] 2 1.0
[0 1 1] 1 0.0
[1 0 0] 2 1.0
[1 0 1] 1 0.0
[1 1 0] 1 0.0
[1 1 1] 0 0.0

Una función de una variable aleatoria, produce otra variable aleatoria.


Ejemplo

León-García 3.3. Apuestas lanzando una moneda
Sea X el número de caras en lel lanzamiento de una moneda.

Encuentre la probabilidad del evento {X=2}.

Encuentre la probabilidad que el jugador gane $8 en el ejemplo anterior.

X(ω)=2 si ω esta en {000,010,001}, por lo que:

P[X=2] = P[{000,010,001}] = P[{000}] + P[{010}] + P[{001}] = 3/8

El evento {Y=8} ocurre solo con el resultado cuando ω = [000], por lo que:

P[Y=8] = P[{000}] = 1/8