1. ¿Qué es la estadística y por qué es importante en programación?

La estadística transforma datos en información útil. Permite describir lo que ocurrió, descubrir patrones y tomar decisiones fundamentadas al desarrollar software.

1.1 Introducción

Los programas generan y procesan datos de manera constante: tiempos de respuesta, ventas, calificaciones, clics, errores, temperaturas, ubicaciones y muchas otras mediciones. Una lista de valores, por sí sola, suele ser difícil de interpretar.

La estadística es la disciplina que proporciona métodos para recolectar, organizar, resumir, analizar e interpretar datos. Su objetivo es convertir observaciones aisladas en información que permita comprender una situación y tomar decisiones.

Por ejemplo, registrar el tiempo de respuesta de una aplicación produce datos. Calcular el tiempo promedio, detectar respuestas anormalmente lentas y comparar dos versiones de la aplicación produce información útil.

1.2 De los datos a una decisión

Un análisis estadístico puede entenderse como un proceso ordenado:

Pregunta → Recolección de datos → Organización → Análisis → Interpretación → Decisión

Todo comienza con una pregunta concreta. Por ejemplo: ¿la nueva versión del sitio carga más rápido que la anterior? Luego se recolectan mediciones comparables, se revisa su calidad, se resumen y finalmente se interpretan.

La estadística no reemplaza el conocimiento del problema. Los resultados deben analizarse teniendo en cuenta cómo se obtuvieron los datos y qué limitaciones poseen.

1.3 Estadística descriptiva e inferencial

La estadística se divide en dos grandes áreas que se complementan:

Área Objetivo Ejemplo
Estadística descriptiva Organizar y resumir los datos observados mediante tablas, gráficos y medidas numéricas. Calcular el promedio de los tiempos de respuesta registrados durante una hora.
Estadística inferencial Utilizar una parte de los datos para obtener conclusiones sobre un conjunto mayor y expresar la incertidumbre de esas conclusiones. Estimar el tiempo de respuesta habitual de todos los usuarios a partir de una muestra.

Describir los datos disponibles suele ser el primer paso. Inferir significa ir más allá de esos datos, por lo que requiere métodos que permitan evaluar qué tan confiables son las conclusiones.

1.4 Un ejemplo sencillo

Supongamos que medimos, en milisegundos, el tiempo de respuesta de una función en cinco ejecuciones:

Tiempos = [120, 135, 128, 142, 125]

Podemos resumir estas mediciones mediante la media aritmética:

Media = (120 + 135 + 128 + 142 + 125) / 5
Media = 650 / 5
Media = 130 milisegundos

La media indica el tiempo de respuesta promedio de las ejecuciones observadas. Sin embargo, no muestra por sí sola toda la información: también interesa saber cuánto varían los tiempos y si existe algún valor atípico. Esos conceptos se estudiarán más adelante.

1.5 Estadística en programación

En programación, la estadística permite medir el comportamiento real de sistemas y fundamentar decisiones técnicas. Algunas aplicaciones frecuentes son:

  • Rendimiento: comparar tiempos de ejecución, latencia, memoria utilizada y cantidad de operaciones.
  • Calidad del software: analizar errores, fallos, cobertura de pruebas e incidencias.
  • Experiencia de usuario: estudiar clics, conversiones, abandonos y duración de las sesiones.
  • Pruebas A/B: comparar dos versiones de una funcionalidad para determinar cuál obtiene mejores resultados.
  • Monitoreo: establecer valores habituales y detectar comportamientos anormales.
  • Ciencia de datos y aprendizaje automático: explorar datos, seleccionar variables, entrenar modelos y evaluar predicciones.

1.6 Primer cálculo con JavaScript

El siguiente programa calcula la media de una serie de tiempos de respuesta:

const tiempos = [120, 135, 128, 142, 125];

const suma = tiempos.reduce(
  (acumulador, tiempo) => acumulador + tiempo,
  0
);

const media = suma / tiempos.length;

console.log(`Tiempo promedio: ${media} ms`);

El método reduce() suma todos los valores. Luego, la suma se divide por la cantidad de mediciones almacenada en tiempos.length. El resultado es 130.

Antes de realizar el cálculo en un programa real, debemos comprobar que el arreglo contenga datos, que todos sean numéricos y que utilicen la misma unidad de medida.

1.7 Datos, información y conocimiento

Estos tres conceptos están relacionados, pero no significan lo mismo:

  • Dato: una observación registrada. Ejemplo: una respuesta demoró 142 milisegundos.
  • Información: datos organizados y contextualizados. Ejemplo: el promedio fue de 130 milisegundos.
  • Conocimiento: interpretación que permite actuar. Ejemplo: la función cumple el objetivo de responder en menos de 150 milisegundos en las mediciones realizadas.

Un cálculo correcto puede llevar a una conclusión equivocada si los datos no representan adecuadamente la situación o si se interpretan fuera de contexto.

1.8 La importancia de la calidad de los datos

La precisión de una técnica estadística no compensa datos deficientes. Antes de analizar, conviene revisar:

  • si faltan valores;
  • si existen registros duplicados;
  • si las unidades son consistentes;
  • si hay valores imposibles o errores de carga;
  • si la forma de recolectar los datos introduce sesgos;
  • si la cantidad y procedencia de las observaciones son adecuadas para la pregunta.

La conocida expresión “basura entra, basura sale” también se aplica a la estadística: un análisis basado en datos incorrectos producirá resultados poco confiables.

1.9 Qué puede y qué no puede hacer la estadística

La estadística ayuda a describir patrones, cuantificar diferencias, estudiar relaciones y expresar incertidumbre. Sin embargo, sus resultados no deben interpretarse como verdades automáticas.

Es importante recordar que:

  • una relación entre dos variables no demuestra necesariamente que una cause a la otra;
  • un promedio no representa todos los valores individuales;
  • una muestra sesgada puede conducir a conclusiones erróneas;
  • un resultado debe evaluarse junto con el contexto y el método utilizado;
  • la relevancia práctica de una diferencia puede ser distinta de su relevancia estadística.

1.10 Qué debes recordar de este tema

  • La estadística permite recolectar, organizar, resumir, analizar e interpretar datos.
  • La estadística descriptiva resume los datos observados.
  • La estadística inferencial utiliza muestras para obtener conclusiones sobre conjuntos mayores.
  • En programación se aplica al rendimiento, la calidad, el monitoreo, las pruebas A/B y el análisis de datos.
  • Todo análisis debe comenzar con una pregunta clara y datos de calidad.
  • Los resultados estadísticos siempre deben interpretarse dentro de su contexto.

1.11 Conclusión

La estadística es el puente entre los datos y las decisiones. Para un programador, conocer sus fundamentos significa poder medir sistemas, interpretar resultados y construir soluciones basadas en evidencia, en lugar de depender únicamente de intuiciones.

En el próximo tema estudiaremos cómo surgió la estadística y cómo se aplica actualmente en distintas áreas.