필터 지우기
필터 지우기

Difference between FitPercent value calculated in idpoly class and manually. (Get predicted y value in ARX function)

조회 수: 5 (최근 30일)
I want to compare accuracy of my several modeling method, arx is one of them.
So I calculate predicted y value of arx model with function 'compare'.
But when I calculate FitPercent like this documentation. https://www.mathworks.com/help/ident/ug/model-quality-metrics.html
My calculation and FitPercent value from sys.Report.Fit.FitPercent are different.
So I have 2 questions.
1. Is it right method using compare function to get predicted y value? Is there any others?
2. If calculation procedure of predicted y value is not wrong, why the NRMSE value calculated by predicted y value and sys.Report.Fit.FitPercent are different?
load iddata1
sys_armax = armax(z1,[2 3 1 0]);
[ymodel, ~, ~] = compare(z1, sys_armax);
ymodel = ymodel.y;
ymeasured = z1.y;
fit1 = goodnessOfFit(ymodel, ymeasured, 'NRMSE') % using function 'goodnessOfFit' to calculate NRMSE
fit2 = 100*(1-norm(ymeasured-ymodel)/norm(ymeasured-mean(ymeasured))) % From documentation
fit3 = sys_armax.Report.Fit.FitPercent % Get NRMSE value from idpoly class.
fit1 =
0.7027
fit2 =
70.2738
fit3 =
76.0267

답변 (0개)

카테고리

Help CenterFile Exchange에서 Nonlinear ARX Models에 대해 자세히 알아보기

태그

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by