Logo de CursoIA
CursoIA Curso de Inteligencia Artificial

Probabilidad y estadística para IA, Unidad 3 — Variables aleatorias y distribuciones, 3.2 — Distribuciones de probabilidad ·

Distribución normal

Distribución normal

Introducción

La distribución normal, también conocida como curva de campana o distribución gaussiana, es una de las distribuciones más importantes y utilizadas en estadística e inteligencia artificial (IA). Es especialmente valiosa por su capacidad para modelar fenómenos naturales y procesos que presentan variabilidad aleatoria. En este artículo, exploraremos la importancia de la distribución normal, cómo se comporta, sus aplicaciones y algunas trampas comunes a evitar.

Explicación principal con ejemplos

La distribución normal es una distribución continua cuya forma es simétrica en torno a su media. Su densidad de probabilidad está dada por:

\[ f(x) = \frac{1}{\sigma \sqrt{2\pi}} e^{-\frac{(x-\mu)^2}{2\sigma^2}} \]

donde:

  • $\mu$ es la media o promedio, el centro de simetría.
  • $\sigma$ es la desviación estándar, que mide la variabilidad.

Ejemplo práctico en Python

import numpy as np
import matplotlib.pyplot as plt

# Definir parámetros
mu = 0
sigma = 1

x = np.linspace(mu - 3*sigma, mu + 3*sigma, 100)
pdf = (1/(sigma * np.sqrt(2*np.pi))) * np.exp(-0.5 * ((x-mu)/sigma)**2)

# Gráfico de la distribución normal
plt.plot(x, pdf, 'r-', linewidth=2)
plt.title('Distribución Normal')
plt.xlabel('Valor')
plt.ylabel('Densidad')
plt.show()

Caso real en IA

La distribución normal es especialmente útil en modelos de machine learning para modelar las perturbaciones o ruido que afectan a los datos. En clasificación, por ejemplo, se puede usar para ajustar la probabilidad de pertenencia a una clase basada en un score calculado.

Errores típicos / trampas

  1. Sobreinterpretación del 68-95-99.7 regla: Esta regla (también conocida como el teorema del 68-95-99.7) indica que aproximadamente 68% de los datos se encuentra a una desviación estándar de la media, 95% dentro de dos desviaciones y 99.7% dentro de tres desviaciones. Sin embargo, este es solo un aproximado y puede llevar al error si se interpreta como una regla absoluta.
  1. Suponer distribución normal cuando no es apropiada: La distribución normal asume simetría en torno a la media. Si los datos presentan skewness o curtosis significativos, usar la normalidad puede resultar en malas predicciones y modelado.
  1. Ignorar sesgos sistemáticos: Aunque la distribución normal es útil para modelar variabilidad aleatoria, no se debe ignorar el impacto de factores sistémicos o sesgos en los datos. La presencia de un patrón significativo sugiere que hay más a ser investigado.

Checklist accionable

  1. Verifica la simetría: Antes de aplicar una distribución normal, verifica si tus datos son simétricos.
  2. Comprueba la desviación estándar y media: Verifica si los valores de desviación y media son coherentes con tu dominio de conocimiento.
  3. Analiza la curtosis e skewness: Estos indicadores pueden revelar distorsiones en la distribución que no se ajustan a una normal.
  4. Realiza un test de normalidad formal: Utiliza pruebas como el K-S o el Shapiro-Wilk para confirmar si tus datos siguen una distribución normal.
  5. Considera transformaciones logarítmicas: Si los datos presentan skewness, considera aplicar una transformación logarítmica antes de proceder con un modelo basado en la normalidad.

Siguientes pasos

  • Aprende más sobre otras distribuciones: Familiarízate con otras distribuciones comunes como binomial y Poisson.
  • Practica aplicando modelos basados en la normalidad: Trabaja con conjuntos de datos reales para entender mejor cómo se comportan estos modelos.
  • Explora el uso de la normalización y standardización: Estas técnicas pueden ayudar a mejorar la calidad de tus datos antes del modelado.

Siguiendo estos pasos, podrás aplicar la distribución normal con mayor confianza en tus proyectos de IA, asegurándote de que estés usando la herramienta correcta para el trabajo adecuado.

Contacto

Indica tu objetivo (ChatGPT, RAG, agentes, automatización) y tu stack (web/backend).