Correlación

Referencia: León-García 5.6.2 p258, Gubner 2.4 p91

Correlación

La correlación entre dos variables aleatorias X y Y se define como E[XY].

La correlación determina cuando dos variables se encuentran linealmente relacionadas; es decir cuando una es función lineal de la otra.

R(X,Y) = E[XY]

Propiedades de la función de correlación

Simetría

R(X,Y) = R[Y,X] R(X,X) = E[X^2] \geq 0

Desigualdad de Cauchy-Schwarz

|R(X,Y)| = \sqrt{(E[X]^2 E[Y]^2)}

Covarianza

Retomando la función de covarianza de un proceso estocástico se muestra que:

Cov(X,Y) = E[XY] - E[X]E[Y] = = R(X,Y) - E[X]E[Y]

Coeficiente de correlación lineal

Al multiplicar una de las variables X o Y por un número se incrementa la covarianza, para una mejor medida se normaliza la covarianza y así tener los valores en una escala absoluta.

El coeficiente de correlación de X y Y se define por:

\rho_{X,Y} = \frac{Cov(X,Y)}{\sigma_X \sigma_Y} = \frac{E[XY]-E[X]E[Y]}{\sigma_X \sigma_Y} donde: \sigma_X=\sqrt{Var(X)} \sigma_Y=\sqrt{Var(Y)} -1 \leq \rho_{X,Y} \leq 1

El coeficiente de correlación es como máximo en magnitud 1.

Note que la correlación y el coeficiente de correlación no son lo mismo al resultar de la formula de covarianza.

Covarianza bivariada Ejemplo Ross 2_33

Referencia: Ejemplo Ross 2.33 p51

La función densidad conjunta de X,Y es

f(x,y) = \frac{1}{y} e^{-(y+x/y)} donde: 0<x , y<\infty

los intervalos también se expresan como: 0<x<∞  , 0<y<∞

a) Verifique que es una función de densidad conjunta

b) Encuentre la Cov(X,Y)


Solución propuesa

Para mostrar que f(x,y) es una función de densidad conjunta se debe mostar que es no negativa y que la integral doble es 1.

\int_{-\infty}^{\infty} \int_{-\infty}^{\infty}f(x,y) dy dx = = \int_{0}^{\infty} \int_{0}^{\infty} \frac{1}{y} e^{-(y+x/y)} dy dx = = \int_{0}^{\infty} e^{-y} \int_{0}^{\infty} \frac{1}{y} e^{-x/y} dx dy

Resolviendo parcialmente el integral

\int_{0}^{\infty} \frac{1}{y} e^{-x/y} dx = \frac{1}{y} \int_{0}^{\infty} e^{-x/y} dx = = \frac{1}{y} \left. \frac{e^{-x/y}}{-\frac{1}{y}}\right|_{0}^{\infty} = -[e^{-\infty /y} - e^{0} ] = -(0-1) = 1

con el resultado se continua con el integral anterior:

= \int_{0}^{\infty} e^{-y} dy = \left. \frac{e^{-y}}{-1} \right|_{0}^{\infty} = - (e^{-\infty} - e^{0}) = = -(0-1) = 1

con lo que se comprueba que es una función densidad de probabilidad conjunta.


Covarianza (X,Y)

Se obtendrán primero las funciones marginales para determinar el valor esperado de cada una de ellas:

f_Y(y) = \int_{-\infty}^{\infty} f(x,y) dx = \int_{0}^{\infty} \frac{1}{y} e^{-(y+x/y)} dx = = \int_{0}^{\infty} \frac{1}{y} e^{-y} e^{-x/y} dx = e^{-y} \int_{0}^{\infty} \frac{1}{y}e^{-x/y} dx = e^{-y}

usando parte del integral anterior, se conoce que es igual a 1

se requiere el valor esperado E[y]:

E[Y] = \int_{-\infty}^{\infty} y f(y) dy = \int_{0}^{\infty} y e^{-y} dy =

integración por partes dv=e^{-y}dy , v = - e^{-y} , u=y, du=dy

\int u dv = uv - \int v du E[Y] = \left. - ye^{-y} \right|_{0}^{\infty} - \int_{0}^{\infty} (-e^{-y}) dy = -(\infty e^{-\infty} - 0 e^{-0}) - \left. e^{-y} \right|_{0}^{\infty} = = 0 -[e^{-\infty}- e^{0}] = -[0 -1] E[Y] =1

El valor esperado E[x] se obtiene como:

E[x] = \int_{-\infty}^{\infty} \int_{-\infty}^{\infty} x f(x,y) dy dx = = \int_{0}^{\infty} \int_{0}^{\infty} x \frac{1}{y} e^{-(y+x/y)} dy dx = = \int_{0}^{\infty} e^{-y} \int_{0}^{\infty} \frac{x}{y} e^{-x/y} dx dy =

para el integral respecto a x:

\int_{0}^{\infty} \frac{x}{y} e^{-x/y} dx =

integración por partes dv=\frac{1}{y}e^{-x/y} dx , v = \frac{\frac{1}{y}}{-(1/y)} e^{-x/y}, u=x, du=dx

\int u dv = uv - \int v du = = \left. x(-e^{-x/y})\right|_{0}^{\infty} - \int_{0}^{\infty} - e^{-x/y} dx = = [- \infty ye^{-\infty/y} - (-0e^{0/y})] + \int_{0}^{\infty} e^{-x/y} dx = = [-0+0] + \left. \frac{e^{-x/y}}{-(1/y)}\right|_{0}^{\infty} = =-y[e^{-\infty/y} - e^{-0/y}] = y

reemplazando en E[x] y usando el resultado del integral de E[y]:

E[x] = \int_{0}^{\infty} y e^{-y} dy = 1

Para calcular el valor de E[XY]:

E[XY] = =\int_{-\infty}^{\infty} \int_{-\infty}^{\infty} xy f(x,y) dy dx = =\int_{0}^{\infty} \int_{0}^{\infty} xy \frac{1}{y} e^{-(y+x/y)} dy dx = = \int_{0}^{\infty} y e^{-y} \int_{0}^{\infty} \frac{x}{y} e^{-x/y} dx dy = = \int_{0}^{\infty} y e^{-y} (y) dy = \int_{0}^{\infty} y^2 e^{-y} dy =

nuevamente por partes: dv = e^{-y} dy, u=y^2 se obtiene

E[XY] = \int_{0}^{\infty} y^2e^{-y} dy = =\left. -y^2 e^{-y} \right|_{0}^{\infty} + \int_{0}^{\infty} 2ye^{-y}dy = 2E[Y] =2

En consecuencia:

Cov(X,Y) = E[XY] - E[X]E[Y] = 2-(1)(1) = 1

Covarianza bivariada

Referencia: Ross 2.5.3 p50

Covarianza

La covarianza y varianza de dos variables aleatorias X y Y se definen como:

Cov(X,Y) = E[(X-E[X])(Y- E[Y])] = E[XY] - E[X]E[Y]

Si X y Y son independientes, entonces Cov(X,Y) = 0

Propiedades

  1. Cov(X,X) = Var(X)
  2. Cov(X,Y) = Cov(Y,X)
  3. Cov(cX,Y) = c Cov(X,Y)
  4. Cov(X,Y+Z) = Cov(X,Y) + Cov(X,Z)

 

Pdf Bivariada Ejercicio02

Referencia: León-García 5.17 p 253

Ejemplo

Encuentre P[ X + Y ≤ 1] de la funcion en el ejemplo 5.16 mostrada a continuación :

f_{X,Y}(x,y)= \begin{cases} c e^{-x} e^{-y} & , 0\leq y \leq x < \infty \\ 0 & ,\text{otro caso} \end{cases}

Solución

La la región para integración es [ X + Y ≤ 1] donde la pdf no es cero. Se obtine la probabilidad del evento al añadir(integrar) rectángulos infinitesimales de ancho dy como se indica en la figura:

X + Y \leq 1 Y \leq 1 - X P[ X + Y \leq 1] = \int_{0}^{1/2} \int_{y}^{1-y} 2 e^{-x} e^{-y} dx dy = \int_{0}^{1/2} 2 e^{-y} \int_{y}^{1-y} e^{-x} dx dy = \int_{0}^{1/2} 2 e^{-y} \left. [-e^{-x}] \right|_{y}^{1-y} dy = = \int_{0}^{1/2} 2 e^{-y} [-e^{-(1-y)}-(-e^{-y})] dy = \int_{0}^{1/2} [2 e^{-2y}- 2 e^{-y-(1-y)}] dy = = \int_{0}^{1/2} [2 e^{-2y}- 2 e^{-1}] dy = \left. \left[ 2\frac{e^{-2y}}{-2} - 2 e^{-1}y\right] \right|t_{0}^{1/2} = = [ - e^{-2 (1/2)} - 2 e^{-1} (1/2) ] - [ -e^{0}-0] = -e^{-1}-e^{-1} +1 P[ X + Y \leq 1] = 1- 2e^{-1} = 0.26424111765711533

que limita la figura que genera la función a:


Instrucciones en Python

from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
import numpy as np

# Función evaluada
def fxydensidad(X,Y):
    n,m = np.shape(X)
    Z = np.zeros(shape=(n,m),dtype=float)
    
    c = 2
    for i in range(0,n,1):
        for j in range(0,m,1):
            x = X[i,j]
            y = Y[i,j]
            if (y>=0 and y<=x and (x + y)<=1):
                z = c*np.exp(-x)*np.exp(y)
                Z[i,j] = z
    return(Z)

# PROGRAMA
# INGRESO
# Rango de evaluación
xa = 0
xb = 1.5
ya = 0
yb = 1.5
#muestras por eje
nx = 200
ny = 200

# PROCEDIMIENTO
# Matriz de evaluación
y = np.linspace(ya,yb,ny)
x = np.linspace(xa,xb,nx)
X,Y = np.meshgrid(x,y)
# Evalua la función
Z = fxydensidad(X,Y)

# Zona de integración
def arealimite(X):
    n = len(X)
    yinferior = np.zeros(n,dtype=float)
    ysuperior = np.zeros(n,dtype=float)
    for i in range(0,n,1):
        x = X[i]
        if (x<0.5):
            y = x
        if (x>=0.5):
            y = 1 - x
        ysuperior[i] = y
    
    return(yinferior, ysuperior)

# PROCEDIMIENTO
yinferior , ysuperior = arealimite(x) 

# SALIDA GRAFICAS
figura1 = plt.figure(1)
plt.plot(x,yinferior)
plt.plot(x,ysuperior)
plt.fill_between(x, yinferior, ysuperior,
                 where= (ysuperior>=yinferior))
plt.xlabel('x')

# SALIDA
figura2 = plt.figure(2)
grafica2 = figura2.add_subplot(1, 1, 1, projection='3d')
grafica2.plot_wireframe(X, Y, Z, rstride=10, cstride=10)
plt.show()

Pdf Bivariada Ejercicio

Referencia: León García Ejercicio 5.16 pag 252

Ejemplo

Encuentre la constante c de normalización y las pdf marginales de la siguiente función:

f_{X,Y}(x,y)= \begin{cases} c e^{-x} e^{-y} &, 0\leq y \leq x < \infty \\ 0 & ,\text{otro caso} \end{cases}

Solución

la función es válida en la región mostrada:

La constante c se encuentra cumpliendo la condición de normalización:

1 = \int_{0}^{\infty} \int_{0}^{x} c e^{-x} e^{-y} dy dx = = \int_{0}^{\infty} c e^{-x} (1-e^{-x}) dx = \frac{c}{2} 1 = \frac{c}{2} c = 2

Determinar las marginales, conociendo que c=2:

f_X (x) = \int_{0}^{\infty} f_{X,Y}(x,y) dy = = \int_{0}^{x} 2 e^{-x} e^{-y} dy = 2 e^{-x} \int_{0}^{x} e^{-y} dy = = 2 e^{-x} \left. \left[ - e^{-y} \right]\right|_{0}^{x} = 2 e^{-x} \left[ -e^{-x}-(-e^{0}) \right] = f_X (x) = 2 e^{-x} (1- e^{-x}) 0\leq x < \infty
f_Y (y) = \int_{0}^{\infty} f_{X,Y}(x,y) dx = = \int_{y}^{\infty} 2 e^{-x} e^{-y} dx = 2 e^{-y} \int_{y}^{\infty} e^{-x} dx = = 2 e^{-y} \left. \left[ - e^{-x} \right]\right|_{y}^{\infty} = 2 e^{-y} \left[-e^{-\infty}-(-e^{-y})\right] = = 2 e^{-y} 2 e^{-y} f_Y (y) = 2 e^{-2y} 0\leq y < \infty

Tarea: Verificar que las funciones marginales cumplen que el integral es 1

import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D

# Función evaluada
def fxydensidad(X,Y):
    n,m =np.shape(X)
    Z=np.zeros(shape=(n,m),dtype=float)
    
    c=2
    for i in range(0,n,1):
        for j in range(0,m,1):
            x=X[i,j]
            y=Y[i,j]
            
            if (y>=0 and y<=x):
                z=c*np.exp(-x)*np.exp(y)
                Z[i,j]=z
    return(Z)

# PROGRAMA ---------

# INGRESO
# Rango de evaluación
xa = 0
xb = 4
ya = 0
yb = 4
# muestras por eje
nx = 500
ny = 500

# PROCEDIMIENTO

# Matriz de evaluación
y = np.linspace(ya,yb,ny)
x = np.linspace(xa,xb,nx)
X,Y = np.meshgrid(x,y)

# Evalúa la función
Z = fxydensidad(X,Y)

# SALIDA
figura  = plt.figure(1)
grafica = figura.add_subplot(1, 1, 1, projection='3d')
grafica.plot_wireframe(X, Y, Z, rstride=10, cstride=10)
plt.show()

# Zona de integración
def arealimite(X):
    n = len(X)
    yinferior = np.zeros(n,dtype=int)
    ysuperior = X
    return(yinferior, ysuperior)

# PROCEDIMIENTO
yinferior, ysuperior = arealimite(x)

# SALIDA
plt.plot(x, yinferior)
plt.plot(x, ysuperior)
plt.fill_between(x, yinferior, ysuperior, where=(ysuperior>=yinferior))
plt.show()

# Forma de las marginales
def marginalx(x):
    fx = 2*np.exp(-x)*(1-np.exp(-x))
    return(fx)

# PROCEDIMIENTO
deltax = (xb-xa)/nx
fx = marginalx(x)
Fx = np.cumsum(fx*deltax)
integrax = np.sum(fx*deltax)

# SALIDA
plt.plot(x,fx, label='f(x)')
plt.plot(x,Fx, label='F(x)')
plt.xlabel('x')
plt.legend()
plt.show()

# Forma de las marginales
def marginaly(y):
    fy = 2*np.exp(-2*y)
    return(fy)

# PROCEDIMIENTO
deltay = (yb-ya)/ny
fy = marginaly(y)
Fy = np.cumsum(fy*deltay)
integray = np.sum(fy*deltay)

# SALIDA
print(' El integral sobre el area es: ', integray)

plt.plot(y,fy, label='f(y)')
plt.plot(y,Fy, label='F(y)')
plt.xlabel('y')
plt.legend()
plt.show()

pdf – univariada Ejercicio

Referencia: Ross 2.33 p89

Ejercicio

Sea X una variable aleatoria con densidad de probabilidad:

f(x)= \begin{cases} c(1-x^2)&, -1<x<1 \\ 0 &, \text{en otro caso} \end{cases}

a) ¿Cuál es el valor de c? que permite hacer la función una pdf.

b) ¿Cuál es la función de distribución acumulada de X?

Solución

a)Solo es válido en el rango [-1,1], por lo que el integral es:

1 = \int_{-1}^{1} c(1-x^2) dx = c \int_{-1}^{1} (1-x^2) dx = c \int_{-1}^{1}dx - c \int_{-1}^{1}x^2 dx = c \left. x \right|_{-1}^{1} - c \left. \frac{x^3}{3} \right|_{-1}^{1} = c[1-(-1)] - c\frac{1^3-(-1^3)}{3} = 2c -\frac{2c}{3} 1 = \frac{4c}{3} c=\frac{3}{4}

Solución

b)La función es la integral hasta x:

F(y) = \frac{3}{4} \int_{-1}^{y} (1-x^2) dx = \frac{3}{4} \left. \left[ x - \frac{x^3}{3} \right] \right|_{-1}^{y} = = \frac{3}{4}\left[(y+1) - \left( \frac{y^3}{3} + \frac{1}{3} \right) \right] = F(y) = \frac{3}{4} \left[ y+\frac{2}{3} - \frac{y^3}{3} \right], 1<y<1

Instrucciones en Python

usando el resultado anterior:

import matplotlib.pyplot as plt
import numpy as np

def fxdensidad(X):
    n = len(X)
    Y = np.zeros(n,dtype=float)
    
    c = 3/4
    for i in range(0,n,1):
        x = X[i]
        if (x>=-1 and x<=1):
            y = c*(1-x**2)
            Y[i] = y
    return(Y)

# INGRESO
# rango [a,b] y muestras
a = -1
b = 1
m = 100

# PROCEDIMIENTO
deltax = (b-a)/m
x  = np.linspace(a,b,m)
fx = fxdensidad(x)

# Función de distribución acumulada
Fy = np.cumsum(fx)*deltax

# SALIDA Gráfico
plt.plot(x,fx,label='pdf')
plt.plot(x,Fy,label='cdf')
plt.xlabel('x')
plt.legend()
plt.show()

# Verificando resultado del integral vs la suma acumulada
def Fxacumulada(X):
    n = len(X)
    Y = np.zeros(n,dtype=float)
    c = 3/4
    for i in range(0,n,1):
        x=X[i]
        if (x>=-1 and x<=1):
            y=c*(x+ 2/3 -(x**3)/3)
            Y[i]=y
    return(Y)

# PROCEDIMIENTO
Fycalc = Fxacumulada(x)

# SALIDA Gráfico
plt.plot(x,fx,label='pdf')
plt.plot(x,Fy,label='cdf')
plt.plot(x,Fycalc,label='calculada')
plt.xlabel('x')
plt.legend()
plt.show()

cdf – Señal coseno(x)

Referencia: Ejemplo León-García 4.36 p180

Sea Y=cos(X), y supondremos que X es uniformemente distribuida en el intervalo de (0, 2π]. Y puede ser vista como una muestra de una señal sinusoidal a un instante aleatorio de tiempo que esta uniformemente distribuida en el periodo de la sinusoide.

Para encontrar la pdf, se tiene que la variable -1< y < 1

f_Y(y)=\left.\sum_{k} \frac{f_X(x)}{|dy/dx|} \right|_{x=x_k}

La función fX(x) es uniforme, por lo que el área del integral en el intervalo debe ser 1, es decir:

\int_{0}^{2\pi}c dx=1 =(2\pi-0)*c= 2\pi c = 1 c=\frac{1}{2\pi} f_X(x) = \frac{1}{2\pi}

De la figura se encuentra que la ecuación tiene dos puntos de intersección o dos soluciones:

x_0 = \cos ^{-1}(y) x_1 = 2\pi- x_0

por lo que se evalúa la derivada en cada punto de intersección:

\left.\frac{dy}{dx} \right|_{x_0}= -sin(x_0) = - sin(cos^{-1}(y)) \alpha = \cos^{-1}(x) \sin(\alpha) = y x^2 + y^2 =1 x = \sqrt{1-y^2} \left.\frac{dy}{dx} \right|_{x_0}= -\sqrt{1-y^2} \left.\frac{dy}{dx} \right|_{x_1}= -\sqrt{1-y^2}

dado que y0 = y1 = y

Aplicando la ecuación primera:

f_Y(y) = \frac{1}{2\pi \sqrt{1-y^2}} + \frac{1}{2\pi \sqrt{1-y^2}} = \frac{1}{\pi \sqrt{1-y^2}} -1 < y < 1

Gráfica del resultado

# pdf de una señal senoidal
import matplotlib.pyplot as plt
import numpy as np

# INGRESO
# n=int(input('numero de muestras: '))
n = 200

# PROCEDIMIENTO
t  = np.linspace(-1,1,n)
fy = np.zeros(n,dtype=float)
# Evaluar denominador no cero
for i in range(0,n,1):
    denominador = 1-t[i]**2
    if (denominador!=0):
        fy[i] = 1/(np.pi*np.sqrt(1-t[i]**2))
dt = t[1]-t[0]
Fy = np.cumsum(fy)*dt

# SALIDA
plt.plot(t,fy,label='pdf')
plt.plot(t,Fy,label='cdf')
plt.xlabel('x')
plt.legend()
plt.show()


Cálculo con un método numérico

Señal Coseno(x), pmf, cdf

Se obtiene barriendo una ventana horizontal estrecha de Δx voltios de ancho, verticalmente a lo largo de las formas de onda y después midiendo la frecuencia relativa de la ocurrencia de voltajes en la ventana Δx.

El eje de tiempo se divide en n intervalos y la forma de onda aparece nΔx veces dentro de estos intervalos en la ventana Δx.

Para observar lo indicado usando python, se presenta el siguiente grupo de instrucciones:

Genera la señal

En un intervalo [a,b] de tiempo, con n muestras en el intervalo y una señal coseno(x) con frecuencia fs Hz.

# Pmf de una senal periódica conocida
# definir la señal en la sección senal_t
import numpy as np
import scipy.signal as signal
import scipy.stats as stats
import matplotlib.pyplot as plt

def senal_t(t, fs):
    m = len(t)
    y = np.zeros(m, dtype=float)
    for i in range(0,m,1):
        y[i] = np.cos(2 * np.pi * fs * t[i])
    return(y)

# INGRESO
# Frecuencia de la señal en Hz
fs = 5
# Rango en tiempo de la señal y muestras
a = 0
b = 1
tramos = 2000

# PROCEDIMIENTO
muestreo = tramos+1
t = np.linspace(a, b, muestreo)
senal = senal_t(t, fs)

# SALIDA
plt.plot(t,senal)
plt.title(' Señal sen(x)')
plt.xlabel('t')
plt.ylabel('señal')
plt.show()

Determinar la función de probabilidad de masa PMF

Se divide el rango de valores posibles de la señal en m intervalos.

Para simplificar el conteo de valores por rango se usa la función scypy.stats.relfreq, que cuenta en m intervalos entre el rango de la señal, dando como resultado las frecuencias relativas a intervalos Δx.
\sum_{i=0}^{N} p_i(x)=1

Si se considera aproximar la función a contínua para observación, será necesario compensar el vector de relativas al dividir por Δx pues el conteo relativo depende del número de divisiones m.

# Pmf de una senal periódica conocida
# definir la señal en la sección senal_t
import numpy as np
import scipy.signal as signal
import scipy.stats as stats
import matplotlib.pyplot as plt

def senal_t(t, fs):
    m = len(t)
    y = np.zeros(m, dtype=float)
    for i in range(0,m,1):
        y[i] = np.cos(2 * np.pi * fs * t[i])
    return(y)

# INGRESO
# Frecuencia de la señal en Hz
fs = 5
# Rango en tiempo de la señal y muestras
a = 0
b = 1
tramos = 2000

# PROCEDIMIENTO
muestreo = tramos+1
t = np.linspace(a, b, muestreo)
senal = senal_t(t, fs)

# SALIDA
plt.plot(t,senal)
plt.title(' Señal sen(x)')
plt.xlabel('t')
plt.ylabel('señal')
plt.show()

# Función de Probabilidad de Masa, PMF
m = 50  # intervalos en análisis

#PROCEDIMIENTO
relativa = stats.relfreq(senal, numbins = m )
deltax = relativa.binsize
# considerando el deltax, para valor de PMF
relcontinua=relativa.frequency/deltax

# Eje de frecuencias, por cada deltax
senalmin = np.min(senal)
senalmax = np.max(senal)
senalrango = np.linspace(senalmin,senalmax,m)

# SALIDA
print('frecuencia relativa:')
print(relativa.frequency)
print('Rango de Señal')
print(senalrango)
print('Aproximación a contínua')
print(relcontinua)

# SALIDA Grafico de PMF
plt.subplot(211)
plt.bar(senalrango,relativa.frequency, width=deltax*0.8)
plt.xlabel('Amplitud de señal')
plt.ylabel('PMF')

plt.subplot(212)
plt.plot(senalrango,relcontinua)
plt.ylim(ymin=0,ymax=np.max(relcontinua))
plt.xlabel('Amplitud de señal')
plt.ylabel('Aproximación a PDF')
plt.show()

frecuencia relativa:
[ 0.045  0.034  0.023  0.018  0.017  0.014  0.014  0.012  0.012  0.011   0.011  0.01   0.01   0.01   0.009  0.009  0.009  0.008  0.008  0.009  0.008  0.007  0.008  0.008  0.007  0.008  0.007  0.007  0.007  0.007 
 ... 
0.008  0.007  0.008  0.008  0.008  0.008  0.008  0.009  0.009  0.009  0.009  0.009  0.01   0.01   0.011  0.011  0.012  0.013  0.013  0.015  0.016  0.019  0.023  0.033  0.046]
Rango de Señal
[-0.99999877 -0.97979676 -0.95959475 -0.93939274 -0.91919073 -0.89898873 -0.87878672 -0.85858471 -0.8383827  -0.8181807  -0.79797869 -0.77777668 -0.75757467 -0.73737266 -0.71717066 -0.69696865 -0.67676664 -0.65656463 
...
0.63636386  0.65656587  0.67676788  0.69696988  0.71717189  0.7373739   0.75757591  0.77777791  0.79797992  0.81818193  0.83838394  0.85858595  0.87878795  0.89898996  0.91919197  0.93939398  0.95959598  0.97979799  1.        ]
Aproximación a contínua
[ 2.22750138  1.68300104  1.1385007   0.89100055  0.84150052  0.69300043  0.69300043  0.59400037  0.59400037  0.54450034  0.54450034  0.49500031  0.49500031  0.49500031  0.44550028  0.44550028  0.44550028  0.39600024  
...
0.39600024  0.44550028  0.44550028  0.44550028  0.44550028  0.44550028  0.49500031  0.49500031  0.54450034  0.54450034  0.59400037  0.6435004   0.6435004   0.74250046  0.79200049  0.94050058  1.1385007   1.63350101  2.27700141]

Determinar la Función de distribucíón acumulada

Considere el caso discreto, solo es necesario ir acumulando los valores de «relativa».

Al usar la aproximación a contínua, la sumatoria debe considerar el área bajo la curva, por lo que los valores se multiplican por Δx antes de acumular los valores de las frecuencias.

# Función distribución acumulada
acumulada=np.cumsum(relcontinua*deltax)

# Salida CDF
# plt.step(senalrango,relcontinua,label='pdf', where='post')
plt.step(senalrango,acumulada,label='cdf', where='post')
plt.xlabel('Amplitud de señal')
plt.title(' Función de distribuión acumulada , CDF')
plt.legend()
plt.show()


Tarea: realice el ejercicio con otras señales periódicas.
Referencia: Leon W Couch apéndice B p675

cdf -Señal triangular

Referencia: Leon W Couch apéndice B p675

Señal Triangular, pmf, cdf

Se obtiene barriendo una ventana estrecha de Δx voltios de ancho, verticalmente a lo largo de las formas de onda y después midiendo la frecuencia relativa de la ocurrencia de voltajes en la ventana Δx.

El eje de tiempo se divide en n intervalos y la forma de onda aparece nΔx veces dentro de estos intervalos en la ventana Δx.

Para observar lo indicado usando python, se presenta el siguiente grupo de instrucciones:

Generar la señal

En un intervalo [a,b] de tiempo, con n muestras en el intervalo y una señal triangular con frecuencia fs Hz.

Las librerías de señales de scipy tiene la señal diente de sierra, con parámetro de simetría que permite variar la forma del triángulo para ajustarlo a una señal simétrica como la del ejemplo.

import matplotlib.pyplot as plt
import numpy as np
import scipy.signal as signal
import scipy.stats as stats

# INGRESO
# Rango en tiempo de la señal y muestras
a = 0
b = 1
n = 2000
# Frecuencia de la señal en Hz
fs = 5

# PROCEDIMIENTO
# simetria de la señal triangular diente de sierra
simetria = 0.5
t = np.linspace(a, b, n)
senal = signal.sawtooth(2 * np.pi * fs * t, simetria)

# SALIDA
plt.plot(t,senal)
plt.title('Señal Triangular')
plt.xlabel('t')
plt.ylabel('señal')
plt.show()

Determinar la función de probabilidad de masa PMF

Se divide el rango de valores posibles de la señal en m intervalos.

Para simplificar el conteo de valores por rango se usa la función scipy.stats.relfreq, que cuenta en m intervalos entre el rango de la señal, dando como resultado las frecuencias relativas a intervalos Δx

\sum_{i=0}^{N}p_i(x)=1

Si se considera aproximar la función a contínua para observación, será necesario compensar el vector de relativas al dividir por Δx pues el conteo relativo depende del número de divisiones m.

# Función de Probabilidad de Masa, PMF
m = 20  # intervalos en análisis

#PROCEDIMIENTO
relativa = stats.relfreq(senal, numbins = m )
deltax   = relativa.binsize

# considerando el deltax, para valor de PMF
relcontinua = relativa.frequency/deltax

# Eje de frecuencias, por cada deltax
senalmin = np.min(senal)
senalmax = np.max(senal)
senalrango = np.linspace(senalmin,senalmax,m)

# SALIDA
print('frecuencia relativa:')
print(relativa.frequency)
print('Rango de Señal')
print(senalrango)
print('Aproximación a contínua')
print(relcontinua)

# SALIDA Grafico de PMF
pa = 0-0.1 # rango eje frecuencias
pb = 1+0.1

plt.subplot(211)
plt.axis([senalmin-deltax,senalmax+deltax,pa,pb])
plt.bar(senalrango,relativa.frequency, width=deltax*0.8)
plt.xlabel('Amplitud de señal')
plt.ylabel('PMF')

plt.subplot(212)
plt.axis([senalmin-deltax,senalmax+deltax,pa,pb])
plt.plot(senalrango,relcontinua)
plt.xlabel('Amplitud de señal')
plt.ylabel('Aproximación a PDF')
plt.show()
frecuencia relativa:
[ 0.027  0.052  0.053  0.053  0.052  0.053  0.052  0.053  0.052  0.053  0.053  0.052  0.053  0.052  0.053  0.052  0.053  0.053  0.052  0.027]
Rango de Señal
[-1.        -0.8947895 -0.789579  -0.6843685 -0.579158  -0.4739475 -0.368737  -0.2635265 -0.158316  -0.0531055  0.052105   0.1573155  0.262526   0.3677365  0.472947   0.5781575  0.683368   0.7885785  0.893789   0.9989995]
Aproximación a contínua
[ 0.25662838  0.49424725  0.503752    0.503752    0.49424725  0.503752   0.49424725  0.503752    0.49424725  0.503752    0.503752    0.49424725  0.503752    0.49424725  0.503752    0.49424725  0.503752    0.503752  0.49424725  0.25662838]

Determinar la Función de distribucíón acumulada

Considere el caso discreto, solo es necesario ir acumulando los valores de «relativa».

Al usar la aproximación a contínua, la sumatoria debe considerar el área bajo la curva, por lo que los valores se multiplican por Δx antes de acumular los valores de las frecuencias.

# Función distribución acumulada
acumulada = np.cumsum(relcontinua*deltax)

# Salida CDF
plt.step(senalrango,relcontinua,label='pdf', where='post')
plt.step(senalrango,acumulada,label='cdf', where='post')
plt.xlabel('Amplitud de señal')
plt.title(' Función de distribuión acumulada , CDF')
plt.legend()
plt.show()


Tarea: realice el ejercicio con otras señales periódicas.

Pares de variables aleatorias contínuas

Referencia: León-García 5.2.1 p241, Gubner 7.2 p295, Ross 2.5.1 p.44

Pares de variables aleatorias

Muchos experimentos involucran varias variables aleatorias, pues miden diferentes valores del experimento, por ejemplo:

  • Medir el voltaje de un circuito en varios puntos para un tiempo dado
  • Medir repetidamente el voltaje de un circuito en un punto para varios tiempos.

Para más de una variable se usa:

  • la función de densidad conjunta, función de distribución acumulada conjunta, y función de densidad de los eventos que tienen un comportamiento conjunto en dos variables aleatorias.
  • El valor esperado
  • para determinar cuando dos variables son independientes y cuantificar su grado de correlación cuando no son independientes
  • para obtener probabilidades condicionales que involucran un par de variables aleatorias.

Se define para dos variables aleatorias X y Y la función conjunta de distribución de probabilidades acumuladas por:

F(a,b) = P(X \leq a, Y \leq b ) -\infty<a, b<\infty

la distribución:

F_X(a) = P(X \leq a) = P(X \leq a, Y<\infty ) = = F(a,\infty)

y de forma similar:

F_Y(b) = P(Y \leq b) = P(X<\infty, Y \leq b) = = F(\infty, b)

En el caso que X y Y sean variables aleatorias discretas, se define las funcion conjunta de probabilidad de masa como:

p(x,y) = P(X=x,Y=y) p_X (x)= \sum_{y:p(x,y)>0} p(x,y) p_Y (y)= \sum_{x:p(x,y)>0} p(x,y)

En el caso que X y Y sean variables aleatorias contínuas:

P(X \in A, Y \in B) = \int_B \int_A f(x,y) \delta x \delta y

donde la función densidad de probabilidad para X se puede obtener conociendo que f(x,y) tienen que:

P(X \in A) = P(X \in A, Y \in (-\infty,\infty)) = \int_{-\infty}^{\infty} \int_{A} f(x,y) \delta x \delta y = \int_{A} f_X(x) \delta x

donde

f_X (x) = \int_{-\infty}^{\infty} f(x,y) \delta y

de forma similar para el caso de Y:

f_Y (y) = \int_{-\infty}^{\infty} f(x,y) \delta x

se debe cumplir que:

\int_{-\infty}^{\infty} \int_{-\infty}^{\infty} f_{XY} (x,y) \delta x \delta y =1

Ejemplo Gubner 7.9 p296.

Muestre que:

f_{XY}(x,y) = \frac{1}{2 \pi} e^{-(2x^2-2xy+y^2)/2}

es una función densidad conjunta de probabilidad válida

solución:

dado que fXY es positiva, se debe mostrar que el integral es 1.

f_{XY}(x,y) = \frac{e^{-(y-x)^2 /2}}{\sqrt{2\pi}} \frac{e^{-x^2 /2}}{\sqrt{2\pi}}

haciendo el doble integral:

\int_{-\infty}^{\infty} \int_{-\infty}^{\infty} f_{XY} (x,y) \delta x \delta y = = \int_{-\infty}^{\infty} \int_{-\infty}^{\infty} \frac{1}{2 \pi} e^{-(2x^2-2xy+y^2)/2} \delta x \delta y \int_{-\infty}^{\infty} \frac{e^{-x^2 /2}}{\sqrt{2\pi}}\big( \int_{-\infty}^{\infty} \frac{e^{-(y-x)^2 /2}}{\sqrt{2\pi}} \delta y\big) \delta x

el integral interior está en función de y, y es una densidad normal con media y varianza uno. Por lo que el integral interior es uno.
El integral exterior es una Normal con media cero y varianza 1, lo que también integra a 1.

Por lo que el integral resulta en 1 y cumple con que sea positivo y resulte 1 para ser una función densidad conjunta de probabilidad.

Probabilidades conjuntas y marginales discretas

Referencia: Gubner 7.1 p 287, León García 5.2 p234, Ross 2.5 p44

Probabilidades conjuntas y marginales

  • Un canal telefónico con una señal X presenta un ruido aditivo Y: X+Y
  • En un canal inalámbrico la señal X es afectada por un desvanecimiento o ruido multiplicativo: XY
  • Si X y Y son las tasas de tráfico de dos routers en un proveedor de Internet, se busca mantener la tasas en valores menores a la capacidad del router : max(X,Y)≤μ
  • Sean X y Y los voltajes de un sensor, y se quiere activar una alarma si al menos uno de los voltajes cae por debajo del umbral v: min(X,Y)≤v

Pares de variables aleatorias discretas

Ejemplo:

León-García 5.5. Un switch de datos, tiene dos puertos de entrada y dos puertos de salida. En cualquier instante de tiempo, un paquete llega a cada puerto con probabilidad de 1/2, lo que es equitativamente probable que sea enviado por el puerto 1 o 2.

Sea X y Y los números de paquetes destinados para salir por los puertos 1 y 2, respectivamente. Encuentre la pmf de X y Y, mostrando la pmf de forma gráfica.

Solución: La salida Ij para una un puerto de entrada j, puede tomar los siguientes valores:

    • «n», que no llegue un paquete al puerto de entrada. probabilidad de 1/2
    • «a1», llega un paquete con destino de salida puerto 1. con probabilidad de 1/4
    • «a2». llega un paquete con destino de salida puerto 2. con probabilidad de 1/4

El espacio muestral S relacionado, consiste de los resultados en pareja de entrada ζ =(I1, I2), El mapeo para cada (X,Y) se muestra en la tabla siguiente:

ζ X,Y
(n,n) (0,0)
(n,a1) (1,0)
(n,a2) (0,1)
(a1,n) (1,0)
(a1,a1) (2,0)
(a2,a2) (1,1)
(a2,n) (0,1)
(a2,a1) (1,1)
(a2,a2) (0,2)

la pmf de (X,Y) es entonces:
pX,Y (0,0) = P[ζ = (n,n)] = 1/2*1/2 = 1/4
pX,Y (0,1) = P[ζ ∈ {(n,a2), (a2,n)}] = 2*1/8 = 1/4

las gráficas de las cdf son: