48. Proyecto integrador de análisis estadístico

Un análisis estadístico completo conecta una pregunta concreta con datos confiables, métodos adecuados, visualizaciones claras y una conclusión que reconoce la incertidumbre.

48.1 El objetivo del proyecto

El proyecto integrador reúne los conceptos del curso en un flujo de trabajo reproducible. No consiste en aplicar muchas fórmulas, sino en justificar cada decisión y responder una pregunta con evidencia.

El resultado debe permitir que otra persona comprenda qué se estudió, cómo se obtuvieron los datos, qué se calculó y cuáles son los límites de la conclusión.

48.2 Formular una pregunta

Una pregunta útil define población, unidad de análisis, variables, período y comparación. “¿Qué ocurre con los usuarios?” es demasiado amplia; “¿cambia el tiempo de respuesta entre dos versiones durante abril?” es más verificable.

La pregunta determina si conviene describir, estimar, comparar, explicar o predecir.

48.3 Diseñar los datos

  • Definir la población objetivo y el marco muestral.
  • Elegir unidades de análisis y variables.
  • Decidir el método de muestreo o la fuente de observación.
  • Registrar fechas, filtros, exclusiones y transformaciones.
  • Planificar cómo se protegerá la información sensible.

48.4 Revisar la calidad

ControlPreguntaAcción posible
Tipos¿Los números son numéricos y las fechas válidas?Convertir y documentar.
Faltantes¿Cuántos hay y por qué aparecen?Analizar, imputar o excluir con criterio.
Duplicados¿Una unidad aparece más de una vez?Definir una regla de identificación.
Rangos¿Hay valores imposibles?Revisar origen antes de corregir.

48.5 Explorar antes de modelar

Comenzar con tablas de frecuencia, medidas de centro y dispersión, histogramas, diagramas de caja y gráficos de relación. La exploración puede revelar asimetrías, subgrupos, cambios temporales o valores atípicos.

La media y la mediana no cuentan la misma historia en una distribución sesgada. Un gráfico evita confiar en un único resumen.

48.6 Elegir el método

DescribirFrecuencias, media, mediana, dispersión y gráficos.
CompararDiferencias, intervalos y pruebas acordes al diseño.
RelacionarCorrelación, regresión y análisis de residuos.
PredecirValidación fuera de muestra y métricas de error.

48.7 Laboratorio integrador

Explorar un análisis completo

48.8 Estimar y comparar

Si la pregunta busca una media, proporción o diferencia poblacional, se debe informar una estimación puntual y su incertidumbre. Un valor p puede formar parte del análisis, pero no reemplaza la magnitud del efecto ni el intervalo.

La comparación debe respetar la unidad de análisis, la independencia y el proceso de selección.

48.9 Analizar relaciones

La correlación resume asociación; la regresión puede producir predicciones. En ambos casos se deben observar gráficos, residuos, valores influyentes y rango de aplicación.

Una relación estadística no prueba causalidad. Si se propone una explicación causal, hay que justificarla con diseño y conocimiento del área.

48.10 Evaluar predicciones

Separar entrenamiento y evaluación evita medir el modelo sobre los mismos casos que utilizó para aprender. La métrica debe representar el costo de los errores y analizarse por subgrupos cuando corresponda.

La validación cruzada permite conocer la variabilidad del rendimiento, pero no corrige una fuga de información ni un sesgo de selección.

48.11 Visualizar con honestidad

Un gráfico debe indicar qué representa cada eje, incluir unidades y evitar escalas que exageren o oculten diferencias. El color debe tener significado y ser distinguible para personas con distintas formas de percepción.

Una visualización no es decoración: es una parte del argumento y debe poder contrastarse con los datos.

48.12 Documentar el análisis

Un proyecto reproducible conserva el origen de los datos, el código, los parámetros, la semilla aleatoria, las versiones y las decisiones de limpieza.

Datos → limpieza → exploración → análisis → validación → informe

Separar datos brutos de datos procesados permite repetir el pipeline sin perder el registro original.

48.13 Comunicar incertidumbre

Las conclusiones deben informar qué se sabe, con qué precisión y bajo qué supuestos. Expresiones como “en esta muestra”, “bajo este modelo” y “dentro de este período” evitan generalizaciones excesivas.

También conviene comunicar resultados nulos, análisis alternativos y limitaciones relevantes.

48.14 Ética y privacidad

Los datos pueden afectar personas reales. Hay que minimizar información identificable, controlar accesos, evaluar sesgos y evitar usar una métrica como justificación automática de una decisión de alto impacto.

La transparencia no exige publicar datos sensibles: exige explicar el procedimiento y sus límites de forma verificable.

48.15 Implementación en JavaScript

Este ejemplo realiza un pequeño pipeline: calcula resúmenes, obtiene una tendencia lineal y dibuja los datos junto con la recta.

const datos = [
  { x: 1, y: 52 }, { x: 2, y: 56 }, { x: 3, y: 61 },
  { x: 4, y: 65 }, { x: 5, y: 71 }, { x: 6, y: 73 }
];
const mediaX = datos.reduce((suma, dato) => suma + dato.x, 0) / datos.length;
const mediaY = datos.reduce((suma, dato) => suma + dato.y, 0) / datos.length;
const numerador = datos.reduce((suma, dato) => suma + (dato.x - mediaX) * (dato.y - mediaY), 0);
const denominador = datos.reduce((suma, dato) => suma + (dato.x - mediaX) ** 2, 0);
const pendiente = numerador / denominador;
const intercepto = mediaY - pendiente * mediaX;
const predicciones = datos.map(dato => intercepto + pendiente * dato.x);
const error = Math.sqrt(datos.reduce((suma, dato, indice) => suma + (dato.y - predicciones[indice]) ** 2, 0) / datos.length);

console.log('Recta: y = ' + intercepto.toFixed(2) + ' + ' + pendiente.toFixed(2) + 'x');
console.log('Error típico de predicción:', error.toFixed(2));

if (typeof document !== 'undefined') {
  const canvas = document.getElementById('canvasProyectoCodigo');
  const contexto = canvas.getContext('2d');
  const escalaX = valor => 70 + (valor - 1) / 5 * 690;
  const escalaY = valor => 380 - (valor - 45) / 35 * 330;
  contexto.clearRect(0, 0, canvas.width, canvas.height);
  contexto.strokeStyle = '#afd1e5'; contexto.lineWidth = 1;
  contexto.beginPath(); contexto.moveTo(70, 380); contexto.lineTo(760, 380); contexto.stroke();
  contexto.strokeStyle = '#286f97'; contexto.lineWidth = 3; contexto.beginPath();
  contexto.moveTo(escalaX(1), escalaY(intercepto + pendiente)); contexto.lineTo(escalaX(6), escalaY(intercepto + pendiente * 6)); contexto.stroke();
  contexto.fillStyle = '#216382'; datos.forEach(dato => { contexto.beginPath(); contexto.arc(escalaX(dato.x), escalaY(dato.y), 7, 0, Math.PI * 2); contexto.fill(); });
}

48.16 Plantilla para el informe

  1. Pregunta: qué se quiere conocer y por qué.
  2. Datos: población, muestra, variables y calidad.
  3. Método: cálculos, supuestos y decisiones.
  4. Resultados: gráficos, estimaciones, intervalos y métricas.
  5. Limitaciones: sesgos, incertidumbre y alcance.
  6. Conclusión: respuesta breve y conectada con la pregunta.

48.17 Qué debes recordar

Un buen análisis es una cadena coherente de decisiones.
La pregunta guía los datos; los datos guían el método; el método produce evidencia; y la comunicación debe explicar tanto el resultado como su incertidumbre y sus límites.

48.18 Conclusión del curso

La estadística para programadores combina pensamiento matemático, criterio sobre datos y herramientas de implementación. Desde una tabla simple hasta un modelo predictivo, las mismas preguntas permanecen: ¿qué se mide?, ¿a quién representa?, ¿qué incertidumbre existe?, ¿qué errores son importantes? y ¿cómo se puede reproducir la conclusión?

Responderlas con claridad transforma el código en análisis confiable y permite tomar decisiones basadas en evidencia.