Я изучаю среднеквадратичную ошибку (RMSE) и нормированную среднеквадратичную ошибку (NRMSE).
Согласно статье Википедии и согласно Matlab'sfunction .
Почему значение NRMSE отличается от NRMSE вручную в Википедии и NRMSE на compare
коде MATLAB?
Не могли бы вы научить меня вычислять compare
функцию математически?
Например, я сделал как ниже.Метод Википедии:
Vt = 1:11;
V1 = [11.5 7.6 6.7 8.3 7.7 7.4 6.5 5.6 6.6 11.2 11.9]; % obseved data
V2 = [11.9 10.8 8.3 9.6 11.4 10.2 12.4 9.6 8.3 8 9]; % estimationd data
RMSE = sqrt(mean((V1-V2).^2)); % RMSE = 3.14107
NRMSE = RMSE/(max(V2)-min(V2)) % NRMSE = 0.71
Сравнение внутренней функции MATLAB:
% to use compare
VV1 = iddata(V1', Vt');
VV2 = iddata(V2', Vt');
compare(VV1,VV2) % -48.46%