El coeficiente de Pearson, r, mide la intensidad y dirección de una relación lineal entre dos variables cuantitativas. Se obtiene normalizando la covarianza.
La correlación de Pearson es uno de los coeficientes más utilizados para resumir una nube de puntos. Compara los productos de las desviaciones de x e y con la variabilidad individual de ambas variables.
Su interpretación principal es lineal: mide qué tan cerca se organizan los pares alrededor de una recta.
El numerador resume la covariación. El denominador ajusta por la dispersión de x e y, de modo que el resultado queda entre −1 y 1.
Para los pares (1,2), (2,4), (3,5), (4,8):
El resultado cercano a 1 indica una asociación lineal positiva fuerte.
| Valor de r | Interpretación descriptiva |
|---|---|
| r ≈ 1 | Relación lineal positiva muy fuerte. |
| r ≈ 0,5 | Asociación positiva moderada, según contexto. |
| r ≈ 0 | Poca asociación lineal. |
| r ≈ −0,5 | Asociación negativa moderada. |
| r ≈ −1 | Relación lineal negativa muy fuerte. |
No existen cortes universales para “débil” o “fuerte”. El área, el ruido y el tamaño de muestra deben formar parte de la interpretación.
Observa cómo Pearson cambia con la dirección, dispersión, curvatura y un punto influyente.
r = 1 significa que todos los puntos están exactamente sobre una recta con pendiente positiva. r = −1 significa lo mismo con pendiente negativa.
La perfección es una propiedad de los pares observados, no una garantía de causalidad ni de que la relación continúe fuera del rango de datos.
Para los puntos de una parábola simétrica, Pearson puede dar r ≈ 0 aunque y dependa fuertemente de x. Esto ocurre porque las contribuciones positivas y negativas se cancelan.
La inspección visual y métodos alternativos son necesarios cuando la relación no parece lineal.
Pearson utiliza medias y productos de desviaciones, por lo que los outliers pueden alterar mucho su valor. Un punto extremo en x puede ser especialmente influyente.
Se debe revisar el dato, evaluar su pertenencia a la población y comparar la correlación con y sin ese punto, siempre informando el procedimiento.
Para una lectura inferencial clásica suelen revisarse:
Para describir una muestra no siempre se exige normalidad, pero para pruebas e intervalos los supuestos importan.
Una prueba puede evaluar si la correlación poblacional es distinta de cero. Un valor p pequeño indica evidencia contra la hipótesis de correlación cero bajo el modelo, no una relación necesariamente importante.
Con muestras grandes, una correlación pequeña puede resultar significativa; con muestras pequeñas, una relación relevante puede no alcanzar significancia.
Un intervalo de confianza expresa la incertidumbre sobre la correlación poblacional. La transformación z de Fisher suele utilizarse para construir intervalos bajo condiciones apropiadas.
Informar r junto con un intervalo ayuda a distinguir una estimación precisa de una muy incierta.
Pearson describe asociación lineal. No indica qué variable causa a la otra ni controla por variables omitidas.
Una tercera variable puede explicar ambas, la relación puede ser inversa o puede tratarse de una tendencia temporal compartida. Las conclusiones causales necesitan diseño y conocimiento del proceso.
En regresión lineal simple, el signo de r coincide con el de la pendiente. Además, R² = r² indica la proporción de variabilidad lineal asociada al modelo.
R² no conserva la dirección: por eso siempre debe informarse r o la pendiente junto con él.
El ejemplo calcula Pearson desde las desviaciones respecto de las medias y dibuja los puntos con la recta de regresión.
const pares = [
{ x: 1, y: 2 }, { x: 2, y: 4 },
{ x: 3, y: 5 }, { x: 4, y: 8 }, { x: 5, y: 9 }
];
const mediaX = pares.reduce((suma, par) => suma + par.x, 0) / pares.length;
const mediaY = pares.reduce((suma, par) => suma + par.y, 0) / pares.length;
const sx = pares.reduce((suma, par) => suma + (par.x - mediaX) ** 2, 0);
const sy = pares.reduce((suma, par) => suma + (par.y - mediaY) ** 2, 0);
const cov = pares.reduce((suma, par) => suma + (par.x - mediaX) * (par.y - mediaY), 0);
const r = cov / Math.sqrt(sx * sy);
const pendiente = cov / sx;
const intercepto = mediaY - pendiente * mediaX;
console.log('r de Pearson:', r.toFixed(3));
console.log('Recta:', `y = ${intercepto.toFixed(2)} + ${pendiente.toFixed(2)}x`);
if (typeof document !== 'undefined') {
const canvas = document.getElementById('canvasPearsonCodigo');
const contexto = canvas.getContext('2d');
const area = { izquierda: 70, derecha: 770, arriba: 60, base: 350 };
const escalaX = valor => area.izquierda + (valor - 0) / 6 * (area.derecha - area.izquierda);
const escalaY = valor => area.base - (valor - 0) / 11 * (area.base - area.arriba);
contexto.clearRect(0, 0, canvas.width, canvas.height);
contexto.fillStyle = '#fbfdff'; contexto.fillRect(0, 0, canvas.width, canvas.height);
contexto.fillStyle = '#17324d'; contexto.font = 'bold 18px Segoe UI, Arial'; contexto.fillText('Correlación de Pearson', 22, 30);
contexto.strokeStyle = '#d8e8f7'; contexto.lineWidth = 1; contexto.font = '11px Segoe UI, Arial'; contexto.fillStyle = '#28587d'; contexto.textAlign = 'center';
for (let valor = 0; valor <= 6; 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); }
for (let valor = 0; valor <= 10; valor += 2) { const y = escalaY(valor); contexto.beginPath(); contexto.moveTo(area.izquierda, y); contexto.lineTo(area.derecha, y); contexto.stroke(); contexto.textAlign = 'right'; contexto.fillText(valor, area.izquierda - 8, y + 4); contexto.textAlign = 'center'; }
contexto.strokeStyle = '#286a91'; contexto.lineWidth = 3; contexto.beginPath(); contexto.moveTo(escalaX(0), escalaY(intercepto)); contexto.lineTo(escalaX(6), escalaY(intercepto + pendiente * 6)); contexto.stroke();
contexto.fillStyle = '#e76f51'; pares.forEach(par => { contexto.beginPath(); contexto.arc(escalaX(par.x), escalaY(par.y), 7, 0, Math.PI * 2); contexto.fill(); });
contexto.fillStyle = '#286a91'; contexto.font = 'bold 13px Segoe UI, Arial'; contexto.textAlign = 'left'; contexto.fillText(`r = ${r.toFixed(3)}`, 90, 85);
}El resultado debe incluir r, n, unidades, método, intervalo o valor p si se realiza inferencia, y una visualización de los pares.
El signo y la fuerza deben aparecer también en texto. El color de los puntos no debe ser la única información.
La correlación de Pearson ofrece una medida estandarizada y útil de asociación lineal. Su cálculo es directo, pero su interpretación responsable exige revisar la nube de puntos, los outliers, los grupos, el tamaño de muestra y el objetivo del análisis.
En el próximo tema estudiaremos la correlación de Spearman, basada en rangos.