[R] Values greater than 1 or lower than -1 in ARMAacf

Prof Brian Ripley ripley at stats.ox.ac.uk
Tue Apr 24 17:41:36 CEST 2007


You do need to specify a stationary ARMA process for it to have an acf: 
your example is not valid since

> Mod(polyroot(c(1, -w)))
[1]  0.6726057  1.6256859  1.6256859  1.7448484  1.7448484 18.4778223

Have you actually looked at the reference on the help page?  It is there 
to be help-ful.

Like quite a few such things in R, we could 'nanny' you and tell you that 
this is not valid, but quite often invalid primary uses do have secondary 
uses.

On Tue, 24 Apr 2007, Cyril wrote:

>
> Dear all,
>
> I need to compute the ACF (autocorrel) of an AR6 process, given the values
> of its parameters (w1,w2,w3,w4,w5,w6).
> First, I notice that there is an error as soon as the sum of the wi equals 1
> :
>
> "Error in drop(.Call("La_dgesv", a, as.matrix(b), tol, PACKAGE = "base")) :
>        system is computationally singular: reciprocal condition number =
> 1.00757e-18"
>
> Secondly, when the sum is greater than 1, some elements in the returned ACF
> vector do not belong to interval [-1,1], which looks a bit weird for
> autocorrelation (!)
> E.g. :
>> w<-c(0.9,0.7,0.1,0.1,0.19,0.01)
>> ARMAacf(w, lag.max = 6)
>        0         1         2         3         4         5         6
> 1.000000 -1.624285 -1.735076 -3.121879 -4.412638 -6.318869 -9.560138
>
> Does someone have a clue about it ?
>
> It would be very helpful.
>
> Thanks a lot
>
> Regards
> Cyril
>
>
>

-- 
Brian D. Ripley,                  ripley at stats.ox.ac.uk
Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
University of Oxford,             Tel:  +44 1865 272861 (self)
1 South Parks Road,                     +44 1865 272866 (PA)
Oxford OX1 3TG, UK                Fax:  +44 1865 272595



More information about the R-help mailing list