Main Content

Specifying Initial States for Iterative Estimation Algorithms

When you estimate state-space models, you can specify how the algorithm treats initial states. This information supports the estimation procedures Estimate State-Space Models in System Identification App and Estimate State-Space Models at the Command Line.

In the System Identification app, set Initial state to one of the following options:

  • Auto — Automatically chooses Zero, Estimate, or Backcast based on the estimation data. If initial states have negligible effect on the prediction errors, the initial states are set to zero to optimize algorithm performance.

  • Zero — Sets all initial states to zero.

  • Estimate — Treats the initial states as an unknown vector of parameters and estimates these states from the data.

  • Backcast — Estimates initial states using a backward filtering method (least-squares fit).

At the command line, specify the method for handling initial states using the InitialState estimation option. For example, to estimate a fourth-order state-space model and set the initial states to be estimated from the data:

opt = ssestOptions('InitialState','estimate');
m = ssest(data,4,opt)

For a complete list of values for the InitialState model property, see the ssestOptions, n4sidOptions and ssregestOptions reference pages.


For the n4sid algorithm, 'auto' and 'backcast' are equivalent to 'estimate'.