En este tema, exploraremos las distribuciones de probabilidad, un concepto fundamental en estadística y machine learning. Las distribuciones de probabilidad nos permiten modelar y entender cómo se distribuyen los datos y son esenciales para realizar inferencias y predicciones.
Objetivos del Tema
- Comprender qué es una distribución de probabilidad.
- Conocer las principales distribuciones de probabilidad.
- Aprender a calcular y utilizar funciones de densidad y funciones de distribución acumulada.
- Aplicar distribuciones de probabilidad en problemas prácticos.
¿Qué es una Distribución de Probabilidad?
Una distribución de probabilidad describe cómo se distribuyen los valores de una variable aleatoria. Existen dos tipos principales de distribuciones de probabilidad:
- Distribuciones Discretas: Se aplican a variables aleatorias que toman un número finito o contable de valores.
- Distribuciones Continuas: Se aplican a variables aleatorias que pueden tomar cualquier valor dentro de un rango continuo.
Distribuciones Discretas
Las distribuciones discretas se utilizan cuando las variables pueden tomar valores específicos y contables. Algunas de las distribuciones discretas más comunes son:
- Distribución Binomial: Modela el número de éxitos en una serie de ensayos independientes y con la misma probabilidad de éxito.
- Distribución de Poisson: Modela el número de eventos que ocurren en un intervalo de tiempo o espacio fijo.
Ejemplo: Distribución Binomial
La distribución binomial se define por dos parámetros: \( n \) (número de ensayos) y \( p \) (probabilidad de éxito en cada ensayo). La función de probabilidad binomial es:
\[ P(X = k) = \binom{n}{k} p^k (1-p)^{n-k} \]
donde:
- \( \binom{n}{k} \) es el coeficiente binomial.
- \( k \) es el número de éxitos.
Ejemplo en Python:
from scipy.stats import binom # Parámetros n = 10 # Número de ensayos p = 0.5 # Probabilidad de éxito # Probabilidad de obtener exactamente 5 éxitos k = 5 probabilidad = binom.pmf(k, n, p) print(f'Probabilidad de obtener exactamente {k} éxitos: {probabilidad:.4f}')
Distribuciones Continuas
Las distribuciones continuas se utilizan cuando las variables pueden tomar cualquier valor dentro de un rango continuo. Algunas de las distribuciones continuas más comunes son:
- Distribución Normal: También conocida como distribución gaussiana, es una de las distribuciones más importantes en estadística.
- Distribución Exponencial: Modela el tiempo entre eventos en un proceso de Poisson.
Ejemplo: Distribución Normal
La distribución normal se define por dos parámetros: la media (\( \mu \)) y la desviación estándar (\( \sigma \)). La función de densidad de probabilidad (PDF) de una distribución normal es:
\[ f(x) = \frac{1}{\sigma \sqrt{2\pi}} e^{-\frac{(x-\mu)^2}{2\sigma^2}} \]
Ejemplo en Python:
import numpy as np import matplotlib.pyplot as plt from scipy.stats import norm # Parámetros mu = 0 # Media sigma = 1 # Desviación estándar # Generar valores x = np.linspace(-5, 5, 1000) pdf = norm.pdf(x, mu, sigma) # Graficar plt.plot(x, pdf, label='Distribución Normal') plt.xlabel('x') plt.ylabel('Densidad de probabilidad') plt.title('Distribución Normal') plt.legend() plt.show()
Función de Distribución Acumulada (CDF)
La función de distribución acumulada (CDF) de una variable aleatoria \( X \) es la probabilidad de que \( X \) tome un valor menor o igual a \( x \):
\[ F(x) = P(X \leq x) \]
Para la distribución normal, la CDF se puede calcular usando la función norm.cdf
de scipy.stats
.
Ejemplo en Python:
# CDF de la distribución normal cdf = norm.cdf(x, mu, sigma) # Graficar plt.plot(x, cdf, label='CDF de la Distribución Normal') plt.xlabel('x') plt.ylabel('Probabilidad acumulada') plt.title('Función de Distribución Acumulada (CDF)') plt.legend() plt.show()
Ejercicio Práctico
Ejercicio 1:
Calcular la probabilidad de obtener exactamente 3 éxitos en 8 ensayos con una probabilidad de éxito de 0.4 en cada ensayo utilizando la distribución binomial.
Solución:
# Parámetros n = 8 # Número de ensayos p = 0.4 # Probabilidad de éxito # Probabilidad de obtener exactamente 3 éxitos k = 3 probabilidad = binom.pmf(k, n, p) print(f'Probabilidad de obtener exactamente {k} éxitos: {probabilidad:.4f}')
Ejercicio 2:
Graficar la función de densidad de probabilidad (PDF) y la función de distribución acumulada (CDF) de una distribución normal con media 2 y desviación estándar 3.
Solución:
# Parámetros mu = 2 # Media sigma = 3 # Desviación estándar # Generar valores x = np.linspace(-10, 14, 1000) pdf = norm.pdf(x, mu, sigma) cdf = norm.cdf(x, mu, sigma) # Graficar PDF plt.plot(x, pdf, label='PDF de la Distribución Normal') plt.xlabel('x') plt.ylabel('Densidad de probabilidad') plt.title('Distribución Normal') plt.legend() plt.show() # Graficar CDF plt.plot(x, cdf, label='CDF de la Distribución Normal') plt.xlabel('x') plt.ylabel('Probabilidad acumulada') plt.title('Función de Distribución Acumulada (CDF)') plt.legend() plt.show()
Conclusión
En esta sección, hemos aprendido sobre las distribuciones de probabilidad, tanto discretas como continuas. Hemos explorado ejemplos prácticos de la distribución binomial y la distribución normal, y hemos visto cómo calcular y graficar sus funciones de densidad y distribución acumulada. Estos conceptos son fundamentales para el análisis de datos y la construcción de modelos de machine learning.
En el próximo tema, profundizaremos en la inferencia estadística, que nos permitirá hacer estimaciones y pruebas de hipótesis basadas en los datos.
Curso de Machine Learning
Módulo 1: Introducción al Machine Learning
- ¿Qué es el Machine Learning?
- Historia y evolución del Machine Learning
- Tipos de Machine Learning
- Aplicaciones del Machine Learning
Módulo 2: Fundamentos de Estadística y Probabilidad
- Conceptos básicos de estadística
- Distribuciones de probabilidad
- Inferencia estadística
- Teorema de Bayes
Módulo 3: Preprocesamiento de Datos
Módulo 4: Algoritmos de Machine Learning Supervisado
- Regresión lineal
- Regresión logística
- Árboles de decisión
- Máquinas de soporte vectorial (SVM)
- K-Vecinos más cercanos (K-NN)
- Redes neuronales
Módulo 5: Algoritmos de Machine Learning No Supervisado
- Clustering: K-means
- Clustering jerárquico
- Análisis de componentes principales (PCA)
- Análisis de agrupamiento DBSCAN
Módulo 6: Evaluación y Validación de Modelos
Módulo 7: Técnicas Avanzadas y Optimización
- Ensemble Learning
- Gradient Boosting
- Redes neuronales profundas (Deep Learning)
- Optimización de hiperparámetros
Módulo 8: Implementación y Despliegue de Modelos
- Frameworks y bibliotecas populares
- Implementación de modelos en producción
- Mantenimiento y monitoreo de modelos
- Consideraciones éticas y de privacidad
Módulo 9: Proyectos Prácticos
- Proyecto 1: Predicción de precios de viviendas
- Proyecto 2: Clasificación de imágenes
- Proyecto 3: Análisis de sentimientos en redes sociales
- Proyecto 4: Detección de fraudes