Apa yang biasanya saya gunakan sebagai ukuran kesalahan rekonstruksi (dalam konteks PCA, tetapi juga metode lain) adalah koefisien determinasi dan Root Mean Squared Error (atau RMSE yang dinormalisasi). Keduanya mudah untuk dihitung dan memberi Anda gambaran cepat tentang apa yang dilakukan rekonstruksi.R2
Perhitungan
Anggap adalah data asli Anda dan adalah data terkompresi.Xf
The dari variabel dapat dihitung sebagai:R2ith
R2i=1−∑nj=1(Xj,i−fj,i)2∑nj=1X2j,i
Karena untuk kesesuaian yang sempurna, Anda dapat menilai rekonstruksi dengan seberapa dekat dengan 1.0.R2=1.0R2
RMSE dari variabel dapat dihitung sebagai:ith
RMSEi=(Xi−fi)2¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯−−−−−−−−√
yang Anda juga dapat menormalkan dengan jumlah yang sesuai dengan Anda (norma ), saya sering menormalkan dengan nilai rata-rata, NRMSE demikian:N
NRMSEi=RMSEiNi=(Xi−fi)2¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯X2i¯¯¯¯¯¯¯−−−−−−√
Komputasi
Jika Anda menggunakan Python, Anda dapat menghitung ini sebagai:
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))
dimana X
data asli dan f
data terkompresi.
Visualisasi
Jika Anda perlu melakukan beberapa analisis sensitivitas, Anda dapat menilai secara visual bagaimana atau RMSE berubah ketika Anda mengubah parameter kompresi Anda. Misalnya, ini dapat berguna dalam konteks PCA ketika Anda ingin membandingkan rekonstruksi dengan peningkatan jumlah Komponen Utama yang dipertahankan. Di bawah ini Anda melihat bahwa meningkatkan jumlah mode semakin mendekati model:R2