39. Calidad del ajuste y coeficiente de determinación (R²)

R² compara la variabilidad que explica el modelo con la variabilidad total de los datos. Es una herramienta importante para evaluar una recta, pero no debe interpretarse de manera aislada.

39.1 ¿Qué significa calidad del ajuste?

Un modelo tiene un buen ajuste cuando sus predicciones se encuentran razonablemente cerca de los valores observados y no dejan patrones sistemáticos en los residuos.

La calidad del ajuste no depende solamente de que la recta pase cerca de varios puntos. También hay que considerar el objetivo del análisis, las unidades del error y el costo de equivocarse.

39.2 Variabilidad total

Antes de ajustar una recta, podemos comparar cada valor observado con la media de y. La variabilidad total se resume mediante:

SCT = Σ(yᵢ − ȳ)²

SCT significa suma de cuadrados total. Representa cuánta variación existe en y antes de utilizar x para explicar algo.

39.3 Variabilidad residual

Después de ajustar la recta, cada observación tiene un residuo:

eᵢ = yᵢ − ŷᵢ

La variabilidad que queda sin explicar por el modelo es:

SCE = Σ(yᵢ − ŷᵢ)²

Un valor pequeño de SCE indica que los datos están cerca de sus predicciones, aunque siempre debe interpretarse en las unidades de y.

39.4 Variabilidad explicada

La parte de la variación asociada con las predicciones del modelo se denomina suma de cuadrados explicada:

SCExp = Σ(ŷᵢ − ȳ)²

Para evitar confundirla con la suma de cuadrados de errores, en este tema llamaremos SC explicada a esta cantidad y SC residual a la suma de los cuadrados de los residuos.

SC total = SC explicada + SC residual

39.5 Fórmula de R²

R² = 1 − SC residual / SC total

También puede escribirse como:

R² = SC explicada / SC total

En una regresión lineal simple con intercepto, R² coincide con el cuadrado de la correlación de Pearson: R² = r².

39.6 Interpretar R²

Si R² = 0,72, se dice que el modelo explica el 72 % de la variabilidad observada de y en esa muestra mediante la relación lineal con x. El 28 % restante queda en los residuos o no está explicado por este modelo.

R² cercano a 1Los valores están próximos a las predicciones de la recta.
R² cercano a 0La recta explica poca variabilidad de y.
R² intermedioExiste explicación parcial; hay que revisar el contexto y los residuos.

Decir “explica” en este contexto es una afirmación sobre variabilidad estadística, no una prueba de que x cause y.

39.7 Cálculo paso a paso

Supongamos que para cinco observaciones obtenemos:

y observadoŷ estimadoResiduoResiduo²
5251,60,40,16
5656,3−0,30,09
6161,000
6565,7−0,70,49
7170,40,60,36

La suma de cuadrados residual es 1,10. Si la suma de cuadrados total fuera 238,80:

R² = 1 − 1,10 / 238,80 ≈ 0,995

En este ejemplo, la recta representa muy bien la variabilidad de las calificaciones observadas.

39.8 Laboratorio interactivo

Comparar niveles de ajuste

39.9 R² no mide el error en las unidades originales

R² es una proporción sin unidades. Para saber si el error es aceptable en la práctica, hay que revisar medidas como el error estándar de la estimación, el error absoluto medio o la raíz del error cuadrático medio.

Un R² alto puede coexistir con errores grandes si la variable y tiene una dispersión enorme. Por eso no reemplaza la inspección de los residuos ni el análisis de las predicciones.

39.10 R² alto no significa modelo correcto

Una relación temporal común, una variable omitida o un valor atípico pueden producir un R² alto. Además, una curva puede tener muchos puntos cerca de una recta en una zona y mostrar un patrón sistemático en otra.

Siempre se debe observar la nube de puntos y el gráfico de residuos. Un único número no puede revelar todas las características de los datos.

39.11 R² bajo no significa que el análisis sea inútil

En ciencias sociales, mediciones humanas o fenómenos con mucha variabilidad, un R² moderado o bajo puede acompañar una relación real y útil. Una variable puede ofrecer información predictiva aunque no explique la mayor parte de la variación individual.

La utilidad depende del propósito: explicar, predecir, seleccionar casos o tomar una decisión. El umbral aceptable se define en el contexto, no por una regla universal.

39.12 Comparar modelos

Al agregar variables, R² nunca disminuye en una regresión por mínimos cuadrados. Esto puede hacer que un modelo más complejo parezca mejor aunque la nueva variable aporte muy poco.

Para comparar modelos con distinta cantidad de predictores se puede utilizar R² ajustado, validación cruzada, criterios de información y medidas de error fuera de la muestra.

39.13 R² y causalidad

El porcentaje de variabilidad explicado por una recta no establece una relación causal. Un modelo puede predecir bien sin explicar el mecanismo que produce los datos.

Para hablar de causas hay que considerar el diseño del estudio, variables de confusión, temporalidad y conocimientos del área.

39.14 R² y valores atípicos

Un punto influyente puede aumentar o disminuir notablemente R². Conviene comparar el ajuste con y sin el caso, verificar la calidad de la medición y documentar la decisión.

Eliminar datos únicamente para obtener un R² mayor produce una conclusión sesgada y difícil de reproducir.

39.15 Implementación en JavaScript

Este ejemplo ajusta la recta, calcula la suma de cuadrados total y residual, obtiene R² y dibuja el ajuste en un canvas que se muestra al ejecutar.

const datos = [
  { x: 1, y: 52 },
  { x: 2, y: 56 },
  { x: 3, y: 61 },
  { x: 4, y: 65 },
  { x: 5, y: 71 }
];

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 sumaTotal = datos.reduce((suma, dato) => suma + (dato.y - mediaY) ** 2, 0);
const sumaResidual = datos.reduce((suma, dato, indice) => suma + (dato.y - predicciones[indice]) ** 2, 0);
const r2 = 1 - sumaResidual / sumaTotal;

console.log('SC total:', sumaTotal.toFixed(3));
console.log('SC residual:', sumaResidual.toFixed(3));
console.log('R²:', r2.toFixed(3));
console.log('Variabilidad explicada:', (r2 * 100).toFixed(1) + '%');

if (typeof document !== 'undefined') {
  const canvas = document.getElementById('canvasR2Codigo');
  const contexto = canvas.getContext('2d');
  const area = { izquierda: 70, derecha: 780, arriba: 35, base: 390 };
  const escalaX = valor => area.izquierda + (valor - 1) / 4 * (area.derecha - area.izquierda);
  const escalaY = valor => area.base - (valor - 45) / 30 * (area.base - area.arriba);

  contexto.clearRect(0, 0, canvas.width, canvas.height);
  contexto.strokeStyle = '#b3cde5'; contexto.lineWidth = 1;
  contexto.beginPath(); contexto.moveTo(area.izquierda, area.base); contexto.lineTo(area.derecha, area.base); contexto.stroke();
  contexto.beginPath(); contexto.moveTo(area.izquierda, area.base); contexto.lineTo(area.izquierda, area.arriba); contexto.stroke();
  contexto.strokeStyle = '#316b9c'; contexto.lineWidth = 3;
  contexto.beginPath(); contexto.moveTo(escalaX(1), escalaY(intercepto + pendiente)); contexto.lineTo(escalaX(5), escalaY(intercepto + pendiente * 5)); contexto.stroke();
  contexto.fillStyle = '#28577f';
  datos.forEach(dato => { contexto.beginPath(); contexto.arc(escalaX(dato.x), escalaY(dato.y), 7, 0, Math.PI * 2); contexto.fill(); });
}

39.16 Errores frecuentes

  • Interpretar R² como el porcentaje de casos predichos correctamente.
  • Confundir variabilidad explicada con causalidad.
  • Usar un R² alto como prueba de que el modelo es válido.
  • Ignorar las unidades y el tamaño de los errores.
  • Comparar R² de modelos con distintos datos sin justificación.
  • Agregar variables únicamente para aumentar R².

39.17 Qué debes recordar

R² = 1 − SC residual / SC total.
Indica qué proporción de la variabilidad de y representa el modelo lineal en los datos analizados. No mide causalidad, no reemplaza los residuos y no garantiza buenas predicciones fuera del rango observado.

39.18 Conclusión

El coeficiente de determinación resume la calidad del ajuste desde la perspectiva de la variabilidad explicada. Es útil para comunicar y comparar modelos, siempre que se acompañe con gráficos, medidas de error, revisión de supuestos y una interpretación prudente del contexto.