|On this page…|
You can estimate multiple-output model directly using all the measured inputs and outputs, or you can try building models for subsets of the most important input and output channels. To learn more about each approach, see:
Modeling multiple-output systems is more challenging because input/output couplings require additional parameters to obtain a good fit and involve more complex models. In general, a model is better when more data inputs are included during modeling. Including more outputs typically leads to worse simulation results because it is harder to reproduce the behavior of several outputs simultaneously.
If you know that some of the outputs have poor accuracy and should be less important during estimation, you can control how much each output is weighed in the estimation. For more information, see Improving Multiple-Output Estimation Results by Weighing Outputs During Estimation.
You can perform estimation with linear and nonlinear models for multiple-output data.
You may find that it is harder for a single model to explain the behavior of several outputs. If you get a poor fit estimating a multiple-output model directly, you can try building models for subsets of the most important input and output channels.
Use this approach when no feedback is present in the dynamic system and there are no couplings between the outputs. If you are unsure about the presence of feedback, see How to Analyze Data Using the advice Command.
To construct partial models, use subreferencing to create partial data sets, such that each data set contains all inputs and one output. For more information about creating partial data sets, see the following sections in the System Identification Toolbox User's Guide:
For working in the System Identification app, see Create Data Sets from a Subset of Signal Channels.
For working at the command line, see the Select Data Channels, I/O Data and Experiments in iddata Objects.
After validating the single-output models, use vertical concatenation to combine these partial models into a single multiple-output model. For more information about concatenation, see Increasing Number of Channels or Data Points of iddata Objects or Adding Input or Output Channels in idfrd Objects.
You can try refining the concatenated multiple-output model using the original (multiple-output) data set.
When estimating linear and nonlinear black-box models for multiple-output systems, you can control the relative importance of output channels during the estimation process. The ability to control how much each output is weighed during estimation is useful when some of the measured outputs have poor accuracy or should be treated as less important during estimation. For example, if you have already modeled one output well, you might want to focus the estimation on modeling the remaining outputs. Similarly, you might want to refine a model for a subset of outputs.
For linear models, use the OutputWeight estimation to indicate the desired output weighting. If you set this option to 'noise', an automatic weighting, equal to the inverse of the estimated noise variance, is used for model estimation. You can also specify a custom weighting matrix, which must be a positive semi-definite matrix.
For nonlinear models, you can specify output weights directly in the estimation command using the Criterion and Weighting estimation options. You must set the Criterion field to Trace, and set the Weighting field to the matrix that contains the output weights. The Trace criterion minimizes the weighted sum of the prediction errors using the weights specified by Weighting.
For more information about the OutputWeight estimation option, see arxOptions, ssestOptions, tfestOptions, procestOptions, etc. For more information about the Algorithm fields for nonlinear estimation, see the idnlarx and idnlhw reference pages.