计算 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
(您将得到总体方差的无偏估计)。
根据@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
(您将得到总体方差的无偏估计)。