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

  • 4个秘诀,看他们是如何抓住新客户的(看那个方法)

    4个秘诀,看他们是如何抓住新客户的(看那个方法)

  • 小米10是双卡双待的吗(小米10是双卡双待双5G吗?)

    小米10是双卡双待的吗(小米10是双卡双待双5G吗?)

  • b站结束的直播怎么回放(b站怎么看已经结束的直播)

    b站结束的直播怎么回放(b站怎么看已经结束的直播)

  • 苹果灰色内存能删除吗(苹果灰色的内存)

    苹果灰色内存能删除吗(苹果灰色的内存)

  • 苹果退出盲人黑屏模式(苹果退出盲人黑屏怎么办)

    苹果退出盲人黑屏模式(苹果退出盲人黑屏怎么办)

  • wps文档怎么取消分页(wps文档怎么取消只读模式)

    wps文档怎么取消分页(wps文档怎么取消只读模式)

  • 华为售后免费贴膜贴的是什么膜(华为售后免费贴膜是什么膜)

    华为售后免费贴膜贴的是什么膜(华为售后免费贴膜是什么膜)

  • 华为p30飞行模式在哪里设置(华为p30飞行模式在哪)

    华为p30飞行模式在哪里设置(华为p30飞行模式在哪)

  • 语音连接失败什么原因(语音显示连接失败是他断还是我断)

    语音连接失败什么原因(语音显示连接失败是他断还是我断)

  • 微处理器的主要性能指标是什么(微处理器的主要性能指标是其体积的大)

    微处理器的主要性能指标是什么(微处理器的主要性能指标是其体积的大)

  • 养号期间可以发作品吗(养号期间发作品会怎样)

    养号期间可以发作品吗(养号期间发作品会怎样)

  • 打印测试页失败(打印机打印测试页失败)

    打印测试页失败(打印机打印测试页失败)

  • 局域网lan是指在多少范围内的网络(局域网lan全称)

    局域网lan是指在多少范围内的网络(局域网lan全称)

  • 内存和外存相比主要特点是(内存和外存相比主要特点是存取速度快)

    内存和外存相比主要特点是(内存和外存相比主要特点是存取速度快)

  • 苹果11有录屏功能吗(苹果11录屏功能怎么添加到控制中心)

    苹果11有录屏功能吗(苹果11录屏功能怎么添加到控制中心)

  • 如何备份电脑文件(如何备份电脑文件重装系统)

    如何备份电脑文件(如何备份电脑文件重装系统)

  • 手机qq空间背景怎么设置透明(手机QQ空间背景音乐自动播放)

    手机qq空间背景怎么设置透明(手机QQ空间背景音乐自动播放)

  • 苹果xr基带是啥(苹果xr基带信号怎么样)

    苹果xr基带是啥(苹果xr基带信号怎么样)

  • imessage在哪

    imessage在哪

  • 苹果手机查找朋友位置不可用是什么情况(苹果手机查找朋友在哪里)

    苹果手机查找朋友位置不可用是什么情况(苹果手机查找朋友在哪里)

  • qq小秘密朋友的朋友是我的朋友吗(qq小秘密好友的秘密)

    qq小秘密朋友的朋友是我的朋友吗(qq小秘密好友的秘密)

  • ipad显示亮度怎么调节(ipad显示亮度怎么设置不自动)

    ipad显示亮度怎么调节(ipad显示亮度怎么设置不自动)

  • 苹果手机怎么样设置字体(苹果手机怎么样把旧手机的所有东西转到新手机)

    苹果手机怎么样设置字体(苹果手机怎么样把旧手机的所有东西转到新手机)

  • vue element-ui 手机号校验 & 验证码校验 & 获取验证码倒数60秒无样式实现(elementui 手机端)

    vue element-ui 手机号校验 & 验证码校验 & 获取验证码倒数60秒无样式实现(elementui 手机端)

  • 购销合同印花税按70%
  • 公司研发人员定义
  • 提取法定盈余公积是从净利润中提取吗
  • 信息技术服务可以简易征收吗
  • 金蝶k3费用发票怎么做
  • 为什么对子公司长投要用成本法
  • 增值税发票选择确认平台勾选注意事项
  • 库存商品赠送给客户要开票吗
  • 预收款结转收入怎么算
  • 土地股权转让交多少税
  • 收入跨期审计调整分录如何滚调
  • 企业预付一年的房租怎么做分录
  • 公司清算往来科目应该怎么处理?
  • 企业销售商品的业务有什么特点
  • 电商公司怎么开发票
  • 年终奖怎么缴纳个税
  • 期货盈利需要交什么税
  • 代销商品
  • 股权增资稀释股价会涨吗
  • 收到退回的银行汇票会计分录
  • 发票少开退回多付的货款怎么入账?
  • 专项储备属于利润分配吗
  • 凭证金额多记了,已经入账了怎么办
  • 交换房产土地如何交税
  • 企业一次性支付多年费用 不摊销
  • 非货币性资产交换差额计入什么科目
  • 什么叫市净率?它有何意义?
  • phpexplode函数
  • Mac如何开启无痕浏览
  • PHP:oci_fetch_all()的用法_Oracle函数
  • 企业人员工资怎么避税
  • php常用的魔术方法有哪些
  • 公司给员工发放的福利都要扣个税吗
  • 最早的笔记本是512m内存
  • 福利包括什么
  • 一维卷积padding
  • 负债大于资产能贷款吗
  • 小规模纳税人的企业所得税税率
  • linux安装cuda的正确姿势
  • ftp port命令
  • js构造函数怎么用
  • 公司一年没有业务
  • 企业间借款利息开票税收分类编码
  • 业务出差餐费如何记账
  • 分享帝国cms选取什么
  • 开工程款发票有什么规定?
  • 物业广告怎么收费
  • 可供出售金融资产的会计处理
  • 哪些固定资产是负债类
  • 其他应收款怎么冲平会计分录
  • 物业建车棚谁出钱
  • 股东投入的资金
  • 什么叫递延收益和其他收益
  • 表彰奖励奖金规定
  • 其他应付现金流量表
  • 施工单位代建收费合理吗
  • 补缴增值税的会计处理
  • 股权转让后再转让
  • 全资子公司并入母公司
  • 减免税款月末是否结平
  • 会议费是指参加会议还是举办会议
  • 产品成本核算有哪些方法
  • 如何删除windows media center
  • win8系统怎么清理缓存
  • w10英雄联盟老是崩溃
  • slserves.exe - slserves是什么进程
  • apache2.4.46配置
  • win7升级win10系统版本软件还有吗
  • mac如何搜索应用
  • win7如何取消开机启动
  • cocos2d用什么语言开发游戏
  • 完美解决雷电模拟器卡顿
  • 简述javascript的常用控制结构
  • JavaScript中的数据类型分哪为两大类?
  • Nodejs之http的表单提交
  • Android ExpandableListView的使用技巧
  • js数组排序方法sort
  • 汽车运输发票税率是多少
  • 徐州第三税务分局
  • 学校经费审批流程
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设