La varianza mide el promedio de las desviaciones cuadráticas respecto de la media. Es una medida fundamental para cuantificar dispersión, construir modelos y calcular la desviación estándar.
La varianza evita que las desviaciones positivas y negativas se cancelen elevándolas al cuadrado. Cuanto más lejos están los datos de la media, mayor es su contribución.
Se distingue entre varianza poblacional, cuando se observan todos los elementos de interés, y varianza muestral, cuando se usa una muestra para estimar una población.
Para los datos 2, 4 y 6:
La suma de las desviaciones es cero. Si las elevamos al cuadrado obtenemos 4, 0 y 4; ahora todas contribuyen como cantidades no negativas.
Cuando los datos representan a toda la población:
Para 2, 4 y 6:
La varianza se expresa en unidades cuadradas: si x está en milisegundos, σ² está en milisegundos cuadrados.
Cuando los datos son una muestra de una población mayor:
Con los mismos datos:
El divisor n − 1 produce una estimación menos sesgada de la varianza poblacional bajo las condiciones habituales de muestreo.
Una tabla de desviaciones hace visible cada paso:
| xᵢ | xᵢ − x̄ | (xᵢ − x̄)² |
|---|---|---|
| 2 | −2 | 4 |
| 4 | 0 | 0 |
| 6 | 2 | 4 |
| Suma | 8 | |
Selecciona un conjunto y observa las desviaciones cuadráticas. El gráfico muestra la media y la contribución de cada observación a la suma de cuadrados.
Una varianza igual a cero significa que todas las observaciones son idénticas. Una varianza grande indica mayor separación cuadrática respecto del centro.
La varianza no se interpreta directamente como una distancia típica porque está en unidades cuadradas. Para comunicar magnitudes en las unidades originales se utiliza la desviación estándar.
La varianza es conveniente para cálculos algebraicos y modelos. La desviación estándar suele ser más intuitiva para comunicar la dispersión en las unidades de los datos.
Si todos los valores se multiplican por una constante c:
Si los tiempos se convierten de segundos a milisegundos, c = 1000 y la varianza se multiplica por 1.000.000. La desviación estándar, en cambio, se multiplica por 1000.
Sumar una constante no cambia la varianza:
Agregar 10 unidades a todas las observaciones mueve la media, pero conserva las distancias entre datos y, por lo tanto, la dispersión.
La varianza poblacional también puede calcularse como:
Esta forma reduce pasos, pero si los valores son muy grandes y la varianza pequeña puede sufrir cancelación numérica. Para cálculos sensibles conviene usar algoritmos estables de una pasada.
Cuando cada valor tiene una frecuencia fᵢ:
La frecuencia funciona como peso. En datos agrupados se reemplaza xᵢ por la marca de clase y el resultado se interpreta como aproximado.
Al estimar una media con la misma muestra, una restricción queda fijada: las desviaciones suman cero. Por eso se dice que quedan n − 1 grados de libertad para estimar la variabilidad.
Esta explicación ayuda a recordar el divisor, pero la elección también depende del objetivo: describir exactamente la muestra o estimar la población de origen.
Como las desviaciones se elevan al cuadrado, un extremo puede dominar la varianza. Una desviación cuatro veces mayor contribuye dieciséis veces más al total de cuadrados.
Antes de interpretar una varianza alta conviene revisar unidades, errores de medición, mezcla de poblaciones y eventos realmente excepcionales.
La varianza solo se compara directamente cuando las variables tienen la misma unidad y escala. Para variables con unidades distintas pueden ser más útiles la desviación estándar estandarizada o el coeficiente de variación, bajo condiciones apropiadas.
Una varianza de 25 ms² y otra de 25 kWh² tienen el mismo número, pero no describen la misma magnitud física.
Este ejemplo calcula la varianza poblacional y muestral, imprime ambas y dibuja las desviaciones cuadráticas.
const datos = [2, 4, 6];
const media = datos.reduce((suma, valor) => suma + valor, 0) / datos.length;
const sumaCuadrados = datos.reduce(
(suma, valor) => suma + (valor - media) ** 2, 0
);
const varianzaPoblacional = sumaCuadrados / datos.length;
const varianzaMuestral = sumaCuadrados / (datos.length - 1);
console.log('Media:', media);
console.log('Suma de cuadrados:', sumaCuadrados);
console.log('Varianza poblacional:', varianzaPoblacional.toFixed(2));
console.log('Varianza muestral:', varianzaMuestral.toFixed(2));
if (typeof document !== 'undefined') {
const canvas = document.getElementById('canvasVarianzaCodigo');
const contexto = canvas.getContext('2d');
const area = { izquierda: 70, derecha: 770, arriba: 60, base: 350 };
const escalaX = valor => area.izquierda + (valor - 0) / 8 * (area.derecha - area.izquierda);
const escalaY = valor => area.base - valor / 5 * (area.base - area.arriba);
contexto.clearRect(0, 0, canvas.width, canvas.height);
contexto.fillStyle = '#fefcff'; contexto.fillRect(0, 0, canvas.width, canvas.height);
contexto.fillStyle = '#372250'; contexto.font = 'bold 18px Segoe UI, Arial'; contexto.fillText('Desviaciones cuadráticas', 22, 30);
contexto.strokeStyle = '#e4d9f2'; contexto.lineWidth = 1; contexto.beginPath(); contexto.moveTo(area.izquierda, escalaY(0)); contexto.lineTo(area.derecha, escalaY(0)); contexto.stroke();
contexto.fillStyle = '#65438c'; contexto.font = '12px Segoe UI, Arial'; contexto.textAlign = 'center';
for (let valor = 0; valor <= 8; valor++) { const x = escalaX(valor); contexto.beginPath(); contexto.moveTo(x, area.arriba); contexto.lineTo(x, area.base); contexto.stroke(); contexto.fillText(valor, x, area.base + 18); }
datos.forEach(valor => { const cuadrado = (valor - media) ** 2; const x = escalaX(valor); contexto.fillStyle = '#9b6dcc'; contexto.fillRect(x - 18, escalaY(cuadrado), 36, escalaY(0) - escalaY(cuadrado)); contexto.fillStyle = '#633595'; contexto.beginPath(); contexto.arc(x, escalaY(cuadrado), 6, 0, Math.PI * 2); contexto.fill(); });
contexto.strokeStyle = '#c2410c'; contexto.lineWidth = 3; contexto.beginPath(); contexto.moveTo(area.izquierda, escalaY(varianzaPoblacional)); contexto.lineTo(area.derecha, escalaY(varianzaPoblacional)); contexto.stroke(); contexto.fillStyle = '#c2410c'; contexto.font = 'bold 13px Segoe UI, Arial'; contexto.fillText(`Varianza poblacional = ${varianzaPoblacional.toFixed(2)}`, (area.izquierda + area.derecha) / 2, escalaY(varianzaPoblacional) - 8);
}Al informar una varianza hay que aclarar si es poblacional o muestral, el divisor utilizado y las unidades cuadradas. Cuando se busca comprensión, conviene acompañarla con desviación estándar.
El gráfico debe incluir una tabla o resumen de media, suma de cuadrados, divisor y resultado.
La varianza transforma las distancias al centro en una medida algebraicamente útil de dispersión. Su distinción entre población y muestra, su sensibilidad a extremos y sus unidades cuadradas deben formar parte de toda interpretación.
En el próximo tema estudiaremos la desviación estándar, que expresa esta variabilidad en las unidades originales.