statsmodels.tsa.statespace.kalman_smoother.SmootherResults.smoothed_state_autocovariance¶
-
SmootherResults.smoothed_state_autocovariance(lag=
1, t=None, start=None, end=None, extend_kwargs=None)[source]¶ 计算状态向量的自协方差,基于完整数据集
计算:
\[Cov(\alpha_t - \hat \alpha_t, \alpha_{t - j} - \hat \alpha_{t - j})\]其中,lag 参数给出了 \(j\) 的值。因此,当 lag 参数为正时,自协方差是当前期与前一期之间的,而当 lag 为负时,自协方差是当前期与未来期之间的。
- Parameters:¶
- lag
int,optional 计算自协方差时移动的周期数。 默认值为 1。
- t
int,optional 计算并返回自协方差的特定时间段。不能与start或end同时使用。有关此参数如何影响返回内容的详细信息,请参阅“返回”部分。
- start
int,optional 要计算和返回的自协方差区间的起始点(包含)。不能与t参数同时使用。有关此参数如何影响返回内容的详细信息,请参阅返回部分。默认值为0。
- end
int,optional 区间结束(不包括)自协方差计算和返回。请注意,由于这是一个不包括的端点,返回的自协方差不包括此索引处的值。不能与t参数一起使用。有关此参数如何影响返回内容及其默认值的详细信息,请参阅返回部分。
- extend_kwargs
dict,optional 包含用于处理时间变化状态空间模型中样本外自协方差计算的更新状态空间系统矩阵的关键字参数。
- lag
- Returns:¶
- acov
ndarray 自协方差矩阵的数组。如果未提供参数 t,则其形状为 (k_states, k_states, n),而如果提供了 t,则第三个轴被删除,数组的形状为 (k_states, k_states)。
在默认情况下,输出会根据状态空间模型和滞后的符号有所不同。要了解这些情况的不同之处,可以将每个时间点的输出表示为 Cov(t, t-j)。然后:
如果 lag > 0(并且模型是时间变化或时间不变的),那么返回的数组形状为 (*, *, nobs),并且每个条目 [:, :, t] 包含 Cov(t, t-j)。然而,模型没有足够的信息来计算样本前期的自协方差,因此我们无法计算 Cov(1, 1-lag)、Cov(2, 2-lag)、…、Cov(lag, 0)。因此,前 lag 个条目的所有值都设置为 NaN。
如果模型是时间不变的且lag < -1,或者如果lag是0或-1,并且模型是时间不变或时间变化的,那么返回的数组形状为(*, *, nobs),并且每个条目[:, :, t]包含Cov(t, t+j)。此外,所有条目都是可用的(即没有NaN)。
如果模型是时间变化的且lag < -1且未提供extend_kwargs,则返回的数组形状为(*, *, nobs - lag + 1)。
然而,如果模型是时间变化的且lag < -1,那么可以提供extend_kwargs,其中包含lag - 1个额外的矩阵,以便返回的数组通常具有形状(*, *, nobs)。
更一般地,最后一个轴的维度将是 开始 - 结束。
- acov
注释
此方法计算:
\[Cov(\alpha_t - \hat \alpha_t, \alpha_{t - j} - \hat \alpha_{t - j})\]其中 lag 参数决定了自协方差阶数 \(j\), 并且 lag 是一个整数(正数、零或负数)。此方法 无法计算与样本之前的时间点相关的值, 因此它返回这些时间点的 NaN 值矩阵。 例如,如果 start=0 且 lag=2,则假设输出被 赋值给变量 acov,我们将得到 acov[…, 0] 和 acov[…, 1] 作为填充了 NaN 值的矩阵。
仅基于“当前”结果对象(即应用于样本的卡尔曼平滑器),无法为样本的最后滞后 - 1个观测值计算Cov(t, t+j)。然而,可以使用状态空间表示的转移方程在这些时间点上计算这些值,因此对于时间不变的状态空间模型,我们确实计算了这些值。对于时间变化模型,这也可以完成,但必须通过extend_kwargs参数提供样本外时间点的更新状态空间矩阵。
参见 [1],第4.7章,了解这些自协方差如何计算的所有细节。
参数t和start/end仅计算并返回所需的 自协方差。因此,建议使用这些参数以减少计算负担,特别是在 观测数量和/或状态向量维度较大的情况下。
参考文献
[1]德宾, 詹姆斯, 和西姆·扬·库普曼. 2012. 《状态空间方法的时间序列分析:第二版》. 牛津大学出版社.