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

  • 快速增加新浪微博粉丝的经验(新浪如何加好友)

    快速增加新浪微博粉丝的经验(新浪如何加好友)

  • 怎样发网站外链?(网站发外链用哪个平台比较好)

    怎样发网站外链?(网站发外链用哪个平台比较好)

  • 微信营销之怎样运营好微信公众号(微信营销怎样才能加新微信群聊)

    微信营销之怎样运营好微信公众号(微信营销怎样才能加新微信群聊)

  • 苹果手机如何设置屏幕亮屏时间(苹果手机如何设置来电拦截功能)

    苹果手机如何设置屏幕亮屏时间(苹果手机如何设置来电拦截功能)

  • 行程码带星在哪里看(行程码带星在哪个位置)

    行程码带星在哪里看(行程码带星在哪个位置)

  • 联通大王卡怎么关掉日租宝(联通大王卡怎么注销)

    联通大王卡怎么关掉日租宝(联通大王卡怎么注销)

  • 联想小新air14指纹传感器在哪(联想小新air14指纹传感器没反应)

    联想小新air14指纹传感器在哪(联想小新air14指纹传感器没反应)

  • 为什么人脸识别不能通过(为什么人脸识别不了)

    为什么人脸识别不能通过(为什么人脸识别不了)

  • 微信拒收与拉黑区别(微信拒收拉黑了再加回来怎么办)

    微信拒收与拉黑区别(微信拒收拉黑了再加回来怎么办)

  • 腾讯会员6个人用会怎样(腾讯会员个人中心的点击登录在哪里)

    腾讯会员6个人用会怎样(腾讯会员个人中心的点击登录在哪里)

  • wifi显示光信号红灯是什么回事(wifi显示光信号是什么意思)

    wifi显示光信号红灯是什么回事(wifi显示光信号是什么意思)

  • 华为10.0系统怎么降级(华为手机emui10系统)

    华为10.0系统怎么降级(华为手机emui10系统)

  • 手机连不上无线但电脑行(手机连不上无线网电脑能连上)

    手机连不上无线但电脑行(手机连不上无线网电脑能连上)

  • 网卡实现的主要功能在哪一层(网卡实现的主要功能包括)

    网卡实现的主要功能在哪一层(网卡实现的主要功能包括)

  • 入网资格验证失败是什么意思(入网资格验证失败 中国移动宝藏卡)

    入网资格验证失败是什么意思(入网资格验证失败 中国移动宝藏卡)

  • 现在qq音乐还能加速qq等级吗(qq音乐还能用吗)

    现在qq音乐还能加速qq等级吗(qq音乐还能用吗)

  • 手机电池健康多少正常(手机电池健康多久掉1%正常)

    手机电池健康多少正常(手机电池健康多久掉1%正常)

  • 序号怎么拉下来都是1(序号怎么拉下来自动排序)

    序号怎么拉下来都是1(序号怎么拉下来自动排序)

  • 华为支付宝怎么分身(华为支付宝怎么改实名认证信息)

    华为支付宝怎么分身(华为支付宝怎么改实名认证信息)

  • 抖音怎么上传5分钟长视频(抖音怎么上传5分钟视频教程)

    抖音怎么上传5分钟长视频(抖音怎么上传5分钟视频教程)

  • 手机qq空间申请访问在哪看(手机qq空间申请访问怎么设置)

    手机qq空间申请访问在哪看(手机qq空间申请访问怎么设置)

  • 如何添加共享打印机到电脑(如何添加共享打印机的详细步骤)

    如何添加共享打印机到电脑(如何添加共享打印机的详细步骤)

  • 怎样制作课件 幻灯片(怎样制作课件ppt动画顺序)

    怎样制作课件 幻灯片(怎样制作课件ppt动画顺序)

  • 华为畅享9指纹键在哪(华为畅享9指纹锁设置怎么不见了)

    华为畅享9指纹键在哪(华为畅享9指纹锁设置怎么不见了)

  • iPhone6/6 Plus微信无法定位怎么办?(苹果六微信)

    iPhone6/6 Plus微信无法定位怎么办?(苹果六微信)

  • 笔记本屏幕坏点检测及正确使用方法(笔记本屏幕坏点几个算正常)

    笔记本屏幕坏点检测及正确使用方法(笔记本屏幕坏点几个算正常)

  • 建筑行业有哪种职业
  • 房产税从价计征和从租怎么选择
  • 契税减免税特殊规定有哪些?
  • 企业所得税的减免税额和抵免税额区别
  • 非盈利组织减免的增值税怎么做账
  • 供应商属于应收账款吗
  • 小微企业和小规模纳税人的区别
  • 公司注销固定资产怎么处理税怎么交
  • 房屋改造工程怎么计入固定资产
  • 持有至到期投资账务处理
  • 支付给其他公司费用怎么入账
  • 怎么进行利润招财
  • 贷款已支付属于什么会计科目
  • 已申报税额什么时候缴纳
  • 企业销售产品的会计分录
  • 公司扣了员工的个人所得税但没有帮员工申报
  • 车船税在哪个科目下
  • 劳务合同如何缴纳社保
  • 超市开具预付卡发票不征税发票上税吗
  • 穿越火线改名卡买完了怎么用
  • 收到发票怎么写说明
  • 总公司拨给分公司款需要交税吗
  • 售后租回怎么理解
  • wordpress调试模式
  • phpsessid是什么
  • mac m1 rosetta编译
  • 转让存货属于什么收入
  • phpinfo() 中 Local Value(局部变量)Master Value(主变量) 的区别
  • 一次性取得的租金收入
  • 施工企业间接费占比
  • 债权投资利息调整属于什么科目?
  • 德国楚格峰一日游攻略
  • 动产租赁增值税税率最新
  • 冲回上年计提费用
  • php弹出登录框
  • php中preg_replace_callback函数简单用法示例
  • 网上学电脑的软件
  • 退回材料的会计分录
  • 资金占用费怎么开票
  • 分公司非独立核算怎么做账
  • 银行回单应如何打印
  • 根据工资总额组成的规定下列哪些列入工资总额的范围
  • 企业所得税的营业成本包括期间费用吗
  • 省市县三级联动工作机制
  • 买一赠一涉及企业所得税的处理
  • 公司人身意外保险多少钱
  • 公司租赁房屋房产税
  • 暂时性差异的产生
  • 合并设立是什么意思
  • 专项资金账务体现不出怎么办
  • 以前年度社保计提出错了怎么调整
  • 营业利润率高好还是低好
  • 销售佣金的三大特点是什么?
  • 企业设备可以贷款吗?
  • 企业利润分为四个方面
  • 房地产开发企业销售自行开发的房地产项目
  • 在sqlserver2008中
  • CentOS EXT4文件系统的详解
  • 电脑如何安装Anaconda
  • xp系统蓝屏解决
  • win10改服务器
  • get mac
  • 电脑windows7无法验证此文件
  • win10 20h2怎么更新
  • win7累计更新补丁包
  • qt5 opengl
  • Node.js中的核心模块包括哪些内容?
  • diskpart ntfs
  • 基于python的推荐系统
  • shell批量执行curl
  • python的垃圾处理机制
  • 安卓小项目实战软件
  • 使用权资产
  • pythonstl
  • 如何网上申领税票发票
  • 浙江电子税务开票系统
  • 房地产企业税种认定标准
  • 扬州国家税务学院在哪个区
  • 税务税收预测
  • 印花税票在哪里可以查到
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设