Lo que generalmente uso como medida del error de reconstrucción (en el contexto de PCA, pero también de otros métodos) es el coeficiente de determinación R2y el error cuadrático medio cuadrático (o RMSE normalizado). Estos dos son fáciles de calcular y le dan una idea rápida de lo que hizo la reconstrucción.
Cálculo
Asumamos X son sus datos originales y F son los datos comprimidos
los R2 del yot h La variable se puede calcular como:
R2yo= 1 -∑nortej = 1(Xj , i-Fj , i)2∑nortej = 1X2j , i
Ya que R2= 1.0 para un ajuste perfecto, puede juzgar la reconstrucción por lo cerca que esté R2 es a 1.0.
El RMSE de la yot h La variable se puede calcular como:
RMSEyo=(Xyo-Fyo)2¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯--------√
que también puede normalizar según la cantidad que más le convenga (norma norte), A menudo normalizo por el valor medio, el NRMSE es así:
NRMSEyo=RMSEyonorteyo=(Xyo-Fyo)2¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯X2yo¯¯¯¯¯¯¯------√
Cálculo
En caso de que esté usando Python, puede calcularlos como:
from sklearn.metrics import r2_score
from sklearn.metrics import mean_squared_error
from math import sqrt
import numpy as np
r2 = r2_score(X, f)
rmse = sqrt(mean_squared_error(X, f))
# RMSE normalised by mean:
nrmse = rmse/sqrt(np.mean(X**2))
donde X
están los datos originales y f
son los datos comprimidos.
Visualización
En caso de que sea útil para usted hacer un análisis de sensibilidad, puede juzgar visualmente cómo R2o RMSE cambian cuando cambia los parámetros de su compresión. Por ejemplo, esto puede ser útil en el contexto de PCA cuando desee comparar reconstrucciones con un número creciente de los Componentes principales retenidos. A continuación, verá que al aumentar el número de modos, su ajuste se acerca al modelo: