En esta tarea pondremos en práctica los conceptos de probabilidad vistos en clase. En la primera parte, resolveremos ejercicios a mano. En la segunda parte, resolveremos ejercicios en Python. En cada parte doy una breve introducción a los conceptos necesarios para resolver los ejercicios.
En esta parte de la tarea, resolveremos ejercicios a mano.
Sean
La función de distribución acumulada, o cdf, está dada por
La función de densidad condicional está dada por
-
Obtener
$F(x,y)$ . Tip: integrar primero respecto de una variable (e.g., con respecto a$y$ ) dejando la otra constante. Luego integrar con respecto a la otra. -
Obtener las funciones marginales
$f(x)$ y$f(y)$ . -
Encontrar la condicional
$f(x|y)$ .
En esta parte de la tarea, resolveremos ejercicios en Python.
La pmf de una distribución de probabilidad discreta de Poisson permite calcular la probabilidad un número dado de eventos en un intervalo, dada una tasa de ocurrencia
¿Cómo obtener las siguientes probabilidades?
$p(x=3 \mid \lambda = 3/4) = ?$ -
$P(0 \leq x \leq 10 \mid \lambda = 3) = ?$ Tip: notar que es una probabilidad acumulada, con$x=0$ hasta$x=10$ .
Nota: puedes crear tu propia función en Python para obtenerlas. Recuerda que la función factorial está disponible en la librería math
, y la función exponencial en la librería numpy
.
La integración numérica es conjunto de algoritmos que aproximan el área bajo la curva de una función en una o múltiples dimensiones. Uno de esos algoritmos, la regla del trapecio, el área bajo la curva de
En Python se puede realizar integración numérica con la librería scipy
. Por ejemplo, para resolver
Podemos usar la función quad
de la siguiente manera
from scipy.integrate import quad
def f(x):
return x**2
# f es la función a integrar
# a es el límite inferior de integración
# b es el límite superior de integración
quad(f, a=0, b=2)
# (2.666666666666667, 2.960594732333751e-14)
Que retorna una tupla con el valor de la integral (2.66...) y el error de la aproximación (
Para una función en dos dimensiones, la función nquad
permite integrar en dos o más dimensiones. Por ejemplo, para resolver
Podemos usar la función nquad
de la siguiente manera
from scipy.integrate import nquad
def f(x, y):
return 0.5*x + 1.5*y
nquad(f, [[0, 1], [0, 1]])
# (1.0, 1.9392741548933183e-14)
O si se quiere integrar con límite superior en
ax = 0
bx = np.inf
ay = 0
by = 1
nquad(f, [[ax, bx], [ay, by]])
Un resultado similar debería obtenerse con dblquad
.
La integración simbólica se distingue de la numérica en que la simbólica encuentra la solución analítica de la integral, mientras que la numérica encuentra una aproximación. La integración simbólica es posible con la librería sympy
. Por ejemplo, para resolver:
Podemos usar la función integrate
de la siguiente manera
from sympy import integrate, symbols
x = symbols('x')
f = x**2
integrate(f, (x, 0, 2))
# 8/3
Dada la función de densidad de probabilidad conjunta
Si queremos obtener la marginal de sympy
, podemos usar la función integrate
de la siguiente manera
x, y = symbols('x y')
f = 0.5*x + 1.5*y
# marginal de x; notar que integramos con respecto a y, y el límite inferior y superior de integración es 0 y 1 respectivamente
fx = integrate(f, (y, 0, 1))
fx
# x/2 + 3/4
Si quisiéramos obtener la probabilidad de que x se encuentre en el intervalo entre 0 y 0.7 (
# probabilidad de que x>2
integrate(fx, (x, 0, 0.7))
# 0.64
Considerando lo anterior, resuelve los siguientes ejercicios:
Un sistema electrónico tiene uno de cada dos tipos diferentes de componentes de operación en operación conjunta. Denote con
Nota: las mediciones son en cientos de horas.
- Encontrar
$P(X>1, Y>1)$ . Tip: el límite inferior de integración es$1$ para ambas variables. - Encontrar la probabilidad de que el componente tipo II tenga una vida útil de más de 200 horas (ver la Nota). Hacerlo de dos maneras:
- 7.1. Usando integración numérica con
nquad
odblquad
. - 7.2. Usando la función de densidad marginal
$f(y)$ que puedes obtener conSympy
. Tip: el infinito en sympy se escribe comooo
, hay que importarlo confrom sympy import oo
.
- 7.1. Usando integración numérica con
from sympy import integrate, symbols, exp, oo
# ... resto del código
En funciones de densidad predefinidas (como la normal, uniforme, exponencial, etc.) se puede usar la función pdf
de scipy.stats
. Por ejemplo, para obtener la probabilidad de que una variable aleatoria normal con media norm.pdf
de la siguiente manera
from scipy.stats import norm
from scipy.integrate import quad
mu = 0
sigma = 1
a = -1
b = 1
# probabilidad de que la variable aleatoria esté en el intervalo [a, b]
prob = quad(norm.pdf, a, b, args=(mu, sigma))
# (0.682689492137086, 7.579375928402476e-15)
Como vimos en clase, la cdf (función de distribución acumulada) de una variable aleatoria
Por lo que podemos usar la función cdf
de scipy.stats
para obtener la probabilidad de que una variable aleatoria esté en el intervalo
from scipy.stats import norm
mu = 0
sigma = 1
a = -1
b = 1
# probabilidad de que la variable aleatoria esté en el intervalo [a, b]
prob = norm.cdf(b, mu, sigma) - norm.cdf(a, mu, sigma)
# 0.6826894921370859
El área que estaríamos encontrando es
Resolver:
- La pdf de la distribución normal con media
$\mu$ y desviación estándar$\sigma$ (o varianza$\sigma^2$ ) es caracterizada por
- 8.1. Suponer que un manufacturador de un tipo de botana sabe que el peso total del paquete de botana está distribuido normalmente con una media de 80.2 gramos y una desviación estándar de 1.1 gramos. ¿Cuál es la probabilidad de que un paquete de botana pese menos de 78 gramos? Tip: puedes hacer tu propia función de python, o usar la función
norm.pdf
descipy.stats
e integrarla conquad
; o usar la funciónnorm.cdf
descipy.stats
. - 8.2. Bajo las mismas asunciones anteriores, ¿cuál es la probabilidad de que un paquete dado tenga un peso que esté entre 2 desviaciones estándar de la media? Es decir,
$P(x \in [\mu - \sigma, \mu + \sigma])$ .