1. pdf Bivariada Ejercicios
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:
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 < \inftyf_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()

2. pdf Bivariada Ejercicio02
Referencia: León-García 5.17 p 253
Ejemplo
Encuentre P[ X + Y ≤ 1] de la función 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 obtiene la probabilidad del evento al añadir(integrar) rectángulos infinitesimales de ancho dy como se indica en la figura:

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()
