1. Ciencia de Datos
Extraer conocimiento y valor de datos mediante estadística, visualización y análisis exploratorio.
1.1 📊 Ciencia de Datos
Qué: Disciplina que combina estadística, programación y conocimiento del dominio para extraer insights de datos.
Por qué: Tomar decisiones data-driven, descubrir patrones, validar hipótesis.
Quién: Data Scientists, Data Analysts, Business Intelligence.
Esfuerzo: ROI variable según caso, requiere datos de calidad y stakeholder buy-in.
1.2 🔄 Workflow Data Science
1. Problem Framing (¿Qué queremos saber?)
↓
2. Data Collection (¿Dónde están los datos?)
↓
3. Data Cleaning (¿Son datos limpios?)
↓
4. EDA (¿Qué nos dicen?)
↓
5. Analysis/Modeling (¿Cómo responder la pregunta?)
↓
6. Communication (¿Cómo presentar insights?)
↓
7. Action (¿Qué decisión tomar?)
1.3 🧹 Data Cleaning (Limpieza)
Qué: Preparar datos crudos para análisis.
Por qué: "Garbage in, garbage out" - datos sucios = análisis inválido.
| Problema | Qué | Solución | Herramientas |
|---|---|---|---|
| Valores faltantes | NaN, NULL, vacíos | Imputar (media, mediana), eliminar, flag | pandas fillna(), dropna() |
| Duplicados | Registros repetidos | Eliminar con lógica | drop_duplicates() |
| Outliers | Valores extremos | Investigar, eliminar o transformar | IQR, Z-score, visualización |
| Inconsistencias | "USA" vs "United States" | Estandarizar | Regex, replace() |
| Tipos incorrectos | Fechas como string | Convertir tipos | pd.to_datetime(), astype() |
| Formato | Espacios, mayúsculas | Normalizar | str.strip(), str.lower() |
Herramientas: pandas, Polars, pyjanitor
1.4 🔍 EDA (Exploratory Data Analysis)
Qué: Entender datos mediante estadística y visualización.
Por qué: Encontrar patrones, anomalías, formular hipótesis.
1.4.1 Análisis Univariado
| Tipo Variable | Métricas | Visualización |
|---|---|---|
| Numérica | Mean, median, std, min, max, percentiles | Histogram, boxplot, density plot |
| Categórica | Frecuencias, moda | Bar chart, pie chart |
1.4.2 Análisis Bivariado
| Combinación | Análisis | Visualización |
|---|---|---|
| Num vs Num | Correlación (Pearson, Spearman) | Scatter plot, heatmap |
| Cat vs Num | Comparar distribuciones | Boxplot, violin plot |
| Cat vs Cat | Tablas de contingencia, chi-squared | Heatmap, stacked bars |
1.4.3 Análisis Multivariado
| Técnica | Qué | Herramienta |
|---|---|---|
| PCA | Reducción dimensionalidad | scikit-learn |
| t-SNE | Visualizar high-dim data | scikit-learn |
| Correlation Matrix | Relaciones entre variables | seaborn heatmap |
1.5 📈 Visualización
Qué: Representar datos gráficamente.
Por qué: "Un gráfico vale más que mil tablas".
| Tipo | Cuándo | Herramienta |
|---|---|---|
| Estática | Reportes, papers | Matplotlib, Seaborn |
| Interactiva | Dashboards, exploración | Plotly, Altair |
| Dashboards | Apps analíticas | Dash, Streamlit |
| BI Tools | Business users | Tableau, Power BI, Looker |
1.5.1 Tipos de Gráficos
| Gráfico | Cuándo | Ejemplo |
|---|---|---|
| Line | Series temporales | Ventas por mes |
| Bar | Comparar categorías | Ventas por región |
| Scatter | Relación 2 variables | Precio vs tamaño |
| Histogram | Distribución | Distribución edades |
| Boxplot | Distribución + outliers | Salarios por departamento |
| Heatmap | Correlaciones, matrices | Matriz de correlación |
| Pie | Proporciones (evitar) | Market share |
1.6 📊 Estadística
1.6.1 Descriptiva
| Métrica | Qué | Cuándo |
|---|---|---|
| Media | Promedio | Distribución normal |
| Mediana | Valor medio | Outliers presentes |
| Moda | Más frecuente | Variables categóricas |
| Std Dev | Dispersión | Cuantificar variabilidad |
| Percentiles | Posición en distribución | Benchmarking |
1.6.2 Inferencial
| Concepto | Qué | Herramienta |
|---|---|---|
| Hypothesis Testing | Validar suposiciones | t-test, chi-squared |
| p-value | Probabilidad resultado por azar | <0.05 = significativo |
| Confidence Intervals | Rango valores probables | Bootstrap, t-distribution |
| A/B Testing | Comparar variantes | scipy.stats |
1.7 🔬 Reproducibilidad
Qué: Capacidad de replicar análisis.
Por qué: Ciencia requiere verificabilidad.
| Aspecto | Cómo | Herramientas |
|---|---|---|
| Versionado datos | Trackear cambios en datasets | DVC, Git LFS |
| Versionado código | Git para notebooks y scripts | Git, GitHub |
| Environments | Aislar dependencias | conda, venv, Docker |
| Notebooks parametrizados | Ejecutar con distintos params | Papermill |
| Seeds | Reproducir aleatoriedad | np.random.seed(42) |
| Documentation | Documentar decisiones | Markdown, docstrings |
1.8 🧮 Herramientas Core
| Herramienta | Qué | Cuándo |
|---|---|---|
| pandas | Manipulación tabular | Default para análisis |
| NumPy | Cálculo numérico | Operaciones matriciales |
| Polars | Pandas más rápido | Datasets grandes (>1GB) |
| Dask | Parallel computing | Datos que no caben en RAM |
| Jupyter | Notebooks interactivos | Exploración, prototipado |
| VS Code | IDE con notebook support | Desarrollo productivo |
1.9 📊 Tipos de Análisis
| Tipo | Qué | Pregunta | Técnica |
|---|---|---|---|
| Descriptivo | ¿Qué pasó? | Métricas históricas | Aggregations, visualización |
| Diagnóstico | ¿Por qué pasó? | Causas | Correlaciones, comparaciones |
| Predictivo | ¿Qué pasará? | Forecast | Machine Learning, time series |
| Prescriptivo | ¿Qué hacer? | Recomendaciones | Optimization, simulación |
1.10 🔄 Data Quality
| Dimensión | Qué | Cómo validar |
|---|---|---|
| Completitud (Completeness) | Sin valores faltantes | df.isnull().sum() |
| Unicidad (Uniqueness) | Sin duplicados | df.duplicated().sum() |
| Consistencia (Consistency) | Valores válidos | Regex, value ranges |
| Exactitud (Accuracy) | Datos correctos | Validar con fuentes |
| Actualidad (Timeliness) | Datos actuales | Timestamps |
Herramientas: Great Expectations, Pandera
1.11 🎯 Métricas de Negocio
| Métrica | Qué | Fórmula |
|---|---|---|
| Churn Rate | % clientes que abandonan | Churned / Total × 100 |
| CAC | Customer Acquisition Cost | Marketing Spend / New Customers |
| LTV | Lifetime Value | Avg Revenue per User × Avg Lifetime |
| Conversion Rate | % que completan acción | Conversions / Visitors × 100 |
| AOV | Average Order Value | Revenue / Orders |
1.12 🚫 Errores Comunes
| Error | Problema | Solución |
|---|---|---|
| Correlation = Causation | Confundir relación con causa | Experimentos, domain knowledge |
| P-hacking | Buscar hasta encontrar p<0.05 | Hipótesis a priori, correction |
| Confirmation Bias | Buscar solo evidencia que confirme | Buscar evidencia contradictoria |
| Simpson's Paradox | Tendencia se invierte al agregar | Estratificar análisis |
| Survivorship Bias | Solo analizar sobrevivientes | Incluir todos los casos |