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

时间序列分解:将时间序列分解成基本的构建块

0
分享至

大多数时间序列可以分解为不同的组件,在本文中,我将讨论这些不同的组件是什么,如何获取它们以及如何使用 Python 进行时间序列分解。

时间序列组成

时间序列是(主要)三个组成部分的组合:趋势、季节性和残差/剩余部分。 让我们简单的解释这三个组成部分

趋势:这是该序列的整体运动。 它可能会持续增加、也可能持续减少,或者是波动的。

季节性:系列中的任何常规季节性模式。 比如,夏季冰淇淋的销量通常高于冬季。

残差:这是我们考虑到趋势和季节性后剩下的部分。它也可以被认为只是统计噪声,或者是临时性事件的影响,这个残差量也有一个单独的周期分量,但它通常被归入趋势分量。

加法模型与乘法模型

这些组件的组合方式取决于时间序列的性质。对于加法模型:

对于乘法模型:

其中 Y 是序列,T 是趋势,S 是季节性,R 是残差分量。

当序列变化的大小尺度一致的时候,加法模型是最合适的。而当序列的波动处于相对和比例范围内时乘法模型是比较合适的。

例如,如果夏季冰淇淋的销量每年高出 1,000 个,则该模型是加法的。 如果每年夏天销售额持续增长 20%,但绝对销售额在变化,则该模型是乘法的。 稍后我们将讨论一个示例,该示例可以使该理论更加具体。

为了计算和可视化的渐变,可以通过对数变换或Box-Cox变换将乘法模型转换为加法模型:

分解是如何工作的

有多种算法和方法可以将时间序列分解为三个分量。以下的经典方法,经常会使用并且非常直观。

  • 使用移动/滚动平均值计算趋势分量 T。
  • 对序列进行去趋势处理,Y-T 用于加法模型,Y/T 用于乘法模型。
  • 通过取每个季节的去趋势序列的平均值来计算季节分量 S。
  • 残差分量 R 的计算公式为:对于加法模型R = Y-T-R,对于乘法模型R = Y/(TR)。

还有其他几种可用于分解的方法,例如 STL、X11 和 SEATS。 这些是先进的方法,是对经典方法的基本方法的补充,并改进了它的缺点。如果有想了解这些最新方法的可以留言,我们单开一篇文章介绍。

Python中进行时间序列分解

这里让我们使用1948年至1961年的美国航空客运量数据集:


import plotly.express as px
import pandas as pd
# Read in the data
data = pd.read_csv('AirPassengers.csv', index_col=0)
data.index = pd.to_datetime(data.index)
# Plot the data
fig = px.line(data, x=data.index, y='#Passengers',
labels=({'#Passengers': 'Passengers', 'Month': 'Date'}))
fig.update_layout(template="simple_white", font=dict(size=18),
title_text='Airline Passengers', width=650, title_x=0.5, height=400)
fig.show()

从图中我们观察到趋势是增加的,每年也有季节性。波动的大小随着时间的推移而增加,因此我们可以说这是一个乘法模型。

statmodels中包含了seasonal_decomposition函数可以帮我们来分解时间序列,并在我们要在调用函数时指定这是一个“乘法”模型:

from statsmodels.tsa.seasonal import seasonal_decompose
import matplotlib.pyplot as plt
# Plot the decomposition for multiplicative series
data.rename(columns={'#Passengers': 'Multiplicative Decomposition'}, inplace=True)
decomposition_plot_multi = seasonal_decompose(data['Multiplicative Decomposition'],
model='multiplicative')
decomposition_plot_multi.plot()
plt.show()

从上图中可以看到,该函数确实成功地捕获了这三个组成部分。

通过应用Scipy的函数boxcox ,可以使用Box-Cox变换稳定方差,这样可以将序列转换为一个加法模型:

# Import packages
from statsmodels.tsa.seasonal import seasonal_decompose
import matplotlib.pyplot as plt
from scipy.stats import boxcox
# Apply boxcox to acquire additive model
data['Additive Decomposition'], lam = boxcox(data['#Passengers'])
# Plot the decomposition for additive series
decomposition_plot_add = seasonal_decompose(data['Additive Decomposition'],
model='additive')
decomposition_plot_add.plot()
plt.show()

这个函数也很好地捕获了这三个组件。但是我们看到残差在早期和后期具有更高的波动性。所以在为这个时间序列构建预测模型时,需要考虑到这一点。

总结

在这篇文章中,我们展示了如何将时间序列分解为三个基本组成部分:趋势、季节性和残差。这三个组成部分的组合产生了实际的时间序列,它们的组合可以是加性的也可以是乘性的。有几种更新技术可以执行分解,如STL, SEAL和X11,但是经典的方法简单并且直观。最后通过分解时间序列有助于建立对数据的理解,从而更容易做出未来的预测。

https://avoid.overfit.cn/post/c9810ffc726b4cbeba5704e392408dcc

作者:Egor Howell

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

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.

相关推荐
热点推荐
枢密院十号:连乌克兰都不要的,台湾还当个宝……

枢密院十号:连乌克兰都不要的,台湾还当个宝……

环球网资讯
2024-06-19 23:58:21
只要恢复一条规定,年轻人又会愿意生娃,很多问题迎刃而解

只要恢复一条规定,年轻人又会愿意生娃,很多问题迎刃而解

糖逗在娱乐
2024-06-19 13:02:31
重庆老板将少女藏地下室7年,使她怀孕5次,却被其妻子发现了

重庆老板将少女藏地下室7年,使她怀孕5次,却被其妻子发现了

星辰故事屋
2024-06-18 18:29:55
酒井法子越老越丰满!微胖身材穿蕾丝裙紧绷绷,看脸却清纯如初

酒井法子越老越丰满!微胖身材穿蕾丝裙紧绷绷,看脸却清纯如初

时髦范
2024-06-07 10:51:02
刚刚,中国总理访澳国宴菜单曝光!因为朴素,遭到巨大争议

刚刚,中国总理访澳国宴菜单曝光!因为朴素,遭到巨大争议

澳洲红领巾
2024-06-19 13:39:32
冲上热搜!女排奥运抽签,与法美塞同组,舆论热议:机会挑战并存

冲上热搜!女排奥运抽签,与法美塞同组,舆论热议:机会挑战并存

天涯沦落人
2024-06-19 19:47:18
希尔顿集团千金:38岁高龄三胎生男娃,将成罗斯柴尔德家族继承人

希尔顿集团千金:38岁高龄三胎生男娃,将成罗斯柴尔德家族继承人

吾爱纪实
2024-06-19 16:01:36
姜萍是否找人代考?达摩院澄清对姜萍很不利,浙大欲言又止

姜萍是否找人代考?达摩院澄清对姜萍很不利,浙大欲言又止

平老师666
2024-06-19 20:59:10
美国突然宣布:实现“重大科学突破”,这可能会彻底改变世界

美国突然宣布:实现“重大科学突破”,这可能会彻底改变世界

嘿哥哥科技
2024-06-19 19:44:22
C罗儿子长大了!和继母拥抱庆生,母子关系真好,乔治娜身材极品

C罗儿子长大了!和继母拥抱庆生,母子关系真好,乔治娜身材极品

三十年莱斯特城球迷
2024-06-19 16:39:54
南医大最新回应!俞莉博士自找麻烦,已被停诊,校领导正开会研究

南医大最新回应!俞莉博士自找麻烦,已被停诊,校领导正开会研究

校长侃财
2024-06-19 11:58:24
一场2-2,让欧洲杯死亡之组乱了:2队预定3轮不胜,双双一起回家

一场2-2,让欧洲杯死亡之组乱了:2队预定3轮不胜,双双一起回家

侃球熊弟
2024-06-19 23:13:53
中国女排巴黎奥运名单公布:朱婷领衔,张常宁、李盈莹在列

中国女排巴黎奥运名单公布:朱婷领衔,张常宁、李盈莹在列

懂球帝
2024-06-19 17:12:16
成本超8亿,票房仅191万,2024年暑期档第一票房惨案诞生了

成本超8亿,票房仅191万,2024年暑期档第一票房惨案诞生了

靠谱电影君
2024-06-19 23:00:56
澳大利亚:月壤属于全人类,不属于中国,中国人必须把月壤交出来

澳大利亚:月壤属于全人类,不属于中国,中国人必须把月壤交出来

功标青史
2024-06-19 17:43:55
气愤!山西城管凌晨3点执法:几十吨西瓜被拉走,商贩躺地不起

气愤!山西城管凌晨3点执法:几十吨西瓜被拉走,商贩躺地不起

小淇言说
2024-06-19 18:43:14
现实中出轨的人真的很多吗?网友的回复,我彻底被震撼了

现实中出轨的人真的很多吗?网友的回复,我彻底被震撼了

奇特短尾矮袋鼠
2024-06-19 18:25:46
女生私处「小花瓣」长什么样,才正常?

女生私处「小花瓣」长什么样,才正常?

喜马拉雅主播暮霭
2024-06-09 13:13:48
桂林遇1998年以来最大洪水:商户用船接送周边居民,镇上新娘坐消防车出嫁

桂林遇1998年以来最大洪水:商户用船接送周边居民,镇上新娘坐消防车出嫁

极目新闻
2024-06-20 00:40:17
说“计划生育政策没有强迫性”“郭美美与红十字会无关”是同一人

说“计划生育政策没有强迫性”“郭美美与红十字会无关”是同一人

雪中风车
2024-06-19 04:11:42
2024-06-20 09:24:49
deephub
deephub
CV NLP和数据挖掘知识
1372文章数 1416关注度
往期回顾 全部

科技要闻

美国AI圈震动! “OpenAI宫斗”核心人物苏茨克维官宣创业

头条要闻

德对华最强硬部长将访华 专家:或向中方传递三层意思

头条要闻

德对华最强硬部长将访华 专家:或向中方传递三层意思

体育要闻

欧洲杯最大的混子,非他莫属

娱乐要闻

黄一鸣“杀疯了” 直播间卖大葱养孩子

财经要闻

茅台大跌,谁的锅?

汽车要闻

双肾格栅变化大/内饰焕新 新一代宝马X3官图发布

态度原创

数码
健康
亲子
旅游
家居

数码要闻

罗斯・杨称苹果今年第四季度推出 14/16 英寸 M4 MacBook Pro

晚餐不吃or吃七分饱,哪种更减肥?

亲子要闻

女儿自信给包上密码锁,下一秒被爸爸轻松“解码”

旅游要闻

遭遇极端高温天气导致希腊多名游客死亡

家居要闻

自然开放 实现灵动可变空间

无障碍浏览 进入关怀版