# pe

Prediction error for identified model

## Syntax

``err = pe(sys,data,K)``
``err = pe(sys,data,K,opt)``
``````[err,ice,sys_pred] = pe(___)``````
``pe(sys,___)``
``pe(sys,Linespec,data,___)``
``pe(sys1,...,sysN,data,___)``
``pe(sys1,Linespec1,...,sysN,LinespecN,data,___)``

## Description

### Return Results

example

````err = pe(sys,data,K)` returns the `K`-step prediction error for the output of the identified model `sys`. The function determines the prediction error by subtracting the `K`-step ahead predicted response from the measured output. The prediction error is calculated for the time span covered by `data` . For more information on the computation of predicted response, see `predict`.```
````err = pe(sys,data,K,opt)` returns the prediction error using the option set `opt` to specify prediction error calculation behavior.```
``````[err,ice,sys_pred] = pe(___)``` also returns the estimated initial conditions `ice` and a predictor system `sys_pred`. You can use this syntax with either of the previous input-argument combinations.```

### Plot Results

````pe(sys,___)` plots the prediction error. To change display options in the plot, right-click the plot to access the context menu. For more details about this menu, see Tips.```
````pe(sys,Linespec,data,___)` uses `Linespec` to specify the line type, marker symbol, and color.```

example

````pe(sys1,...,sysN,data,___)` plots the prediction errors for multiple identified models. `pe` automatically chooses colors and line styles.```
````pe(sys1,Linespec1,...,sysN,LinespecN,data,___)` uses the line type, marker symbol, and color specified for each model.```

## Examples

collapse all

Compute the prediction error for an ARIX model.

Use the error data to compute the variance of the noise source $e$($t$).

Obtain noisy data.

```noise = [(1:150)';(151:-1:2)']; load iddata1 z1; z1.y = z1.y+noise;```

`noise` is a triangular wave that is added to the output signal of `z1`, an `iddata` object.

Estimate an ARIX model for the noisy data.

`sys = arx(z1,[2 2 1],'IntegrateNoise',true);`

Compute the prediction error of the estimated model.

```K = 1; err = pe(z1,sys,K);```

`pe` computes the one-step prediction error for the output of the identified model, `sys`.

Compute the variance of the noise source, $e$($t$).

`noise_var = err.y'*err.y/(299-nparams(sys)-order(sys));`

Compare the computed value with model's noise variance.

```sys.NoiseVariance ```

The output of `sys.NoiseVariance` matches the computed variance.

```load iddata1; data = z1;```

Estimate an ARX model of order [2 2 1].

`sys1 = arx(data,[2 2 1]);`

Estimate a transfer function with 2 poles.

` sys2 = tfest(data,2);`

Plot the prediction error for the estimated models. Specify prediction horizon as 10, and specify the line styles for plotting the prediction error of each system.

`pe(sys1,'r--',sys2,'b',data,10);`

To change the display options, right-click the plot to access the context menu. For example, to view the estimation data, select Show Validation Data from the context menu. To view the predicted outputs, select Predicted Response Plot.

## Input Arguments

collapse all

Identified model, specified as a model object.

Measured input/output history, specified as an `iddata` object. This object can contain data from multiple experiments.

If `sys` is a time series model, then specify `data` as an `iddata` object with no inputs or as matrix of past time series values.

Prediction horizon, specified as a positive integer that is a multiple of the data sample time. To compute the pure simulation error, set `K` to `inf`.

Prediction options, specified as a `peOptions` option set.

Options specified by `opt` include:

• Handling of initial conditions

• Data offsets

Line style, marker, and color of both the line and marker, specified as a character vector, such as `'b'` or `'b+:'`.

For more information about configuring `LineSpec`, see the `Linespec` input argument of `plot`.

## Output Arguments

collapse all

Prediction error, returned in the same form as `data``iddata` object or numeric matrix.

The function uses outputs up to the time `t-K` and inputs up to the time instant `t` to calculate the prediction error at the time instant `t`.

When `K` = `Inf`, the predicted output is a pure simulation of the system.

For multi-experiment data, `err` contains the prediction error data for each experiment. The time span of the prediction error matches that of the observed data.

Estimated initial conditions, returned as a column vector of initial states for state-space systems and as an `initialCondition` object for transfer function and polynomial systems.

Predictor system, specified as a dynamic system model.

When you simulate `sys_pred`, using ```[data.OutputData data.InputData]``` as the input, the output `yp` is such that `err.OutputData = data.OutputData - yp`. For state-space models, the software uses `ice` as the initial condition when simulating `sys_pred`.

For discrete-time data, `sys_pred` is always a discrete-time model.

For multi-experiment data, `sys_pred` is an array of models, with one entry for each experiment.

## Tips

• Right-clicking the plot of the prediction error opens the context menu, where you can access the following options:

• Systems — Select systems to view prediction error. By default, the prediction error of all systems is plotted.

• Data Experiment — For multi-experiment data only. Toggle between data from different experiments.

• Characteristics — View the following data characteristics:

• Peak Value — View the absolute peak value of the data. Applicable for time–domain data only.

• Peak Response — View peak response of the data. Applicable for frequency–response data only.

• Mean Value — View mean value of the data. Applicable for time–domain data only.

• Show — For frequency–domain and frequency–response data only.

• Magnitude — View magnitude of frequency response of the system.

• Phase — View phase of frequency response of the system.

• Show Validation Data — Plot data used to compute the prediction error.

• I/O Grouping — For datasets containing more than one input or output channel. Select grouping of input and output channels on the plot.

• None — Plot input-output channels in their own separate axes.

• All — Group all input channels together and all output channels together.

• I/O Selector — For datasets containing more than one input or output channel. Select a subset of the input and output channels to plot. By default, all output channels are plotted.

• Grid — Add grids to the plot.

• Normalize — Normalize the y-scale of all data in the plot.

• Full View — Return to full view. By default, the plot is scaled to full view.

• Prediction Horizon — Set the prediction horizon, or choose simulation.

• Initial Condition — Specify handling of initial conditions. Not applicable for frequency-response data.

Specify as one of the following:

• Estimate — Treat the initial conditions as estimation parameters.

• Zero — Set all initial conditions to zero.

• Absorb delays and estimate — Absorb nonzero delays into the model coefficients and treat the initial conditions as estimation parameters. Use this option for discrete-time models only.

• Predicted Response Plot — Plot the predicted model response.

• Prediction Error Plot — Plot the error between the model response and prediction data. By default, the error plot is shown.

• Properties — Open the Property Editor dialog box to customize plot attributes.

## Version History

Introduced before R2006a