Ejemplos
A continuación, te muestro cómo calcular las diferentes medidas de error en Python utilizando ejemplos concretos. Para ello, utilizaremos un conjunto de valores reales y predicciones.
Ejemplo de Datos
Supongamos que tenemos los siguientes valores reales y predicciones:
import numpy as np
# Valores reales
y_real = np.array([10, 20, 30, 40, 50])
# Valores observados/predicciones
y_pred = np.array([8, 22, 28, 45, 55])
1. Error Absoluto
# Calcular el error absoluto
error_absoluto = np.abs(y_real - y_pred)
print("Error Absoluto:", error_absoluto)
2. Error Cuadrático
# Calcular el error cuadrático
error_cuadratico = (y_real - y_pred) ** 2
print("Error Cuadrático:", error_cuadratico)
3. Error Cuadrático Medio (MSE)
# Calcular el MSE
mse = np.mean((y_real - y_pred) ** 2)
print("Error Cuadrático Medio (MSE):", mse)
4. Error Absoluto Medio (MAE)
# Calcular el MAE
mae = np.mean(np.abs(y_real - y_pred))
print("Error Absoluto Medio (MAE):", mae)
5. Error Relativo
# Calcular el error relativo
error_relativo = np.abs(y_real - y_pred) / np.abs(y_real) * 100
print("Error Relativo (%):", error_relativo)
6. R² (Coeficiente de Determinación)
# Calcular R²
ss_res = np.sum((y_real - y_pred) ** 2)
ss_tot = np.sum((y_real - np.mean(y_real)) ** 2)
r2 = 1 - (ss_res / ss_tot)
print("Coeficiente de Determinación (R²):", r2)
Código Completo
Aquí está todo junto en un solo bloque de código:
import numpy as np
# Valores reales
y_real = np.array([10, 20, 30, 40, 50])
y_pred = np.array([8, 22, 28, 45, 55])
# 1. Error Absoluto
error_absoluto = np.abs(y_real - y_pred)
print("Error Absoluto:", error_absoluto)
# 2. Error Cuadrático
error_cuadratico = (y_real - y_pred) ** 2
print("Error Cuadrático:", error_cuadratico)
# 3. Error Cuadrático Medio (MSE)
mse = np.mean(error_cuadratico)
print("Error Cuadrático Medio (MSE):", mse)
# 4. Error Absoluto Medio (MAE)
mae = np.mean(error_absoluto)
print("Error Absoluto Medio (MAE):", mae)
# 5. Error Relativo
error_relativo = np.abs(y_real - y_pred) / np.abs(y_real) * 100
print("Error Relativo (%):", error_relativo)
# 6. R² (Coeficiente de Determinación)
ss_res = np.sum((y_real - y_pred) ** 2)
ss_tot = np.sum((y_real - np.mean(y_real)) ** 2)
r2 = 1 - (ss_res / ss_tot)
print("Coeficiente de Determinación (R²):", r2)
Resultados Esperados
Al ejecutar este código, deberías obtener una salida similar a la siguiente, dependiendo de los valores reales y predicciones que se utilicen:
Error Absoluto: [2 2 2 5 5]
Error Cuadrático: [ 4 4 4 25 25]
Error Cuadrático Medio (MSE): 12.0
Error Absoluto Medio (MAE): 2.0
Error Relativo (%): [20. 10. 6.66666667 12.5 10. ]
Coeficiente de Determinación (R²): 0.9294117647058824