[R] Help with predict.Arima with external regressor values

Yves yves.oloui at free.fr
Thu Dec 18 22:09:54 CET 2003


Hi all there

I am enjoying R since 2 weeks and I come to my first deadlock, il am trying
to use predict.Arima in the ts package.
I get a "Error in cbind(...) : cannot create a matrix from these types"

-- Start R session -----------------------------------------------------

> fitdiv <- arima(data, c(2, 0, 3), xreg = y ) ; print(fitdiv)

Call:
arima(x = data, order = c(2, 0, 3), xreg = y)

Coefficients:
         ar1     ar2     ma1      ma2      ma3  intercept   EUSA1  EUSA10
EUSA15  EUSA20    EUSA5  H15T10Y   H15T1Y  H15T20Y  H15T3M   H15T5Y   USSW10
      -0.001  0.6502  0.3328  -0.5021  -0.1135    -0.0535  0.0469
0.0075  -0.0263  0.0299  -0.0344   0.1012  -0.0382   0.0092
0.0385  -0.0757  -0.1577
s.e.   0.523  0.4002  0.5262   0.2711   0.0828     0.1027  0.0308  0.0802
0.0931  0.0743   0.0414   0.0469   0.0215   0.0360  0.0276   0.0344   0.0477
      USSW15   USSW20  USSW30   USSW5  CAC.INDEX  DAX.INDEX  MIB30.INDEX
OMX.INDEX  SX5P.INDEX  UKX.INDEX  VDAX.INDEX  VIX.INDEX
      0.0254  -0.0141  0.0133  0.1186    -0.1816     0.0652
   0.0848    -0.1836      0.1134    -0.1742      0.0236    -0.0482
s.e.  0.0588   0.0251  0.0363  0.0278     0.0907     0.0528       0.0860
0.0516      0.1518     0.1025      0.0591     0.0470

sigma^2 estimated as 1.258:  log likelihood = -762.3,  aic = 1584.59
>
> fordiv <- predict(fitdiv, n.ahead = 2, newxreg = newregy ,  se.fit = TRUE)
Error in cbind(...) : cannot create a matrix from these types
>
>
> str(data)
 num [1:497] -0.34 -1.36 -0.5 -0.46 0.01 0.1 0.68 0.06 0.16 0.48 ...
>
> str(newregy)
 num [1, 1:23] -0.6 -0.3 0.15 1.08 -1.8 3 2 3 0 5 ...
 - attr(*, "dimnames")=List of 2
  ..$ : chr "498"
  ..$ : chr [1:23] "EUSA1" "EUSA10" "EUSA15" "EUSA20" ...
>
> str(y)
`data.frame':   497 obs. of  23 variables:
 $ EUSA1      : num  0.7 5.9 -0.6 1.8 5.7 1.9 0.5 -6.6 2.5 2.3 ...
 $ EUSA10     : num  -4.5 3.8 -11.7 3.2 4.2 -5.4 -2.2 -6.5 0.8 2 ...
 $ EUSA15     : num  -5.4 3.6 -11 3.7 3.4 -4.3 -3.9 -4.7 0.3 2.6 ...
 $ EUSA20     : num  -5 3.6 -10.8 4.3 2.3 -4.1 -3.5 -5 0 3.1 ...
 $ EUSA5      : num  -4.3 5.4 -10.8 2.5 6.3 -2.4 -1.3 -6.6 2.3 -0.2 ...
 $ H15T10Y    : num  -4 2 -9 1 0 -10 -8 -1 -3 0 ...
 $ H15T1Y     : num  -4 1 -6 0 -2 -7 -12 2 -1 2 ...
 $ H15T20Y    : num  -3 4 -11 1 -1 -12 -4 2 -6 2 ...
 $ H15T3M     : num  -1 -1 -4 0 0 0 -10 0 2 1 ...
 $ H15T5Y     : num  -4 2 -11 0 -1 -11 -13 1 -1 2 ...
 $ USSW10     : num  -8.6 0.6 -10.5 2.4 -2.9 -5.8 -15 0.4 -3.5 1 ...
 $ USSW15     : num  -7.9 1.1 -9.8 2 -3.1 -5.8 -13.2 2 -4.4 2.1 ...
 $ USSW20     : num  -6.7 1.4 -9.5 1.3 -3 -6 -11 1.2 -4.2 2.9 ...
 $ USSW30     : num  -6.2 1.3 -8.4 1.6 -2.6 -6.9 -8.5 -0.9 -2.8 2.2 ...
 $ USSW5      : num  -7.7 -0.4 -12.7 0.9 -4 -7.4 -17.5 0.9 0.3 1.6 ...
 $ CAC.INDEX  : num  2.18 0.03 -1.45 -1.03 0.41 -1.57 0.86 -2.24 1.44 -2.08
...
 $ DAX.INDEX  : num  1.96 0.91 -1.64 0.08 0.99 -1.14 -0.35 -2.81 -0.08 -1.55
...
 $ MIB30.INDEX: num  2.08 -0.48 -0.94 0.82 0.22 -2.22 0.8 -2.5 1.34 -1.35
...
 $ OMX.INDEX  : num  4.07 0.28 -0.56 -2.47 -0.16 -1.58 1.13 -3.5 -1.15 -1.85
...
 $ SX5P.INDEX : num  1.95 0.1 -1.22 -1.01 -0.31 -0.96 0.84 -2.71 1.18 -1.05
...
 $ UKX.INDEX  : num  1.91 0.09 -0.57 -0.82 -0.42 -0.73 0.15 -1.65 1.02 -0.75
...
 $ VDAX.INDEX : num  -1.59 -0.74 0.73 -0.36 -0.36 0.87 -0.51 1.64 -0.02 0.85
...
 $ VIX.INDEX  : num  -1.37 -0.89 1.22 0.16 0.3 -0.1 0.57 0.98 -0.88 0.75 ...
>
> fordiv <- predict(fitdiv, n.ahead = 2, newxreg = matrix(0,1,23) ,  se.fit
= TRUE)
Error in cbind(...) : cannot create a matrix from these types
>

-- End R session -----------------------------------------------------

I also tried to replace newregy by a matrix of zeros  matrix(0,1,23)

Please tell if I am doing something wrong ... I did not see any example in
the help about external regressor so I had to start from scratch.

Best regards

Yves Oloui.




More information about the R-help mailing list