

Hi R users,
where can I find the equations used by acf function to calculate
autocorrelation? I think I misunderstand acf. Doesn't acf use following
equation to calculate autocorrelation?
[image: R(\tau) = \frac{\operatorname{E}[(X_t  \mu)(X_{t+\tau} 
\mu)]}{\sigma^2}\, ,]
If it does, then the autocorrelation of a sine function should give a
cosine; however, the following code gives a cosineshape function with its
magnitude decreasing along the lag.
x = c(1:500)
x = x/10
x = sin(x)
acf(x, type='correlation', lag.max=length(x)1)

Best,
Zhenjiang
[[alternative HTML version deleted]]
______________________________________________
[hidden email] mailing list
https://stat.ethz.ch/mailman/listinfo/rhelpPLEASE do read the posting guide http://www.Rproject.org/postingguide.htmland provide commented, minimal, selfcontained, reproducible code.


On 29/04/2010 6:22 PM, zhenjiang xu wrote:
> Hi R users,
>
> where can I find the equations used by acf function to calculate
> autocorrelation?
See the reference listed in ?acf.
Duncan Murdoch
> I think I misunderstand acf. Doesn't acf use following
> equation to calculate autocorrelation?
> [image: R(\tau) = \frac{\operatorname{E}[(X_t  \mu)(X_{t+\tau} 
> \mu)]}{\sigma^2}\, ,]
> If it does, then the autocorrelation of a sine function should give a
> cosine; however, the following code gives a cosineshape function with its
> magnitude decreasing along the lag.
> x = c(1:500)
> x = x/10
> x = sin(x)
> acf(x, type='correlation', lag.max=length(x)1)
>
>
______________________________________________
[hidden email] mailing list
https://stat.ethz.ch/mailman/listinfo/rhelpPLEASE do read the posting guide http://www.Rproject.org/postingguide.htmland provide commented, minimal, selfcontained, reproducible code.


Thanks, Duncan, but there are no reference in ?acf. The only probably
related stuff is
"Author(s):
Original: Paul Gilbert, Martyn Plummer. Extensive modifications
and univariate case of 'pacf' by B.D. Ripley."
And I didn't find anything with google search of it.
On Thu, Apr 29, 2010 at 7:08 PM, Duncan Murdoch < [hidden email]>wrote:
> On 29/04/2010 6:22 PM, zhenjiang xu wrote:
>
>> Hi R users,
>>
>> where can I find the equations used by acf function to calculate
>> autocorrelation?
>>
>
> See the reference listed in ?acf.
>
> Duncan Murdoch
>
>
> I think I misunderstand acf. Doesn't acf use following
>> equation to calculate autocorrelation?
>> [image: R(\tau) = \frac{\operatorname{E}[(X_t  \mu)(X_{t+\tau} 
>> \mu)]}{\sigma^2}\, ,]
>> If it does, then the autocorrelation of a sine function should give a
>> cosine; however, the following code gives a cosineshape function with its
>> magnitude decreasing along the lag.
>> x = c(1:500)
>> x = x/10
>> x = sin(x)
>> acf(x, type='correlation', lag.max=length(x)1)
>>
>>
>>
>
>

Best,
Zhenjiang
[[alternative HTML version deleted]]
______________________________________________
[hidden email] mailing list
https://stat.ethz.ch/mailman/listinfo/rhelpPLEASE do read the posting guide http://www.Rproject.org/postingguide.htmland provide commented, minimal, selfcontained, reproducible code.


I think you are Googling the wrong "reference." Note in ?acf the following:
References:
Venables, W. N. and Ripley, B. D. (2002) _Modern Applied
Statistics with S_. Fourth Edition. SpringerVerlag.
(This contains the exact definitions used.)
On Fri, Apr 30, 2010 at 10:42 AM, zhenjiang xu < [hidden email]> wrote:
> Thanks, Duncan, but there are no reference in ?acf. The only probably
> related stuff is
>
> "Author(s):
>
> Original: Paul Gilbert, Martyn Plummer. Extensive modifications
> and univariate case of 'pacf' by B.D. Ripley."
>
> And I didn't find anything with google search of it.
>
>
> On Thu, Apr 29, 2010 at 7:08 PM, Duncan Murdoch < [hidden email]>wrote:
>
>> On 29/04/2010 6:22 PM, zhenjiang xu wrote:
>>
>>> Hi R users,
>>>
>>> where can I find the equations used by acf function to calculate
>>> autocorrelation?
>>>
>>
>> See the reference listed in ?acf.
>>
>> Duncan Murdoch
>>
>>
>> I think I misunderstand acf. Doesn't acf use following
>>> equation to calculate autocorrelation?
>>> [image: R(\tau) = \frac{\operatorname{E}[(X_t  \mu)(X_{t+\tau} 
>>> \mu)]}{\sigma^2}\, ,]
>>> If it does, then the autocorrelation of a sine function should give a
>>> cosine; however, the following code gives a cosineshape function with its
>>> magnitude decreasing along the lag.
>>> x = c(1:500)
>>> x = x/10
>>> x = sin(x)
>>> acf(x, type='correlation', lag.max=length(x)1)
>>>
>>>
>>>
>>
>>
>
>
> 
> Best,
> Zhenjiang
>
> [[alternative HTML version deleted]]
>
> ______________________________________________
> [hidden email] mailing list
> https://stat.ethz.ch/mailman/listinfo/rhelp> PLEASE do read the posting guide http://www.Rproject.org/postingguide.html> and provide commented, minimal, selfcontained, reproducible code.
>

John A. Ramey, M.S.
Ph.D. Candidate
Department of Statistics
Baylor University
______________________________________________
[hidden email] mailing list
https://stat.ethz.ch/mailman/listinfo/rhelpPLEASE do read the posting guide http://www.Rproject.org/postingguide.htmland provide commented, minimal, selfcontained, reproducible code.


Hi there,
I am wondering how R calculates the acf too?
I have a data set of approx 1500 returns when I calculate the lag 1 autocorrelation in excel I get a value of 0.4 but in R its approximately 0.18?
I have cross checked with PC give and PC give agrees with excel?
I'm sure its just some kind of scaling but it would be nice to resolve this discrepency!
Baz


Hi there,
I have now cheked the results against pc give and the excel addin poptools.
Poptools and pc give get the same answer but R is quite different especially for the acf and pacf()?
I looked at the book you recommended on p390 itshows the formulas and they look pretty standard.
However looking at the code that you sent the acf function does not seem to be being calculated as shown in the book?
At no point is the series mean calculated? unless the variable x is already demeaned in some way ie. there is some preprocessing that I need to see to fully understand?


The code provided was the hardtofind C part: there's also some R
code involved that you can get in your console by typing acf without
parentheses.
I'm inclined to believe V&R over any Excel implementation (and I don't
know what "pc" is) but perhaps you can provide a (small) dataset
using the dput() function and say what you are expecting to get from
acf() instead.
Michael
On Mon, Dec 5, 2011 at 8:32 PM, Bazman76 < [hidden email]> wrote:
> Hi there,
>
> I have now cheked the results against pc give and the excel addin poptools.
>
> Poptools and pc give get the same answer but R is quite different especially
> for the acf and pacf()?
>
> I looked at the book you recommended on p390 itshows the formulas and they
> look pretty standard.
>
> However looking at the code that you sent the acf function does not seem to
> be being calculated as shown in the book?
>
> At no point is the series mean calculated? unless the variable x is already
> demeaned in some way ie. there is some preprocessing that I need to see to
> fully understand?
>
>
>
> 
> View this message in context: http://r.789695.n4.nabble.com/aquestiononautocorrelationacftp2076280p4163021.html> Sent from the R help mailing list archive at Nabble.com.
>
> ______________________________________________
> [hidden email] mailing list
> https://stat.ethz.ch/mailman/listinfo/rhelp> PLEASE do read the posting guide http://www.Rproject.org/postingguide.html> and provide commented, minimal, selfcontained, reproducible code.
______________________________________________
[hidden email] mailing list
https://stat.ethz.ch/mailman/listinfo/rhelpPLEASE do read the posting guide http://www.Rproject.org/postingguide.htmland provide commented, minimal, selfcontained, reproducible code.


R_example.xlsxHi there,
I attach an excel file which I use to produce the data.
It simulates a simple AR(1) process y_t=0.5y_{t1}+z_t.
In column E I have cut and paste values so that we can compare like with like.
When I run the acf() on these values, it shows 3 significant lags.
When I run the pacf() it shows one very strong correlation of 0.3 at lag 1, and a smaller one at lag 2 of around 0.05.
Now according to the theory the pacf() results should give the correct exponents for the lags.
This is a pure AR(1) process so the results should be 0.5 on lag 1 and statistically insignificant else where?
I have tried if for several realisations of the white noise term and the results are qualatively similar and is disagreement with the theory.
Kind Regards
Baz

