Main Content

Recommended Model Estimation Sequence

System identification is an iterative process, where you identify models with different structures from data and compare model performance. You start by estimating the parameters of simple model structures. If the model performance is poor, you gradually increase the complexity of the model structure. Ultimately, you choose the simplest model that best describes the dynamics of your system.

Another reason to start with simple model structures is that higher-order models are not always more accurate. Increasing model complexity increases the uncertainties in parameter estimates and typically requires more data (which is common in the case of nonlinear models).


Model structure is not the only factor that determines model accuracy. If your model is poor, you might need to preprocess your data by removing outliers or filtering noise. For more information, see Ways to Prepare Data for System Identification.

Estimate impulse-response and frequency-response models first to gain insight into the system dynamics and assess whether a linear model is sufficient. For more information, see Correlation Models and Frequency-Response Models. Then, estimate parametric models in the following order:

  1. Transfer function, ARX polynomial, and state-space models provide the simplest structures. Estimation of ARX and state-space models let you determine the model orders.

    In the System Identification app. Choose to estimate the Transfer function models, ARX polynomial models, and the state-space model using the n4sid method.

    At the command line. Use the tfest, arx, and the n4sid commands, respectively.

    For more information, see Input-Output Polynomial Models and State-Space Models.

  2. ARMAX and BJ polynomial models provide more complex structures and require iterative estimation. Try several model orders and keep the model orders as low as possible.

    In the System Identification app. Select to estimate the BJ and ARMAX polynomial models.

    At the command line. Use the bj or armax commands.

    For more information, see Input-Output Polynomial Models.

  3. Nonlinear ARX or Hammerstein-Wiener models provide nonlinear structures. For more information, see Nonlinear Model Identification.

For general information about choosing you model strategy, see System Identification Overview. For information about validating models, see Validating Models After Estimation.