Repaso de Python & Análisis Exploratorio
Fundamentos de computación vectorial, caracterización cuantitativa de distribuciones y detección rigurosa de valores atípicos.
Objetivos Estratégicos de la Sesión
Hoja de ruta para el bloque de nivelación computacional y estadística descriptiva.
Vectorización y Rendimiento
Dominar operaciones vectorizadas en Pandas y NumPy para eliminar bucles iterativos ineficientes en conjuntos de datos masivos.
Medidas Robustas vs Sensibles
Diferenciar la media y desvío estándar de métricas robustas (mediana, IQR) ante la presencia de datos asimétricos o valores atípicos.
Detección Formal de Outliers
Aplicar el criterio del rango intercuartílico (Tukey) y z-scores para aislar y auditar anomalías operativas.
Visualización Diagnóstica
Construir histogramas KDE, boxplots y diagramas de dispersión para formular hipótesis antes del modelado estadístico.
1. El Ecosistema PyData y Vectorización
Por qué la computación orientada a columnas supera a los bucles secuenciales.
Principio de Vectorización:
Las operaciones en Pandas y NumPy se delegan internamente a rutinas optimizadas en C/Fortran (BLAS/LAPACK), procesando bloques contiguos de memoria simultáneamente.
- Evitar iterrows(): Un bucle manual en Python puro penaliza el rendimiento en un factor superior a 100x.
-
Indexación Booleana: Filtrado directo mediante máscaras lógicas
df[df['valor'] > umbral]. -
Agregaciones Agrupadas: Agregación eficiente en memoria con
groupby().agg().
Ganancia típica de velocidad en cómputos sobre arrays
resultado = []
for _, row in df.iterrows():
resultado.append(row['x'] * 1.21)
df['resultado'] = df['x'] * 1.21
# Rendimiento: 1.2 ms vs 480 ms
2. Medidas de Posición: Media vs Mediana
Evaluación del punto de ruptura (breakdown point) y robustez analítica.
Media Aritmética (\bar{x})
Sensible a OutliersCentro de gravedad numérico de las observaciones. Óptima bajo supuestos gaussianos pero altamente vulnerable a colas pesadas.
- ▪ Incorpora el valor exacto de cada dato muestreado.
- ▪ Punto de ruptura: 0% (un solo outlier infinito colapsa la media).
- ▪ Base matemática indispensable para el Teorema Central del Límite.
Mediana Muestral (\tilde{x})
Estadístico RobustoPunto de corte percentil 50. Divide al conjunto ordenado de datos en dos mitades exactamente equiprobables.
- ▪ Depende del orden secuencial, no de la magnitud extrema.
- ▪ Punto de ruptura: 50% (resiste hasta la mitad de datos contaminados).
- ▪ Recomendada obligatoriamente en variables asimétricas (tiempos de falla, ingresos).
3. Medidas de Dispersión y Escala
Cuantificando la variabilidad inherente del proceso productivo o analítico.
Desvío Estándar (s)
Métrica ParamétricaPromedio cuadrático de los desvíos respecto a la media con corrección de Bessel ($n-1$).
- ▪ Mismas unidades físicas que la variable analizada.
- ▪ Regla empírica: $\bar{x} \pm 2s$ contiene el 95.4% de los datos bajo normalidad.
- ▪ Coeficiente de Variación: $CV = \frac{s}{\bar{x}} \times 100\%$.
Rango Intercuartílico (IQR)
Métrica No ParamétricaDistancia entre el percentil 75 ($Q_3$) y el percentil 25 ($Q_1$), abarcando el 50% central.
- ▪ Inmune a valores atípicos en los extremos.
- ▪ Base formal del diagrama de caja de John Tukey.
- ▪ Desviación Absoluta de la Mediana (MAD) como alternativa complementaria.
4. Matriz de Selección de Visualizaciones
Correspondencia entre tipo de variable, objetivo de negocio y sintaxis gráfica en Python.
| Objetivo Analítico | Tipo de Variables | Gráfico Recomendado | Sintaxis Seaborn / Matplotlib |
|---|---|---|---|
| Distribución Unidimensional | Continua numérica | Histograma + KDE | sns.histplot(df['x'], kde=True) |
| Comparación de Subgrupos | Numérica vs Categórica | Boxplot / Violinplot | sns.boxplot(x='cat', y='val', data=df) |
| Relación Bivariada | Continua vs Continua | Scatter Plot + Regresión | sns.regplot(x='x', y='y', data=df) |
| Matriz de Asociación | Múltiples Numéricas | Heatmap de Correlaciones | sns.heatmap(df.corr(), annot=True) |
5. Detección de Outliers: Criterio de Tukey
Barreras internas y externas para el control de calidad de datos.
Regla Clásica de Tukey
Umbral universal para banderas de advertencia sin asumir normalidad estricta.
Límites Formales de Aceptación:
Se calcula como LIF = Q_1 - 1.5 \times IQR. Cualquier observación menor a esta cota requiere auditoría.
Se calcula como LSF = Q_3 + 1.5 \times IQR. Valores superiores corresponden al 0.7% más extremo en curvas normales.
Distancias mayores a 3.0 \times IQR señalan con alta probabilidad fallas en sensores, errores de tipeo o anomalías graves.
6. Diagnóstico de Forma: Asimetría y Curtosis
Momentos de orden superior para caracterizar desviaciones de la campana de Gauss.
Asimetría (Skewness)
Momento Central 3Cuantifica el balance bilateral de la curva de densidad.
- ▪ Sesgo Nulo (~0): Distribución simétrica (Gaussiana, Uniforme).
- ▪ Sesgo Positivo (> +0.5): Cola derecha extendida (Salarios, Tiempos de ciclo).
- ▪ Sesgo Negativo (< -0.5): Cola izquierda extendida (Confiabilidad).
Curtosis (Kurtosis)
Momento Central 4Mide el peso relativo de las colas y la tasa de ocurrencia de eventos extremos.
- ▪ Mesocúrtica (~0): Colas equivalentes a la Normal teórica.
- ▪ Leptocúrtica (> 0): Colas pesadas; mayor probabilidad de eventos cisne negro.
- ▪ Platicúrtica (< 0): Colas ligeras y dispersión aplanada.
7. Laboratorio Visual: Sensibilidad del Centro y Dispersión
Inyecta un valor anómalo extremo para contrastar en tiempo real el desvío de la Media vs la Mediana.
Experimento en Tiempo Real:
Modifica el valor del dato anómalo inyectado a una muestra base gaussiana de 50 elementos.8. Estrategias de Transformación de Variables
Técnicas algebraicas para estabilizar la varianza y normalizar asimetrías severas.
| Transformación | Fórmula Matemática | Condición de Aplicación | Efecto Principal |
|---|---|---|---|
| Logarítmica | y' = \ln(y) \text{ o } \ln(y + 1) |
Datos positivos estrictos ($y > 0$) con fuerte sesgo derecho. | Comprime la cola superior; transforma relaciones multiplicativas en aditivas. |
| Raíz Cuadrada | y' = \sqrt{y} |
Datos de conteo de eventos (distribución Poisson). | Estabiliza la varianza proporcional a la media. |
| Estandarización Z | z = \frac{x - \bar{x}}{s} |
Variables continuas con unidades dispares para algoritmos ML. | Centra en media 0 y fija varianza unitaria. |
| Box-Cox Paramétrico | y^{(\lambda)} = \frac{y^\lambda - 1}{\lambda} |
Búsqueda óptima de normalidad mediante máxima verosimilitud. | Maximiza el ajuste paramétrico formal de la variable. |
9. Protocolo de Auditoría Exploratoria
Checklist estándar previo a la calibración de modelos inferenciales o de regresión.
Auditoría de Entrada
Tres hitos obligatorios para asegurar integridad analítica y evitar fallos numéricos silenciosos.
Protocolo Metodológico:
Verificar que columnas numéricas no contengan caracteres especiales ocultos y tipificar nulos (decidir imputación estratégica vs descarte).
Comprobar que magnitudes como importes, edades o presiones no presenten valores negativos imposibles causados por errores de ingesta.
Examinar correlaciones bivariadas absolutas mayores a 0.85 para prevenir inestabilidades en los modelos de regresión.
¡A Programar en Jupyter Notebooks!
Validación Computacional en Entorno Jupyter Notebooks (Semana 1)
Manipulación de Datos
01_pandas_manipulacion_datos.ipynb
Indexación booleana, transformaciones y agrupamientos con groupby.
Visualización Analítica
02_visualizacion_datos.ipynb
Histogramas KDE, boxplots y gráficos de dispersión con Seaborn.
Medidas de Posición
03_medidas_posicion.ipynb
Cálculo empírico de media, mediana, cuantiles y sensibilidad a anomalías.
Dispersión y Outliers
04_medidas_dispersion.ipynb
Filtro de Tukey (IQR) y detección de datos atípicos en series reales.
45 min: El profesor guía la ejecución de 01_pandas y 02_visualizacion, enseñando buenas prácticas de código limpio y diagnóstico gráfico.
75 min: Los estudiantes resuelven de forma autónoma los ejercicios de 03_medidas y 04_dispersion, aplicando el criterio de Tukey a datasets de producción.