网易首页 > 网易号 > 正文 申请入驻

时间序列的平稳性

0
分享至

如何检查时间序列是否平稳,如果它是非平稳的,我们可以怎么处理

当未来的数据与现在相似时,它更容易建模。平稳性描述了时间序列的统计特征不随时间变化的概念。因此一些时间序列预测模型,如自回归模型,依赖于时间序列的平稳性。

什么是平稳性?

平稳性描述了时间序列如何未来保持不变的概念。 用数学术语来说,当时间序列的统计特性与时间无关时,它是平稳的,包括

  • 均值不变(为常数)
  • 方差不变
  • 协方差与时间无关

这就是平稳性的弱形式的定义。 另一种平稳性是严格平稳性。 这意味着相同大小的样本具有相同的分布。 由于严格平稳性具有局限性和罕见性,所以本文仅关注弱形式平稳性。

为什么平稳性很重要?

一些时间序列预测模型(例如,自回归模型)需要平稳的时间序列,因为它们更容易建模,因为它们具有恒定的统计属性。因此如果时间序列不是平稳的,就应该尽量让它平稳。

如何检验平稳性?

你可以用两种方法来测试时间序列的平稳性:

  • 直观的方法:肉眼评估
  • 统计方法:单位根检验

我们将创建几个示例,使用Hyndman 和 Athanasopoulos的时间序列分析教材《Forecasting: principles and practice》中提到方法解释平稳性的视觉评估,并扩展它们的用法,并解释使用单位根测试进行的平稳性测试。 数据来自R的fma 包。

1、直观地评估平稳性

最简单的方法是将时间序列分成两半,并比较时间序列的前半部分到后半部分的平均值、振幅和周期长度。

  • 均值常数-时间序列前半段的均值应该与后半段的均值相似。
  • 方差常数-时间序列的前半段的振幅应该与后半段相似。
  • 协方差与时间无关——时间序列前半部分的周期长度应该与后半部分的周期长度相似。周期应该在时间上是独立的(例如,不是每周或每月等)。

对于我们的例子,评估结果如下图所示:

2、统计评估平稳性——单位根检验

单位根是一种随机趋势,称为“带漂移的随机游走”。由于随机性无法预测,这意味着:

单位根存在:不稳定(不可预测),单位根不存在:平稳的

为了用单位根检验平稳性,可以将两个这两个假设作为初始假设:

  • 零假设(H0) -时间序列是平稳的(没有单位根存在)
  • 备择假设(H1) -时间序列不是平稳的(存在单位根)

然后根据以下两种方法评估是否拒绝零假设:

p 值方法:

如果 p 值 > 0.05,则无法拒绝原假设。如果 p 值 ≤ 0.05,则拒绝零假设。

临界值法:

如果检验统计量没有临界值那么极端,则无法拒绝原假设。如果检验统计量比临界值更极端,则拒绝原假设。当 p 值接近0.05时,应使用临界值法 。

有几个单位根测试可以用来检查平稳性。本文将重点介绍最流行的2个:

Augmented Dickey-Fuller test 和 Kwiatkowski-Phillips-Schmidt-Shin test

3、Augmented Dickey-Fuller test

Augmented Dickey-Fuller test的假设为:

H0:时间序列不是平稳的,因为有一个单位根(如果p值> 0.05)

H1:时间序列是平稳的,因为没有单位根(如果p值≤0.05)

在Python中,我们可以直接使用statsmodels.tsa.stattools库中的adfuller方法。

from statsmodels.tsa.stattools import adfuller
result = adfuller(df["example"].values)

如果我们可以拒绝ADF检验的零假设,则时间序列是平稳的:

下面是样本数据集的ADF测试结果:

4、Kwiatkowski-Phillips-Schmidt-Shin test

Kwiatkowski-Phillips-Schmidt-Shin (KPSS)检验的假设是[4]:

H0:时间序列是平稳的,因为没有单位根(如果p值> 0.05)

H1:时间序列不是平稳的,因为有一个单位根(如果p值≤0.05)

statsmodels.tsa.stattools库中的kpss方法,我们需要使用参数regression = 'ct'来指定检验的零假设是数据是趋势平稳的。

from statsmodels.tsa.stattools import kpss
result = kpss(df["example"].values,
regression = "ct")

如果我们不能拒绝KPSS检验的零假设,则时间序列是平稳的:

下面是样本数据集的KPSS测试结果:

非平稳时间序列数据处理

我们可以对一个非平稳时间序列应用不同的变换,使其接近平稳:因为有几种平稳性类型,所以我们可以结合ADF和KPSS测试来确定要进行哪些变换:

  • 如果ADF测试结果是平稳的,而KPSS测试结果是非平稳的,则时间序列是差分平稳的-对时间序列应用差分,并再次检查平稳。
  • 如果ADF检验结果是非平稳性的,而KPSS检验结果是平稳性的,则该时间序列为趋势平稳的-需要去掉去趋势,并再次检查平稳性。

1、差分

差分计算两个连续观测值之间的差值。它稳定了时间序列的平均值,从而降低了趋势

df["example_diff"] = df["example"].diff()

2、过模型拟合去趋势

从非平稳时间序列中去除趋势的一种方法是将一个简单的模型(例如,线性回归)拟合到数据上,然后对该拟合的残差进行建模。

from sklearn.linear_model import LinearRegression
# Fit model (e.g., linear model)
X = [i for i in range(0, len(airpass_df))]
X = numpy.reshape(X, (len(X), 1))
y = df["example"].values
model = LinearRegression()
model.fit(X, y)
# Calculate trend
trend = model.predict(X)
# Detrend
df["example_detrend"] = df["example"].values - trend

结果如下:

3、对数变换

对数变换可以稳定时间序列的方差。

df["example_diff"] = np.log(df["example"].value)

结果如下:

正如你所看到的,模型拟合的去趋势和对数变换都不能使我们的例子时间序列平稳。所以需要结合不同的技术使时间序列平稳。

总结

在时间序列预测中,具有恒定统计属性(均值、方差和协方差)且与时间无关的时间序列被描述为平稳的。由于稳定的统计特征,平稳时间序列比非平稳时间序列更容易建模。所以很多时间序列预测模型都假设了平稳性。

平稳性可以通过目测或统计方法进行检查。统计方法检查单位根,最流行的两种单位根测试是ADF和KPSS。这两种工具都可以在Python stattools库中找到。

如果时间序列是非平稳的,可以尝试通过差分、对数转换或去除趋势来使其接近平稳。

https://avoid.overfit.cn/post/88bce32903cd4aa4a04ad4fe58777372

作者:Leonie Monigatti

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
H200芯片还未运抵中国,美科技巨头放大招,英伟达被资本制裁了?

H200芯片还未运抵中国,美科技巨头放大招,英伟达被资本制裁了?

法老不说教
2025-12-18 00:37:25
包养10位情妇,睡觉翻牌生下11个私生子,75岁还在拼命生娃!

包养10位情妇,睡觉翻牌生下11个私生子,75岁还在拼命生娃!

春秋论娱
2025-09-09 07:26:27
全国小学生流行的18句口头禅,第一句就让我气炸

全国小学生流行的18句口头禅,第一句就让我气炸

上海女性
2025-12-08 18:41:03
国籍严查打响第一枪!华人被拦机场,“双面人”中国坚决不要!

国籍严查打响第一枪!华人被拦机场,“双面人”中国坚决不要!

青仔的世界
2025-12-07 05:16:52
回天乏术!卫星图像证实俄潜艇遭重创:码头现9米混凝土弹坑!

回天乏术!卫星图像证实俄潜艇遭重创:码头现9米混凝土弹坑!

军迷战情室
2025-12-17 21:26:46
事到如今,日本人还是没有办法接受,中国的综合实力竟远超自己

事到如今,日本人还是没有办法接受,中国的综合实力竟远超自己

阿器谈史
2025-12-16 15:00:52
美国人的疑问:本拉登对多国发起袭击,为何唯独放过中国?

美国人的疑问:本拉登对多国发起袭击,为何唯独放过中国?

珺瑶婉史
2025-11-19 19:20:06
出大事了,铜管换成铝管了,觉得以后想买个好的空调都困难了!

出大事了,铜管换成铝管了,觉得以后想买个好的空调都困难了!

达文西看世界
2025-12-16 15:58:55
最快女护士张水华涉嫌虚假宣传国际健将头衔,白岩松都被她唬住了

最快女护士张水华涉嫌虚假宣传国际健将头衔,白岩松都被她唬住了

杨华评论
2025-12-17 19:56:10
12345不能瞎打了!刚落地的新规,到底是管我们还是帮我们?

12345不能瞎打了!刚落地的新规,到底是管我们还是帮我们?

今朝牛马
2025-12-17 22:04:44
日本媒体称,在中国赴日提醒一个月后,日本的旅游业担忧长期化

日本媒体称,在中国赴日提醒一个月后,日本的旅游业担忧长期化

深度报
2025-12-16 23:31:07
80岁老太感染上艾滋,女儿查看监控后瞠目结舌,连捅男保姆43刀

80岁老太感染上艾滋,女儿查看监控后瞠目结舌,连捅男保姆43刀

民间精选故事汇
2025-05-12 08:01:12
保时捷男打女人后续:女方伤情严重拒绝和解,打人原因曝光太可笑

保时捷男打女人后续:女方伤情严重拒绝和解,打人原因曝光太可笑

奇思妙想草叶君
2025-12-11 02:44:02
马克龙撰文:欧盟对华加征关税是“非合作性的应对方式”,继续沿用可能引发严重贸易争端

马克龙撰文:欧盟对华加征关税是“非合作性的应对方式”,继续沿用可能引发严重贸易争端

环球网资讯
2025-12-17 18:32:07
黎智英被定罪,儿子:希望各国权衡与中国关系时,再提释放父亲。

黎智英被定罪,儿子:希望各国权衡与中国关系时,再提释放父亲。

南权先生
2025-12-17 16:51:04
郭晶晶没想到,移居美国惨遭丈夫抛弃的高敏,已走上另一条上坡路

郭晶晶没想到,移居美国惨遭丈夫抛弃的高敏,已走上另一条上坡路

科学发掘
2025-12-17 14:59:03
1934年哥萨克骑兵与马家军在新疆交锋,马家军杀疯了,大呼过瘾!

1934年哥萨克骑兵与马家军在新疆交锋,马家军杀疯了,大呼过瘾!

百年历史老号
2023-12-23 16:06:25
被豆包害惨了的大学生们!网友:豆包就是愚蠢且勤劳的老实人

被豆包害惨了的大学生们!网友:豆包就是愚蠢且勤劳的老实人

夜深爱杂谈
2025-12-02 20:51:10
继海南之后,广西和云南多地也开始驱赶房车,究竟为哪般?

继海南之后,广西和云南多地也开始驱赶房车,究竟为哪般?

趣味萌宠的日常
2025-12-17 00:13:52
小卡21分3盖帽助快船止连败,哈登表现不佳

小卡21分3盖帽助快船止连败,哈登表现不佳

郭夷包工头
2025-12-17 23:02:51
2025-12-18 07:40:49
deephub incentive-icons
deephub
CV NLP和数据挖掘知识
1862文章数 1440关注度
往期回顾 全部

科技要闻

Gemini3 Flash来了:性能不输Pro 成本仅1/4

头条要闻

马克龙发文:欧盟必须对中国开放 但有个前提

头条要闻

马克龙发文:欧盟必须对中国开放 但有个前提

体育要闻

短短一年,从争冠到0胜垫底...

娱乐要闻

狗仔曝热播剧姐弟恋真谈了???

财经要闻

重大改革,身关14亿人的政策彻底变了!

汽车要闻

一车多动力+双姿态 长城欧拉5上市 限时9.18万元起

态度原创

艺术
本地
时尚
公开课
军事航空

艺术要闻

演遍四大名著,被誉为“古典第一美女”的她,走了……

本地新闻

云游安徽|踏过战壕与石板,读一部活的淮北史

你算老几?我算老己!

公开课

李玫瑾:为什么性格比能力更重要?

军事要闻

最新现场:山东舰完成年度最后一次海上训练

无障碍浏览 进入关怀版