|
An estimation is about comparing the measured output to "model's response"
and adjusting the parameters of the model such that some norm of the
difference between the two is minimized.
However, a model's response can mean several different things. The most
common situations are one of 1-step ahead prediction and simulation. In case
of prediction, the past measurements of both input and output signals are
used to compute the model's response over a time span. Thus
y_model_prediction(t) = f(y_measured(t-1, t-2, ...), u_measured(t, t-1, t-2,
...)). In case of simulation, the model's response is completely a function
of its current and past inputs; the measured values of outputs are not used.
Thus y_model_sim = g (u_measured(t, t-1, ..). I am speaking roughly here, of
course, since there are other factors that influence both prediction and
simulation responses (such as initial conditions). More information is
available in product doc:
http://www.mathworks.com/help/toolbox/ident/ug/bq1sjmd.html
When you choose focus = 'prediction', the difference between the measured
output and 1-step prediction response of the model is minimized. When foc =
'simulation', the difference between the measured output and simulated
response of the model is minimized. Since you minimize different types of
errors, you get different results.
Some notes:
(1) Typically, simulation error minimization is a more stringent test of
model quality, but in general, minimizing for one does not guarantee the
other.
(2) The difference between prediction and simulation arises because of the
typically colored Gaussian noise affecting the response. In case of an ARMAX
model, the noise is described by the filter C/A while the input/output
relationship is described by the filter B/A. In case of pure simulation, the
noise component C/A would be ignored (assumed to be 1), while it is honored
in case of prediction. For an output error model, there is no difference
between simulation and prediction (and hence estimates obtained using focus
equal to 'prediction' or 'simulation') because the model has a trivial noise
element ( = 1).
Rajiv
"Enrique Gil" <gile@msoe.edu> wrote in message
news:iua7pi$d8q$1@newscl01ah.mathworks.com...
> Hello!
>
> I am working on an estimation model using ARMAX. I have multiple inputs
> to predict one output. When specifying the parameters for the ARMAX model
> using armax(), one of the things to specify is to use either 'prediction'
> or 'simulation' as the intended use of the model.
> My question is: what does Matlab do differently in these two settings?
> Thank you very much for your help!
>
> Regards,
> Enrique
|