位置: 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(元素鼠标失灵了怎么办)

  • 手机忘记密码怎么打开(手机忘记密码怎么解锁最简单方法)

    手机忘记密码怎么打开(手机忘记密码怎么解锁最简单方法)

  • realmebook电池多大(realmex的电池容量)

    realmebook电池多大(realmex的电池容量)

  • 荣耀50视频美颜功能在哪里开启(荣耀50视频美颜怎么设置找不到)

    荣耀50视频美颜功能在哪里开启(荣耀50视频美颜怎么设置找不到)

  • 优学院用户名不存在(优学院用户名不存在是什么原因)

    优学院用户名不存在(优学院用户名不存在是什么原因)

  • 抖音不用手机号也可注册吗(抖音不用手机号怎么登录账号)

    抖音不用手机号也可注册吗(抖音不用手机号怎么登录账号)

  • 苹果xsmax充电进入假死(苹果xsmax充电口进水怎么办)

    苹果xsmax充电进入假死(苹果xsmax充电口进水怎么办)

  • 苹果7硬重启(苹果硬重启白屏)

    苹果7硬重启(苹果硬重启白屏)

  • oppor7s手机开机上面一半显式下面有一节黑色是什么原因(oppor7开不开机)

    oppor7s手机开机上面一半显式下面有一节黑色是什么原因(oppor7开不开机)

  • 取消关注后对方知道吗(取消关注后对方点过赞的作品还在吗)

    取消关注后对方知道吗(取消关注后对方点过赞的作品还在吗)

  • 抖音没18可以直播吗(抖音不满18岁可以直播吗)

    抖音没18可以直播吗(抖音不满18岁可以直播吗)

  • 3400g核显相当于什么(3400g核显相当于什么cpu)

    3400g核显相当于什么(3400g核显相当于什么cpu)

  • fast路由器为什么上不了网(FAST路由器为什么越来越卡)

    fast路由器为什么上不了网(FAST路由器为什么越来越卡)

  • 苹果语音控制已经关了,为什么还是会出来(苹果语音控制已不听取指令)

    苹果语音控制已经关了,为什么还是会出来(苹果语音控制已不听取指令)

  • 为什么手机充不满电(为什么手机充不进去电但显示充电)

    为什么手机充不满电(为什么手机充不进去电但显示充电)

  • 骁龙855和骁龙855plus有什么区别(骁龙855和骁龙855plus哪个省电)

    骁龙855和骁龙855plus有什么区别(骁龙855和骁龙855plus哪个省电)

  • 芒果会员怎么两个人用(芒果tv会员怎么两人用)

    芒果会员怎么两个人用(芒果tv会员怎么两人用)

  • iPhone11pro怎么拒接来电(iphone11pro怎么拒绝来电)

    iPhone11pro怎么拒接来电(iphone11pro怎么拒绝来电)

  • 苹果11充电怎么设置(苹果11充电怎么充对电池好)

    苹果11充电怎么设置(苹果11充电怎么充对电池好)

  • excel怎么生成条形码(excel怎么生成二维码)

    excel怎么生成条形码(excel怎么生成二维码)

  • 手机投屏怎样能全屏播放(手机投屏怎样能全屏)

    手机投屏怎样能全屏播放(手机投屏怎样能全屏)

  • qq的svip有什么用(qq的svip能干什么)

    qq的svip有什么用(qq的svip能干什么)

  • 盒马鲜生怎么付款(盒马鲜生怎么付不了订单)

    盒马鲜生怎么付款(盒马鲜生怎么付不了订单)

  • XP系统,右下角本地连接图标消失的解决办法

    XP系统,右下角本地连接图标消失的解决办法

  • 提供劳务应收未收的款项
  • 不动产用于集体福利能否抵扣
  • 利润属于所有者权益类科目吗
  • 固定资产提折旧 账务处理
  • 企业购房税费政策
  • 上期留抵税额如何计算
  • 投资可赎回基金怎么入账?
  • 核定征收企业所得税率是多少
  • 应付未付的职工工资属于什么会计科目
  • 其他应收款属于流动资产吗
  • 贸易公司一般纳税多少
  • 城市建设维护税和教育费附加怎么算
  • 固定资产预计净残值怎么做账
  • 汽车修理费入账
  • 哪些进项税不能加计抵减
  • 在建工程转固定资产当月提折旧吗?
  • 个税系统数据没有备份怎么办
  • 出售已计提减值准备的固定资产
  • 固定资产上的配件经常更换
  • 我的初级备考经历作文
  • 个体户生产经营所得怎么报税
  • 四川中级会计报名需要上传哪些资料
  • 企业所得税季报是填累计数吗
  • 专用发票和普通发票的税率
  • 营改增后视同销售的税务处理怎么做?
  • Windows11安装不了空件怎么处理
  • 设备的折旧率是什么意思
  • 销售部门的固定资产折旧计入什么科目
  • win10怎么看已安装的驱动
  • 企业清算有哪些类型
  • php图片叠加
  • php7 数组
  • PHP daddslashes 使用方法介绍
  • 其他综合收益需要结转吗
  • 怎么解锁城堡上空
  • 深入php:面向对象、模式与实践
  • 现金折扣的账务处理最新规定
  • 手把手教你使用opc
  • 青龙面板库怎么用
  • vuetify cdn
  • mapbox怎么用
  • 发票作废有费用吗
  • 抵扣联丢失如何抵扣
  • python操作csv
  • 个人能去税务局开劳务费发票吗
  • 企业注销后还有风险吗
  • 增值税小规模纳税人减免增值税政策
  • Yii 连接、修改 MySQL 数据库及phpunit 测试连接
  • 蔬菜和肉类是不是免税
  • 汇算清缴的费用标准 中汇
  • sqlserver远程连接失败
  • 受托代销商品的代销方式有哪两种
  • 通用机打的发票
  • 珠宝行业的会计
  • 有进项税额转出,怎么计提附加税
  • 销售费用工资是什么科目
  • 暂估商品会计分录
  • 工程施工科目核算内容
  • 差旅费的进项税率是多少
  • 承兑汇票被背书人
  • 备查账一般采用什么账簿
  • mysql 的replace into实例详解
  • U盘安装centos8
  • 电脑右下角windows设置在哪
  • Win7旗舰版系统文件名称
  • centos7误删除怎么恢复
  • 云存储服务怎么打开
  • cocos creator 资源加密
  • js中单例模式
  • jquery 选中
  • python内置函数用来返回列表,元组,字典
  • JavaScript 和 Java 的区别浅析
  • 如何实现高质量发展
  • 果断收藏9个Javascript代码高亮脚本
  • 简述python语言
  • 低保户系统能查出来吗
  • 企业所得税率2023年
  • 广州2021社保费
  • 大东地税局
  • 税务党课主题或党课题目
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设