Estimation Report
What is an Estimation Report?
The estimation report contains information about the results and
options used for a model estimation. This report is stored in the Report
property of the estimated model. The exact contents of the report depend on the estimator
function you use to obtain the model.
Specifically, the estimation report has the following information:
Status of the model — whether the model is constructed or estimated
How the initial conditions are handled during estimation
Termination conditions for iterative estimation algorithms
Final prediction error (FPE), percent fit to estimation data, and mean-square error (MSE)
Raw, normalized, and small sample-size corrected Akaike Information Criteria (AIC) and Bayesian Information Criterion (BIC)
Type and properties of the estimation data
All estimated quantities — parameter values, initial states for state-space and grey-box models, and their covariances
The option set used for configuring the estimation algorithm
To learn more about the report produced for a specific estimator, see the corresponding reference page.
You can use the report to:
Keep an estimation log, such as the data, default and other settings used, and estimated results such as parameter values, initial conditions, and fit. See Access Estimation Report.
Compare options or results of separate estimations. See Compare Estimated Models Using Estimation Report.
Configure another estimation using the previously specified options. See Analyze and Refine Estimation Results Using Estimation Report.
Access Estimation Report
This example shows how to access the estimation report.
The estimation report keeps a log of information such as the data used, default and other settings used, and estimated results such as parameter values, initial conditions, and fit.
After you estimate a model, use dot notation to access the estimation report. For example:
load iddata1 z1; np = 2; sys = tfest(z1,np); sys_report = sys.Report
sys_report = Status: 'Estimated using TFEST' Method: 'TFEST' InitializeMethod: 'iv' N4Weight: 'Not applicable' N4Horizon: 'Not applicable' InitialCondition: 'estimate' Fit: [1x1 struct] Parameters: [1x1 struct] OptionsUsed: [1x1 idoptions.tfest] RandState: [] DataUsed: [1x1 struct] Termination: [1x1 struct]
Explore the options used during the estimation.
sys.Report.OptionsUsed
Option set for the tfest command: InitializeMethod: 'iv' InitializeOptions: [1x1 struct] InitialCondition: 'auto' Display: 'off' InputInterSample: 'auto' InputOffset: [] OutputOffset: [] EstimateCovariance: 1 Regularization: [1x1 struct] SearchMethod: 'auto' SearchOptions: '<Optimization options set>' WeightingFilter: [] EnforceStability: 0 OutputWeight: [] Advanced: [1x1 struct]
View the fit of the transfer function model with the estimation data.
sys.Report.Fit
ans = struct with fields:
FitPercent: 70.7720
LossFcn: 1.6575
MSE: 1.6575
FPE: 1.7252
AIC: 1.0150e+03
AICc: 1.0153e+03
nAIC: 0.5453
BIC: 1.0372e+03
Compare Estimated Models Using Estimation Report
This example shows how to compare multiple estimated models using the estimation report.
Load estimation data.
load iddata1 z1;
Estimate a transfer function model.
np = 2; sys_tf = tfest(z1,np);
Estimate a state-space model.
sys_ss = ssest(z1,2);
Estimate an ARX model.
sys_arx = arx(z1, [2 2 1]);
Compare the percentage fit of the estimated models to the estimation data.
fit_tf = sys_tf.Report.Fit.FitPercent
fit_tf = 70.7720
fit_ss = sys_ss.Report.Fit.FitPercent
fit_ss = 76.3808
fit_arx = sys_arx.Report.Fit.FitPercent
fit_arx = 68.7220
The comparison shows that the state-space model provides the best percent fit to the data.
Analyze and Refine Estimation Results Using Estimation Report
This example shows how to analyze an estimation and configure another estimation using the estimation report.
Estimate a state-space model that minimizes the 1-step ahead prediction error.
load mrdamper z = iddata(F,V,Ts); opt = ssestOptions; opt.Focus = 'prediction'; opt.Display = 'on'; sys1 = ssest(z,2,opt);
sys1
has good 1-step prediction ability as indicated by >90% fit of the prediction results to the data.
Use compare(z,sys1)
to check the model's ability to simulate the measured output F
using the input V
. The model's simulated response has only 45% fit to the data.
Perform another estimation where you retain the original options used for sys1
except that you change the focus to minimize the simulation error.
Fetch the options used by sys1
stored in its Report
property. This approach is useful when you have saved the estimated model but not the corresponding option set used for the estimation.
opt2 = sys1.Report.OptionsUsed;
Change the focus to simulation and re-estimate the model.
opt2.Focus = 'simulation';
sys2 = ssest(z,sys1,opt2);
Compare the simulated response to the estimation data using compare(z,sys1,sys2)
. The fit improves to 53%.