RMSE (Root Mean Squared Error)

El Error Cuadrático Medio Raíz es simplemente la raíz cuadrada del MSE. Esto lo hace mucho más interpretable porque las unidades vuelven a ser las mismas que los datos originales.

La fórmula

RMSE=MSE=1ni=1n(yiy^i)2RMSE = \sqrt{MSE} = \sqrt{\frac{1}{n} \sum_{i=1}^{n} (y_i - \hat{y}_i)^2}

¿Qué significa cada parte?

  • x\sqrt{\phantom{x}} — Raíz cuadrada (para "deshacer" el cuadrado)
  • nn — Número total de observaciones
  • yiy_i — Valor real de la observación ii
  • y^i\hat{y}_i — Valor predicho por el modelo
  • (yiy^i)2(y_i - \hat{y}_i)^2 — Error al cuadrado

¿Por qué RMSE y no MSE?

Imagina que predices precios de casas en dólares:

  • MSE = 10,000,000,000 (diez mil millones de dólares²) — ¿Qué significa eso?
  • RMSE = 100,000 dólares — Mucho más claro: el error típico es de $100k

Ejemplo numérico

Continuando el ejemplo anterior donde MSE = 200 millones²:

RMSE=200,000,00014,142RMSE = \sqrt{200,000,000} \approx 14,142

El error "típico" del modelo es de aproximadamente $14,142.


Implementación

Minerva proporciona el método RMSE directamente. En scikit-learn debes calcular la raíz manualmente:

MinervaRMSE.java
1
2
3
4
import com.minerva.metrics.RegressionMetrics.RegressionMetrics;
RegressionMetrics metrics = new RegressionMetrics();
double rmse = metrics.RMSE(actual, predicted); // Directo

API Reference

RMSE(Vector actual, Vector predicted)

Example.java
1
double rmse = metrics.RMSE(actual, predicted);
ParámetroTipoDescripción
actualVectorValores reales
predictedVectorValores predichos

Retorna: double

Interpretación

AspectoValor
Rango[0, inf)
Mejor valor0
UnidadesLas mismas que y

¿Cuándo usar RMSE?

Recomendado:

  • Métrica más popular en competencias de ML (Kaggle)
  • Cuando quieres penalizar errores grandes
  • Cuando necesitas unidades interpretables
  • Cuando comparas con desviación estándar de los datos