On 24/05/11 01:24, user84 wrote:
Hi, could anyone tell me how predict() predicts the new value(s), of a MA(1) arima-modell. its really easy to make it with an AR(1), knowing the last term, but how can i or R know the last error?
I think what you're asking here is this: Suppose X_t = a_t + theta * a_{t-1} where {a_t} is ``white noise''. If you have observed X_1, ..., X_n, the ``prediction'' of X_{n+1} is theta * a_n, since E(a_{n+1}) = 0. But how do you get a_n? Recursively. Set a_0 = 0 (its expected value). This gives a_1 = X_1. Then you can get a_2 = X_2 - theta*a_1. Repeat until you get up to a_n. This is all a bit naive, and there are traps and problems that are avoided by more sophisticated procedures, I believed. A simple answer to the ``how to'' bit, is: Use predict.Arima(). If you want to know what's actually going on in the software that makes this prediction .... that's a bit harder. I think that reading a basic introductory time series book might help. Jonathan Cryer's ``Time Series Analysis'' (out of print but available from ABE Books) is pretty good, and quite gentle. I suspect that the newer ``Time Series Analysis with Applications in R'' by Cryer and Chan would also be good, but I haven't read it. For something a bit deeper and more mathematical, Brockwell and Davis (``Time Series: Theory and Methods'') is to my mind the gold standard.
It would also help if somebody could tell me how to find the "open" source of the function predict().
Note that ``predict()'' is generic, with many ``methods''. You are really interested in the predict.Arima() method as I indicated above. You can get started by executing: stats:::predict.Arima But that will lead you to KalmanForecast() which will lead you into C code. You can look at *that* by downloading the source of R from CRAN and digging around in the appropriate "src" subdirectories --- but figuring out what's actually going on is likely to be a ***very*** daunting task. I wouldn't want to try it myself!
Thanks and sorry for my poor english.
No need to apologize. Your English is better than my Deutsch. (The ``.at'' address *does* mean ``Austria'', nicht wahr?) HTH cheers, Rolf Turner ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.