# Thread Subject: ARMAX - Simulation vs Prediction

 Subject: ARMAX - Simulation vs Prediction From: Enrique Gil Date: 27 Jun, 2011 15:32:02 Message: 1 of 5 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
 Subject: ARMAX - Simulation vs Prediction From: Rajiv Singh Date: 27 Jun, 2011 19:19:34 Message: 2 of 5 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" 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
 Subject: ARMAX - Simulation vs Prediction From: Enrique Gil Date: 29 Jun, 2011 09:26:07 Message: 3 of 5 Thank you Rajiv! Always very thorough and helpful!
 Subject: ARMAX - Simulation vs Prediction From: Lukas Zimmer Date: 8 May, 2012 08:03:12 Message: 4 of 5 Hi! "Rajiv Singh" wrote in message ... > > [...] > > 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). > Sorry to open this thread again but I still don't understand what the setting Focus=Simulation means. You wrote that when using ARMAX with the simulation-setting the noise transfer function is assumed to be 1. According to the documentation, a prefilter (corresponds to the input-spectrum) is applied additionally. Does this mean, that the noise-transfer function C/A is calculated in a second step? I tried to identify ARX, ARMAX, BJ and OE models with the Focus=Simulation setting and they all return different results. Why? If the simulation setting is only about ignoring the noise-model there shouldn't be a difference because you always identify an OE-type model. Thank you for your help! Kind regards, Lukas
 Subject: ARMAX - Simulation vs Prediction From: Lukas Zimmer Date: 8 May, 2012 17:14:07 Message: 5 of 5 "Lukas Zimmer" wrote in message ... > Hi! > > "Rajiv Singh" wrote in message ... > > > > [...] > > > > 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). > > > > Sorry to open this thread again but I still don't understand what the setting Focus=Simulation means. > > You wrote that when using ARMAX with the simulation-setting the noise transfer function is assumed to be 1. According to the documentation, a prefilter (corresponds to the input-spectrum) is applied additionally. > > Does this mean, that the noise-transfer function C/A is calculated in a second step? > > I tried to identify ARX, ARMAX, BJ and OE models with the Focus=Simulation setting and they all return different results. Why? If the simulation setting is only about ignoring the noise-model there shouldn't be a difference because you always identify an OE-type model. Sorry, ARMAX, BJ and OE models return the same results, only ARX models are different. But I have no idea why. Does anyone knows, how ARX models are estimated for Focus=Simulation?

### Everyone's Tags:

Separated by commas
Ex.: root locus, bode

### What are tags?

A tag is like a keyword or category label associated with each thread. Tags make it easier for you to find threads of interest.

Anyone can tag a thread. Tags are public and visible to everyone.