时间序列特征
wangzf / 2024-04-24
简单的统计描述
依据时间序列数据计算得到的特征数都可用于描述该时间序列,如平均值、最小值或最大值。
ACF 特征
一个序列的所有自相关都可以视为该序列的特征。还可以总结自相关以产生新特征。 例如,总和前 10 个自相关系数的平方是一个有用的总结,说明一个序列中有多少自相关,而不管滞后。
还可以计算周期之间序列变化的自相关。也就是说,我们对数据进行“差分”, 并创建一个由连续观察值之间的差分组成的新时间序列。 然后我们可以计算这个新的差分序列的自相关。有时再次应用相同的差分运算是有用的, 所以我们计算差分的差分。这个双差序列的自相关可以提供有用的信息。
另一种相关方法是计算系列的季节性差分。例如,如果我们有月度数据, 我们将计算连续一月、连续二月等之间的差分。 这使我们能够查看该系列在几年之间而不是几个月之间如何变化。 同样,季节性差分序列的自相关可能会提供有用的信息。
常用的 ACF 特征有:
- 来自原始数据的第一个自相关系数;
- 原始数据前十个自相关系数的平方和;
- 来自差分数据的第一个自相关系数;
- 差分数据前十个自相关系数的平方和;
- 来自二次差分数据的第一个自相关系数;
- 二次差分数据前十个自相关系数的平方和;
- 对于季节性数据,还返回第一个季节性滞后的自相关系数。
STL 特征
时间序列分解可以用来衡量时间序列中趋势和季节性的强度。时间序列分解可以被写成:
$$y_{t} = T_{t} + S_{t} + R_{t}$$
其中:
$T_{t}$
是平滑趋势分量$S_{t}$
是季节性分量$R_{t}$
是余数分量
下面介绍趋势性强度和季节性强度,这些度量可能很有用, 例如,当您拥有大量时间序列时,您需要找到最具趋势或最具季节性的序列。
趋势强度
对于强趋势数据,季节性调整后的数据($T_{t} + R_{t}$
)应该比剩余部分有更多的变化。
因此 $Var(R_{t})/Var(T_{t} + R_{t})$
应该比较小。
但对于几乎没有趋势的数据,这两个方差应该大致相同。所以我们定义趋势的强度为:
$$F_{T} = \max\Big(0, 1- \frac{Var(R_{t})}{Var(T_{t} + R_{t})}\Big)$$
这将在 0 和 1 之间给出趋势强度的度量。因为余数的方差有时甚至可能大于季节性调整数据的方差,
将 $F_{T}$
的最小可能值设置为零。
季节强度
季节性强度的定义于趋势强度类似,但相对于去趋势数据而不是季节性数据:
$$F_{S} = \max\Big(0, 1- \frac{Var(R_{t})}{Var(S_{t} + R_{t})}\Big)$$
季节强度 $F_{S}$
接近 0 的序列几乎没有季节性,而且有强季节性的序列 $F_{S}$
接近 1,
因为 $Var(R_{t})$
将远小于 $Var(S_{t} + R_{t})$
。
其他特征
- 计算时间序列的 Hurst 系数,这是“长记忆”的度量。具有长记忆的序列对于许多滞后将具有显着的自相关。
- 计算时间序列的谱熵(Shannon),这是衡量该序列预测难易程度的指标。 具有强烈趋势和季节性(因此易于预测)的序列的熵将接近于 0。 非常嘈杂(因此难以预测)的序列将具有接近 1 的熵。
- 用于检验时间序列是否为白噪声的 Box-Pierce 统计量,以及相应的
$p$
值。 - 用于检验时间序列是否为白噪声的 Ljung-Box 统计量,以及相应的
$p$
值。 - 第
$k$
个偏自相关衡量的是在移除观察值之间的影响后,相隔$k$
个观察值之间的关系。 所以第一个偏自相关 (k=1) 与第一个自相关相同,因为连续观察之间没有任何要删除的内容。 - 涉及偏自相关的特征,包括原始序列、一阶差分序列和第二个差分序列的前五个偏自相关的平方和。 对于季节性数据,它还包括第一个季节性滞后的偏自相关。
- 用于检验序列是否平稳的 Kwiatkowski-Phillips-Schmidt-Shin (KPSS) 统计量,以及相应的
$p$
值。 - Phillips-Perron 统计,用于检验一个序列是否是非平稳的,以及相应的
$p$
值。 - 导致基于 KPSS 检验的平稳序列所需的差分数。
- 使序列平稳所需的季节差分数。
- “平铺均值”的方差(即,连续的非重叠观察块的均值)。 默认切片长度为 10(对于非季节性数据)或季节性周期的长度。 这有时被称为“稳定性”特征。
- “平铺方差”的方差(即,连续的非重叠观察块的方差)。 这有时被称为“块状”特征。
- 找到时间序列的两个连续滑动窗口之间的最大平均偏移。 这对于查找时间序列中的突然跳跃或下降很有用。
- 发生最大均值偏移的索引。
- 找到时间序列的两个连续滑动窗口之间的最大方差偏移。 这对于发现时间序列波动率的突然变化很有用。
- 发生最大方差偏移的索引。
- 找到时间序列的两个连续滑动窗口之间的最大分布偏移(基于 Kulback-Leibler 散度)。 这对于查找时间序列分布的突然变化很有用。
- 发生最大KL偏移的索引。
- 计算时间序列穿过中位数的次数。
- 计算序列相对不变的数据部分的数量。
- 基于 Engle (1982) 对自回归条件异方差 (ARCH) 的拉格朗日乘数 (LM) 检验的统计数据。
- 使用 Guerrero 方法计算 Box-Cox 变换的最佳
$\lambda$
值。