Modeling Multiple-Output Systems
About Modeling Multiple-Output Systems
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.
Modeling Multiple Outputs Directly
You can perform estimation with linear and nonlinear models for multiple-output data.
Tip
Estimating multiple-output state-space models directly generally produces better results than estimating other types of multiple-output models directly.
Modeling Multiple Outputs as a Combination of Single-Output Models
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 topics:
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.
Improving Multiple-Output Estimation Results by Weighing Outputs During Estimation
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.
Use the OutputWeight
estimation option 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.
Note
The
OutputWeight
option is not available for polynomial models, except ARX models, since their estimation algorithm estimates the parameters one output at a time.Transfer function (
idtf
) and process models (idproc
) ignoreOutputWeight
when they contain nonzero or free transport delays. In the presence of delays, the estimation is carried out one output at a time.
For more information about the OutputWeight
option, see the estimation
option sets, such as arxOptions
, ssestOptions
, tfestOptions
, nlarxOptions
, and nlhwOptions
.
Note
For multiple-output idnlarx
models containing
neuralnet
or treepartition
nonlinearity estimators,
output weighting is ignored because each output is estimated independently.