Python - 如何检查时间序列平稳性?

标签 python statistics time-series regression

我有一个高速公路上的汽车速度数据集。观察值以 15 分钟为步长收集,这意味着我每天有 96 个观察值,每周有 672 个观察值。 我有一整月的数据集(2976 个观察值)

我的目标是使用自回归 AR(p) 模型预测 future 值。

这是我这个月的数据重新分区。 enter image description here

此外,这是自相关图 (ACF)

enter image description here

上面两张图的可视化导致我想到季节性成分,从而想到非平稳时间序列,这对我来说毫无疑问。

但是,为了确保非平稳性,我对其应用了迪基-富勒检验。这是结果。

Results of Dickey-Fuller Test:
Test Statistic                -1.666334e+01
p-value                        1.567300e-29
#Lags Used                     3.000000e+00
Number of Observations Used    2.972000e+03
Critical Value (5%)           -2.862513e+00
Critical Value (1%)           -3.432552e+00
Critical Value (10%)          -2.567288e+00
dtype: float64

结果清楚地表明,检验统计量的绝对值大于临界值,因此,我们拒绝零假设,这意味着我们有一个平稳序列!

所以我对时间序列的季节性和平稳性感到非常困惑。 任何有关这方面的帮助将不胜感激。

非常感谢

最佳答案

事实上,平稳性和季节性并不是有争议的品质。 Stationarity表示序列矩的恒定性(无变化)(例如表示弱平稳性的均值方差),以及 seasonality是可以用滤波器提取的序列的周期分量。

季节性和周期性模式并不完全相同,但非常接近。您可以认为您显示的图像中的这个系列可以具有每周(或每月、每年……)周期重复的正弦和余弦之和。它与该系列的平均值在一段时间内似乎保持不变甚至方差这一事实没有任何相关性。

关于Python - 如何检查时间序列平稳性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49806213/

相关文章:

Python机器错误: importlib.

python - 如何将我的数据框按列而不是按行变成 numpy 数组?

python - 显示维恩图输出

r - fisher.test() 的 p 值与 phyper() 不匹配

python - 如何在 matplotlib 中可视化 95% 的置信区间?

python:如何在多线程中发送数据包然后线程自行终止

python几何平均数计算

python - 使用分钟级 OHLCV 数据构建 Pandas DataFrame,其中包含 930、931、932...17 :28, 17 :29, 17:30 格式的 'Time' 列

python - 使用时间序列时在 Pandas 滚动中使用中心

在 R 中构建更新数据集后重用 ts 模型(预测包)