Residuals are differences between the onesteppredicted output from the model and the measured output from the validation data set. Thus, residuals represent the portion of the validation data not explained by the model.
Residual analysis consists of two tests: the whiteness test and the independence test.
According to the whiteness test criteria, a good model has the residual autocorrelation function inside the confidence interval of the corresponding estimates, indicating that the residuals are uncorrelated.
According to the independence test criteria, a good model has residuals uncorrelated with past inputs. Evidence of correlation indicates that the model does not describe how part of the output relates to the corresponding input. For example, a peak outside the confidence interval for lag k means that the output y(t) that originates from the input u(tk) is not properly described by the model.
Your model should pass both the whiteness and the independence tests, except in the following cases:
For outputerror (OE) models and when using instrumentalvariable
(IV) methods, make sure that your model shows independence of e
and u
,
and pay less attention to the results of the whiteness of e
.
In this case, the modeling focus is on the dynamics G and not the disturbance properties H.
Correlation between residuals and input for negative lags, is not necessarily an indication of an inaccurate model.
When current residuals at time t affect future input values, there might be feedback in your system. In the case of feedback, concentrate on the positive lags in the crosscorrelation plot during model validation.
You can validate parametric linear and nonlinear models by checking the behavior of the model residuals. For a description of residual analysis, see What Residual Plots Show for Different Data Domains.
Note: Residual analysis plots are not available for frequency response (FRD) models. For timeseries models, you can only generate modeloutput plots for parametric models using timedomain timeseries (no input) measured data. 
Residual analysis plots show different information depending on whether you use timedomain or frequencydomain inputoutput validation data.
For timedomain validation data, the plot shows the following two axes:
Autocorrelation function of the residuals for each output
Crosscorrelation between the input and the residuals for each inputoutput pair
Note: For timeseries models, the residual analysis plot does not provide any inputresidual correlation plots. 
For frequencydomain validation data, the plot shows the following two axes:
Estimated power spectrum of the residuals for each output
Transferfunction amplitude from the input to the residuals for each inputoutput pair
For linear models, you can estimate a model using timedomain data, and then validate the model using frequency domain data. For nonlinear models, the System Identification Toolbox™ product supports only timedomain data.
The following figure shows a sample Residual Analysis plot, created in the System Identification app.
The confidence interval corresponds to the range of residual values with a specific probability of being statistically insignificant for the system. The toolbox uses the estimated uncertainty in the model parameters to calculate confidence intervals and assumes the estimates have a Gaussian distribution.
For example, for a 95% confidence interval, the region around zero represents the range of residual values that have a 95% probability of being statistically insignificant. You can specify the confidence interval as a probability (between 0 and 1) or as the number of standard deviations of a Gaussian distribution. For example, a probability of 0.99 (99%) corresponds to 2.58 standard deviations.
You can display a confidence interval on the plot in the app to gain insight into the quality of the model. To learn how to show or hide confidence interval, see the description of the plot settings in How to Plot Residuals Using the App.
Note:
If you are working in the System Identification app, you can
specify a custom confidence interval. If you are using the 
To create a residual analysis plot for parametric linear and nonlinear models in the System Identification app, select the Model resids check box in the Model Views area. For general information about creating and working with plots, see Working with Plots.
To include or exclude a model on the plot, click the corresponding model icon in the System Identification app. Active models display a thick line inside the Model Board icon.
The following table summarizes the Residual Analysis plot settings.
Residual Analysis Plot Settings
Action  Command  

Display confidence intervals around zero.

 
Change the number of lags (data samples) for which to compute autocorellation and crosscorrelation functions.

 
(Multipleoutput system only)  Select the inputoutput by name in the Channel menu. 
The following table summarizes commands that generate residualanalysis plots for linear and nonlinear models. For detailed information about this command, see the corresponding reference page.
Command  Description  Example 

pe  Computes and plots model prediction errors.  To plot the prediction errors for the model pe(model,data) 
resid  Performs whiteness and independence tests on model residuals, or prediction errors. Uses validation data input as model input.  To plot residual correlations for the model resid(model,data) 
This example shows how you can use residual analysis to evaluate model quality.
To load the sample System Identification app session that contains estimated models, type the following command in the MATLAB^{®} Command Window:
systemIdentification('dryer2_linear_models')
To generate a residual analysis plot, select the Model resids check box in the System Identification app.
This opens an empty plot.
In the System Identification app window, click each model icon to display it on the Residual Analysis plot.
Note:
For the nonparametric models, 
The top axes show the autocorrelation of residuals for the output
(whiteness test). The horizontal scale is the number of lags, which
is the time difference (in samples) between the signals at which the
correlation is estimated. The horizontal dashed lines on the plot
represent the confidence interval of the corresponding estimates.
Any fluctuations within the confidence interval are considered to
be insignificant. Four of the models, arxqs
, n4s3
, arx223
and amx2222
,
produce residuals that enter outside the confidence interval. A good
model should have a residual autocorrelation function within the confidence
interval, indicating that the residuals are uncorrelated.
The bottom axes show the crosscorrelation of the residuals
with the input. A good model should have residuals uncorrelated with
past inputs (independence test). Evidence of correlation indicates
that the model does not describe how the output is formed from the
corresponding input. For example, when there is a peak outside the
confidence interval for lag k, this means that
the contribution to the output y(t) that originates
from the input u(tk) is not properly described
by the model. The models arxqs
and amx2222
extend
beyond the confidence interval and do not perform as well as the other
models.
To remove models with poor performance from
the Residual Analysis plot, click the model icons arxqs
, n4s3
, arx223
,
and amx2222
in the System Identification app.
The
Residual Analysis plot now includes only the three models that pass
the residual tests: arx692
, n4s6
,
and amx3322
.
The plots for these
models fall within the confidence intervals. Thus, when choosing the
best model among several estimated models, it is reasonable to pick amx3322
because
it is a simpler, loworder model.