Main Content

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:

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.

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.

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%.

Related Topics