Products & Services Solutions Academia Support User Community Company

Learn more about System Identification Toolbox   

Estimating Model Orders Using an ARX Model Structure

Why Estimate Model Order?

Model order is one or more integers that define the complexity of the model. In general, model order is related to the number of poles, the number of zeros, and the response delay (time in terms of the number of samples before the output responds to the input). The specific meaning of model order depends on the model structure.

To compute parametric black-box models, you must provide the model order as an input. If you do not know the order of your system, you can estimate it.

After completing the steps in this section, you get the following results:

Later, you explore different model structures by specifying model-order values that are slight variations around these initial estimate.

Commands for Estimating the Model Order

In this portion of the tutorial, you use struc, arxstruc, and selstruc to estimate and compare simple polynomial (ARX) models for a range of model orders and delays, and select the best orders based on the quality of the model.

The following list describes the results of using each command:

Model Order for the First Input-Output Combination

In this tutorial, there are two inputs to the system and one output and you estimate model orders for each input/output combination independently. You can either estimate the delays from the two inputs simultaneously or one input at a time.

It makes sense to try the following order combinations for the first input/output combination:

This is because the nonparametric models you estimated in Estimating Step- and Frequency-Response Models show that the response for the first input/output combination might have a second-order response. Similarly, in Estimating Delays in the Multiple-Input System, the delay for this input/output combination was estimated to be 5.

To estimate model order for the first input/output combination:

  1. Use struc to create a matrix of possible model orders.

    NN1 = struc(2:5,1:5,5);
  2. Use selstruc to compute the loss functions for the ARX models with the orders in NN1.

    selstruc(arxstruc(ze(:,:,1),zv(:,:,1),NN1))

      Note   (ze(:,:,1) selects the first input in the data.

    This command opens the interactive ARX Model Structure Selection window.

      Note   The Rissanen MDL and Akaike AIC criteria produces equivalent results and are both indicated by a blue rectangle on the plot.

    The red rectangle represents the best overall fit, which occurs for na=2, nb=3, and nk=5. The height difference between the red and blue rectangles is insignificant. Therefore, you can choose the parameter combination that corresponds to the lowest model order and the simplest model.

  3. Click the blue rectangle, and then click Select to choose that combination of orders:

    na=2

    nb=2

    nk=5

  4. To continue, press any key while in the MATLAB Command Window.

Model Order for the Second Input-Output Combination

It makes sense to try the following order combinations for the second input/output combination:

This is because the nonparametric models you estimated in Estimating Step- and Frequency-Response Models show that the response for the second input/output combination might have a first-order response. Similarly, in Estimating Delays in the Multiple-Input System, the delay for this input/output combination was estimated to be 10.

To estimate model order for the second input/output combination:

  1. Use struc to create a matrix of possible model orders.

    NN2 = struc(1:3,1:3,10);
  2. Use selstruc to compute the loss functions for the ARX models with the orders in NN2.

    selstruc(arxstruc(ze(:,:,2),zv(:,:,2),NN2))

    This command opens the interactive ARX Model Structure Selection window.

      Note   The Akaike AIC and the overall best fit criteria produces equivalent results. Both are indicated by the same red rectangle on the plot.

    The height difference between all of the rectangles is insignificant and all of these model orders result in similar model performance. Therefore, you can choose the parameter combination that corresponds to the lowest model order and the simplest model.

  3. Click the yellow rectangle on the far left, and then click Select to choose the lowest order: na=1, nb=1, and nk=10.

  4. To continue, press any key while in the MATLAB Command Window.

  


Recommended Products

Includes the most popular MATLAB recorded presentations with Q&A sessions led by MATLAB experts.

 © 1984-2009- The MathWorks, Inc.    -   Site Help   -   Patents   -   Trademarks   -   Privacy Policy   -   Preventing Piracy   -   RSS