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 -- View this message in context: http://www.nabble.com/Values-greater-than-1-or-lower-than--1-in-ARMAacf-tf3638973.html#a10161936 Sent from the R help mailing list archive at Nabble.com.
Prof Brian Ripley
2007-Apr-24 15:41 UTC
[R] Values greater than 1 or lower than -1 in ARMAacf
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