[R] ARMAX model fitting with arima
Rafael Laboissiere
rafael.laboissiere at inserm.fr
Tue Nov 17 19:01:34 CET 2009
This is a follow-up to my request of yesterday. Someone sent a private
reply indicating a chapter in the Shumway & Stoffer's book "Time Series
Analysis and Its Applications" [1], where some pitfalls of the arima
function are discussed.
In the meanwhile, I realized that the estVARXar function of the dse
package does estimate correctly the ARMAX parameters from my data. Here
is the code, if someone is interested:
################################################################
### First, the data as I posted previously:
x <- u <- c (rep (0, 50), rep (1, 50))
x [1] <- 0
set.seed (0)
for (i in 2 : length (x)) {
x [i] <- 0.3 * u [i] + 0.8 * x [i - 1] + 0.01 * rnorm (1)
}
### Second, the trivial DSE fitting:
library (dse1)
estVARXar (TSdata (input = u, output = x))
################################################################
[1] http://www.stat.pitt.edu/stoffer/tsa2/Rissues.htm
Cheers,
Rafael
* Rafael Laboissiere <rafael.laboissiere at inserm.fr> [2009-11-16 08:44]:
> I am trying to understand how to fit an ARMAX model with the arima
> function from the stats package. I tried the simple data below, where
> the time series (vector x) is generated by filtering a step function
> (vector u, the exogenous signal) through a lowpass filter with AR
> coefficient equal to 0.8. The input gain is 0.3 and there is a 0.01
> normal white noise added to the output:
>
> x <- u <- c (rep (0, 50), rep (1, 50))
> x [1] <- 0
> set.seed (0)
> for (i in 2 : length (x)) {
> x [i] <- 0.3 * u [i] + 0.8 * x [i - 1] + 0.01 * rnorm (1)
> }
>
> Then, I fit the model:
>
> arima (x, c (1, 0, 0), xreg = u, include.mean = FALSE, method = "ML")
> Coefficients:
> ar1 u
> 0.9988 0.2995
>
> Why don't I get ar1 close to 0.8? If I use lm to regress the data, it works:
>
> lm (x [2 : length (x)] ~ x [1 : (length (x) - 1)] + u [2 : length (u)] - 1)
> Coefficients:
> x[1:(length(x) - 1)] u[2:length(u)]
> 0.7989 0.3015
>
> Any help will be appreciated.
>
> Best,
>
--
Rafael
More information about the R-help
mailing list