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

______________________________________________

[hidden email] mailing list

https://stat.ethz.ch/mailman/listinfo/r-helpPLEASE do read the posting guide

http://www.R-project.org/posting-guide.htmland provide commented, minimal, self-contained, reproducible code.