2016-11-13 11 views
1

當我中的R用acf函數它繪製水平線表示所述置信區間(95%默認情況下)給出了在各種滯後的自相關: R ACFACF置信區間中的R VS蟒蛇:他們爲什麼不同?

然而,當我使用statsmodels.graphics.tsaplots.plot_acf在python我看到的彎曲基於更復雜的計算置信區間: python ACF

注意,在R版本,則滯後了通過滯後25被認爲是顯著。對於相同的數據,在python版本中,只有達到20的延遲被認爲是重要的。

的是這兩種方法之間的區別,哪一個我應該相信嗎?有人可以解釋由statsmodels.tsa.stattools.acf計算的非恆定的置信區間的理論?

我知道我可以通過簡單地像y=[+/-]1.96/np.sqrt(len(data))繪圖重現的東西將R水平線。但是,我想了解幻想曲線置信區間。

回答

1

不是一個真正的答案,這一理論部分(這可能是更好的CrossValidated),但也許有用...?

如果你去documentation page for statsmodels.tsa.stattools.acf它爲您提供了一個選項,以browse the source code。該代碼有:

varacf = np.ones(nlags + 1)/nobs 
varacf[0] = 0 
varacf[1] = 1./nobs 
varacf[2:] *= 1 + 2 * np.cumsum(acf[1:-1]**2) 
interval = stats.norm.ppf(1 - alpha/2.) * np.sqrt(varacf) 
confint = np.array(lzip(acf - interval, acf + interval)) 

相反,R source code for plot.acf顯示

clim0 <- if (with.ci) qnorm((1 + ci)/2)/sqrt(x$n.used) else c(0, 0) 

ci哪裏是置信水平(缺省值= 0.95)。

+0

謝謝本 - 是的,我發現,但仍然想知道理論和哪種方法是「更好」。 – eraoul