计算 pandas 中的自动协方差

Calculating auto covariance in pandas

根据@pltrdy 提供的答案,在此威胁中:

如何将计算序列上的滞后 N(默认值=1)自相关的 pandas.Series.autocorr() 转换为自协方差?

很遗憾,命令 pandas.Series.autocov() 未在 pandas 中实现。

.autocorr(k) 计算的是滞后 k 的(Pearson)相关系数。但我们知道,对于序列 x,滞后系数 k 是:

\rho_k = \frac{Cov(x_{t}, x_{t-k})}{Var(x)}

然后,为了获得自协方差,您将自相关乘以方差:

def autocov_series(x, lag=1):
    return x.autocorr(x, lag=lag) * x.var()

请注意,Series.var 默认使用 1 的 ddof,因此 N - 1 将样本方差除以 N == s.size(您将得到总体方差的无偏估计)。