位置: IT常识 - 正文

【时序列】时序列数据如何一步步分解成趋势(trend)季节性(seasonality)和误差(residual)- 详细理解python sm.tsa.seasonal_decompose(时序21-21-21-47)

编辑:rootadmin
【时序列】时序列数据如何一步步分解成趋势(trend)季节性(seasonality)和误差(residual)- 详细理解python sm.tsa.seasonal_decompose 【时序列】时序列数据如何一步步分解成趋势(trend)季节性(seasonality)和误差(residual)- 理解python sm.tsa.seasonal_decompose

推荐整理分享【时序列】时序列数据如何一步步分解成趋势(trend)季节性(seasonality)和误差(residual)- 详细理解python sm.tsa.seasonal_decompose(时序21-21-21-47),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:时序17,时序还是时序,时序gan,时序gan,时序 序时,时序17,时序 序时,时序 序时,内容如对您有帮助,希望把文章链接给更多的朋友!

在做时序列分析的时候,好多教程都告诉你要把时序列分解成趋势,季节性,残差,然后画图看一下有没有趋势变化,有没有季节性。像这样:

import statsmodels.api as smdecomposition = sm.tsa.seasonal_decompose(train['Count'] ,model='addictive', period=7)decomposition.plot()

相信大家都很熟悉python的这个包和命令,但是具体是如何分解的却不是特别清楚。今天就来详细理解一下一个时序列是如何一步一步被分解的。

举个例子理解概念

首先我们默认每个时序列在某个时间点i的数值,都可以分解成三部分,分别是趋势,季节性和残差,以此来解释时序列的变化。

比如,某列车2021年2月的总乘客人数1000人,这1000人如何理解,为什么是1000人? 2018年2月还是100人,2021年1月还是300人,为啥到2021年2月就1000人了?

首先,可能因为列车开通后乘车人数有逐年上升的趋势,每年增加100人,2018年到2021年的3年之间增加了300人,只考虑趋势原因的话2021年2月应该是:100+300=400人

然后,和2021年1月分相比,2021年2月是春节,每年的2月乘客都1月多200人,只考虑春节这个季节性原因的话2021年2月应该是:300+200=500人

把季节性和趋势原因都考虑进去应该是:400+500=900人,但2021年2月是1000人,剩下的100人如何解释呢?暂时解释不了, 我们就把它作为残差(误差)

理解了例子公式就简单了

就是下面这个公式: y_i = t_i + s_i + n_i

【时序列】时序列数据如何一步步分解成趋势(trend)季节性(seasonality)和误差(residual)- 详细理解python sm.tsa.seasonal_decompose(时序21-21-21-47)

y_i :在i时间点的数值(乘客人数,销量等等) t_i :在i时间点的趋势 s_i :在i时间点的季节性 n_i:在i时间点的残差

当然在上面这个例子里,我们假设这个y(乘客人数),是线性增长的,所以我们用加法把每个要素加起来,来解释y的变化。 如果y不是线性增长,而是比如指数增长的,那就不能用加法,需要用乘法,即: y_i = t_i * s_i * n_i

decomposition = sm.tsa.seasonal_decompose(train[‘Count’], model=‘addictive’, period=7)

那么,上面这句代码里的model就应该从‘addictive’, 改成‘multiplicative’

一步步分解趋势,季节性,残差

所以趋势,季节性,残差都是咋分出来的呢。计算方法貌似有很多,我们理解一个最基本的。 五步走: 1: 确定季节性变化的期间 2: 分离 趋势 3: 分离 季节性+残差 4: 分离 季节性 5: 分离 残差

1: 确定季节变化的期间

这个期间就是decompose命令里面的period。看一下你的数据图。我手头的数据是日次的,看起来以周为单位有一个先升高再下降的循环。所以我把period定为7(7天的意思)

2: 分离 趋势

7这个期间定好之后,我们用移动平均的方法分离趋势。为了方便解释,我都用excel做示例。

计算的时候,以7的中心为开始计算移动平均。所以时序列最开始的3个三个数和最后的3个数是没有值的。 个人理解,如果季节性以周次出现,那么以7为单位计算的时候,比如每周六日数值都很高,这个因素就每个cycle(周)里面都有,平均下来的数值,就可以看作是摒弃了季节性的趋势的影响。 可以看到计算结果和python的decompose是一样的

3: 分离 季节性+残差

分离好趋势之后,如果你选的是model=‘addictive’,根据公式y_i = t_i + s_i + n_i, 我们只要用数值减去趋势那部分,就能得到季节性+残差的部分了。如果是multiplicative,那就是除以趋势。 结果如下,季节性+残差

4,5: 分离 季节性 残差

接下来就从季节性+残差里面把季节性分出来。比如,如果时序列是周次季节性,那么周一的数值,就减去所有周一的数值的平均,周二的数值就减去所有周二的平均,以此类推,剩下的就是残差了。当然这只举了一个分离季节性的超简单逻辑。python里面decompose貌似用了更复杂的计算方法来计算季节性,由于篇幅过大暂且省略。

验证以下python的结果

看一下用python的seasonal_decompose算完,季节性,趋势,残差,加起来是不是真的等于原来的数值。 代码如下

decomposition = sm.tsa.seasonal_decompose(train['Count'],model='addictive', period=7) #Additivetrend = decomposition.trendseasonal = decomposition.seasonal residual = decomposition.residtrain['trend']=trendtrain['seasonal']= seasonaltrain['residual']= residualtrain['add'] = train['trend']+train['seasonal'+*train['residual']

结果如下,Count果然和三个加起来的数值是一样的。 前三行的trend是没有值的。这是因为以7为中心算移动平均的时候,中心点位置是第四行,前3行没有值也就可以理解了。 就写到这里。欢迎大家指导讨论!

【参考文献】 https://timeseriesreasoning.com/contents/time-series-decomposition/

本文链接地址:https://www.jiuchutong.com/zhishi/295152.html 转载请保留说明!

上一篇:在暴风雪中畅游的鸬鹚,德国黑森州 (© Wilfried Martin/Getty Images)(在暴风雪中求生)

下一篇:元素点击报错:element click intercepted(元素鼠标失灵了怎么办)

  • 做微博营销不得不知的微博传播特点!(微博营销需要遵守的原则是)

    做微博营销不得不知的微博传播特点!(微博营销需要遵守的原则是)

  • 现代励志故事:只有相信奇迹才能创造奇迹(现代励志故事200字)

    现代励志故事:只有相信奇迹才能创造奇迹(现代励志故事200字)

  • 苹果手机和苹果电脑怎么隔空投送(苹果手机和苹果手机怎么导入数据)

    苹果手机和苹果电脑怎么隔空投送(苹果手机和苹果手机怎么导入数据)

  • 苹果11手机耳机模式退不出来了怎么解决(苹果11手机耳机插上没反应怎么回事)

    苹果11手机耳机模式退不出来了怎么解决(苹果11手机耳机插上没反应怎么回事)

  • 华为畅享20pro支持nfc功能吗(华为畅享20pro支持无线充电吗)

    华为畅享20pro支持nfc功能吗(华为畅享20pro支持无线充电吗)

  • 拼多多允许批发吗(拼多多允许批发商品吗)

    拼多多允许批发吗(拼多多允许批发商品吗)

  • 怎么检查电脑硬件是否有问题(怎么检查电脑硬盘坏道)

    怎么检查电脑硬件是否有问题(怎么检查电脑硬盘坏道)

  • 怎么开通微信视频号

    怎么开通微信视频号

  • QQ怎么往邮箱里发视频(qq怎么往邮箱里发照片)

    QQ怎么往邮箱里发视频(qq怎么往邮箱里发照片)

  • qq友谊的巨轮消失条件(qq友谊的巨轮消失是单向的吗)

    qq友谊的巨轮消失条件(qq友谊的巨轮消失是单向的吗)

  • 淘宝会员名字怎么改掉(淘宝会员名字怎么修改?)

    淘宝会员名字怎么改掉(淘宝会员名字怎么修改?)

  • 毒发货有短信提醒吗(毒app发货的短信)

    毒发货有短信提醒吗(毒app发货的短信)

  • 交管12123缴费显示未开通支付(交管12123缴费显示会话超期怎么回事)

    交管12123缴费显示未开通支付(交管12123缴费显示会话超期怎么回事)

  • 华为4g变2g怎么办(华为4g变2g怎么设置)

    华为4g变2g怎么办(华为4g变2g怎么设置)

  • 手机空号是什么意思(怎么知道手机的手机号)

    手机空号是什么意思(怎么知道手机的手机号)

  • 电脑变卡了怎么清理(电脑变卡了怎么弄)

    电脑变卡了怎么清理(电脑变卡了怎么弄)

  • 苹果蓝牙耳机老是断开(苹果蓝牙耳机老是语音控制)

    苹果蓝牙耳机老是断开(苹果蓝牙耳机老是语音控制)

  • 港版苹果怎么用电信卡(国行苹果和港版苹果有什么区别)

    港版苹果怎么用电信卡(国行苹果和港版苹果有什么区别)

  • 为什么两个苹果手机同时接到电话(为什么两个苹果手机发短信是绿色的)

    为什么两个苹果手机同时接到电话(为什么两个苹果手机发短信是绿色的)

  • 骁龙855处理器的手机有哪些(骁龙855处理器的千元机)

    骁龙855处理器的手机有哪些(骁龙855处理器的千元机)

  • 快手极速版怎样收藏作品(快手极速版怎样领金币)

    快手极速版怎样收藏作品(快手极速版怎样领金币)

  • ipad保修需要什么(苹果ipad保修需要带什么)

    ipad保修需要什么(苹果ipad保修需要带什么)

  • 抖音怎么飘屏文字(抖音怎么才能飘屏打字)

    抖音怎么飘屏文字(抖音怎么才能飘屏打字)

  • 闪电盒子注销步骤(闪电盒子怎么实名认证)

    闪电盒子注销步骤(闪电盒子怎么实名认证)

  • 怎么把几张照片弄成一张(怎么把几张照片合在一起)

    怎么把几张照片弄成一张(怎么把几张照片合在一起)

  • 电脑录音在哪(电脑录音在哪里存放)

    电脑录音在哪(电脑录音在哪里存放)

  • 附加税计提会计科目
  • 电子承兑到期了在哪里选择清算方式
  • 今年成立的公司,残保金是否要申报
  • 出口退税不退税主要适用于
  • 高新技术企业如何查询
  • 房屋赠与时契税的计税依据
  • 股权转让企业所得税纳税地点
  • 车辆生产企业目录
  • 社会保险基金管理局是干什么的
  • 投资公司收到的发票
  • 凭证可以部分冲销吗
  • 在年度汇算清缴前取得去年成本发票
  • 企业如何实现资源共享
  • 合营安排与共同安排区别
  • 销售方开票不填开户行
  • 收到财政拨款开什么票据
  • 给客户退差价怎么说
  • 票据贴现业务的风险
  • 出口押汇申请书
  • 银行回单如何做凭证
  • win7硬盘安装win10教程
  • 无法找到脚本文件c:\windows\system32
  • 交易性金融资产是什么意思
  • 发出商品借方余额120000元
  • 知识产权?
  • 公司成立之初
  • 利息股息红利个税计算表
  • php的运算符主要包括哪些?
  • 应交增值税减免税款包括什么
  • 何为租赁合同
  • ssms注释
  • 正则表达式大全(整理版)
  • php反射获取方法参数
  • css选择器分哪几类
  • ai绘画图片
  • php date()
  • 普通动产和特殊动产如何分类
  • 进项不认证有什么风险
  • 资产负债表和利润表的勾稽关系
  • 收入少收钱账务处理
  • access中宏的操作
  • 劳务派遣公司必须有劳务派遣证吗
  • 入股资金打入公司账户
  • 收到发票未收到货物
  • 制造费用期末要结转吗
  • 安装购买的材料怎么做账
  • 发票未到货已入库会计分录 原材料
  • 建筑业收入叫什么
  • 财政补助资金是什么意思
  • 电费发票开据后如何入帐?
  • 土地使用权出资是什么意思
  • 小规模公司购买汽车如何抵税
  • 账面价值,账面净值,账面余额三者的区别
  • 好用的sql工具
  • sql server复制表数据
  • sql连接查询实验报告
  • mysql8.0 主从
  • mysql5.5中文乱码解决
  • 数据库高并发怎么解决
  • mysql根据另一张表更新
  • win8自带软件
  • windows2008 iis7如何取消目录执行权限的详细图文介绍
  • linux git教程
  • 华硕主板如何刷系统
  • neoCapture.exe - neoCapture是什么进程 有什么用
  • 电脑安装win8
  • node modules干嘛的
  • python rgb转cmyk
  • 学习计划
  • jQuery插件能输出到控制台
  • nodejs mocha
  • html中<
  • 用js实现导航栏的下拉列表
  • vuex状态机
  • javascript学习指南
  • js中遍历的方法
  • androidsdk的计算机
  • 个人取得抽奖,购车抵用,需要缴纳个人所得税吗
  • 国税地税征管体制改革方案全文
  • 河南税务申报
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设