在Python中计算作为滞后函数的自相关

在Python中计算作为滞后函数的自相关,python,pandas,statistics,signal-processing,statsmodels,Python,Pandas,Statistics,Signal Processing,Statsmodels,在python(+pandas/numpy/scipy/statsmodels)中,是否有函数返回wrt lag的自相关?这样的东西是否已经作为库函数存在 import statsmodels.api as sm np.random.seed(1234) s = pd.Series(np.sin(range(1,100))) + pd.Series(np.random.randn(99)) pd.Series(sm.tsa.acf(s, nlags=5)) 为了避免混淆,我需要以下内容,只是

在python(+pandas/numpy/scipy/statsmodels)中,是否有函数返回wrt lag的自相关?这样的东西是否已经作为库函数存在

import statsmodels.api as sm

np.random.seed(1234)
s = pd.Series(np.sin(range(1,100))) + pd.Series(np.random.randn(99))
pd.Series(sm.tsa.acf(s, nlags=5))
为了避免混淆,我需要以下内容,只是我不想绘制它,但我希望它作为一个系列(pd.series或pd.DataFrame)返回:

实际上,我想要的是
pd.Series.autocorr()
返回的内容,但我想要的是一个序列,而不是一个标量,其中序列包含各种滞后的自相关

编辑:

实现上述目标的一种方法是:

pd.Series([s.autocorr(i) for i in range(0,s.shape[0]-1)], index=range(0,s.shape[0]-1))

我只能想加快你自己的方法
矢量化

np.vectorize(s.autocorr)(np.arange(0,len(s)-1))

Statsmodels
acf
功能如何

import statsmodels.api as sm

np.random.seed(1234)
s = pd.Series(np.sin(range(1,100))) + pd.Series(np.random.randn(99))
pd.Series(sm.tsa.acf(s, nlags=5))
屈服

0    1.000000
1    0.033136
2   -0.124275
3   -0.396403
4   -0.248519
5    0.078170
dtype: float64

@文本:它仅显示如何绘制acf/pacf。看不到任何返回acf/pacf系列的代码。我只是抄错了page@Wen-Ben我的意思是我可以用pd.Series.autocorr()tbh来理解列表,只是觉得还有更复杂的东西。好的,我将编写我自己的函数。我已经提供了一种方法,希望它比您以前的行更快