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

  • htc 3(htc 328t)

    htc 3(htc 328t)

  • 手机版钉钉在线课堂怎么操作(手机版钉钉在线课堂怎么共享屏幕)

    手机版钉钉在线课堂怎么操作(手机版钉钉在线课堂怎么共享屏幕)

  • 红米k20有红外吗(红米k20有红外线么)

    红米k20有红外吗(红米k20有红外线么)

  • 怎么把竖屏图片变成横屏(怎么把竖屏图片等比例变成横屏)

    怎么把竖屏图片变成横屏(怎么把竖屏图片等比例变成横屏)

  • 通信大数据行程卡是根据什么(通信大数据行程卡查不到行程怎么办)

    通信大数据行程卡是根据什么(通信大数据行程卡查不到行程怎么办)

  • 华为atu一tl10是什么型号(华为atu一tl10多少钱一部)

    华为atu一tl10是什么型号(华为atu一tl10多少钱一部)

  • 微信群聊删除并退出别人会看见吗(微信群聊删除并退出群主会知道吗)

    微信群聊删除并退出别人会看见吗(微信群聊删除并退出群主会知道吗)

  • sim卡坏了能在异地补吗(sim卡坏了能异地补办吗)

    sim卡坏了能在异地补吗(sim卡坏了能异地补办吗)

  • 无lntemet访问怎么办(无lntemet访问怎么办win10)

    无lntemet访问怎么办(无lntemet访问怎么办win10)

  • console线是什么线(console线长什么样)

    console线是什么线(console线长什么样)

  • 微信里的图片怎么放大不了(微信里的图片怎么打印出来)

    微信里的图片怎么放大不了(微信里的图片怎么打印出来)

  • 苹果深色模式怎么使用(苹果深色模式怎么设置快捷)

    苹果深色模式怎么使用(苹果深色模式怎么设置快捷)

  • 如何使用拼多多购物(如何使用拼多多账户余额)

    如何使用拼多多购物(如何使用拼多多账户余额)

  • 网络安全每年检测几次(网络安全检查时间)

    网络安全每年检测几次(网络安全检查时间)

  • 触屏手机屏幕失灵乱跳(触屏手机屏幕失灵修复)

    触屏手机屏幕失灵乱跳(触屏手机屏幕失灵修复)

  • 抖音怎么开通直播权限(抖音怎么开通直播)

    抖音怎么开通直播权限(抖音怎么开通直播)

  • 以前用的手机号现在是空号能补吗(怎么查以前用的手机号)

    以前用的手机号现在是空号能补吗(怎么查以前用的手机号)

  • ps保存快捷键(ps保存快捷键没反应)

    ps保存快捷键(ps保存快捷键没反应)

  • ios12快捷指令怎么用(ios12.4快捷指令怎么用)

    ios12快捷指令怎么用(ios12.4快捷指令怎么用)

  • 王者荣耀中如何赠送好友英雄?(王者荣耀中如何隐藏贵族标志)

    王者荣耀中如何赠送好友英雄?(王者荣耀中如何隐藏贵族标志)

  • 电脑无损怎么调整分区大小?(电脑无损音乐播放软件哪个最好)

    电脑无损怎么调整分区大小?(电脑无损音乐播放软件哪个最好)

  • 【数据可视化】第五章—— 基于PyEcharts的数据可视化(数据可视化分析)

    【数据可视化】第五章—— 基于PyEcharts的数据可视化(数据可视化分析)

  • 新项目决定用 JDK 17了(新项目分哪几个阶段)

    新项目决定用 JDK 17了(新项目分哪几个阶段)

  • 食品配送专票税率是多少
  • 物业公司物业费不开发票
  • 当月增值税为负数
  • 城建税计税依据扣除增值税期末留抵
  • 购买土地自建厂房的会计处理
  • 房产税从租计征12%是年税率吗
  • 明细分类核算的方法分为
  • 应付款管理参数设置的基本操作流程
  • 存货入账价值计算公式
  • 营业外收入是否报增值税
  • 餐饮发票税钱
  • 税控盘费用冲减管理费用还是营业外收入?
  • 收到赔材料赔付款怎样做账?
  • 暂估入库会影响利润吗
  • 月不超过10万,季不超过30万免什么税
  • 上个月印花税少计提了怎么办
  • 企业季度所得税可以弥补以前年度亏损吗
  • 公司员工补充医疗保险方案
  • 出差补贴怎么算
  • 员工产假期间工资是社保局发吗
  • 新公司能先用别人的钱吗
  • 预付账款收到发票的会计分录
  • 平均净资产计算公式是什么意思
  • 理财公司收到客户投资款怎么处理
  • Linux系统怎么调整屏幕亮度
  • 企业出租经营权是否征税
  • 小规模减免的增值税怎么记账
  • 怎么认定是否为包工头
  • win11新功能
  • windows商店下载不了
  • 增值税的计税依据包括关税吗
  • PHP:imagesetinterpolation()的用法_GD库图像处理函数
  • 什么叫非同一控制下
  • 出租门面是否缴增值税
  • 一个非常有用的工具用英语怎么说
  • 优胜美地国家公园简介
  • 编译redis报错
  • 财政专户资金是什么意思
  • 固定资产一次性折旧政策2023
  • 会计等式反映了六大会计要素的恒等关系
  • php常用加密方式
  • fdisk cfdisk
  • 金蝶年底结账流程
  • 个体工商户开增值税专用发票
  • 预缴的附加税需要转出吗
  • 开票资料电话写错了有关系吗
  • phpmail
  • 织梦cms要钱吗
  • 残疾人就业保障金会计分录怎么做
  • 个人所得税工资薪金包括哪些内容
  • 已开票未收到款怎么做账
  • 稳岗补贴操作
  • 出售子公司股权给其他公司
  • 接受现金捐赠怎么做会计分录
  • 提取法定盈余公积会计分录
  • 应交税费科目怎么调整
  • 公司向个人借款的会计分录怎么做
  • 累计折旧的计提会计分录
  • 年度计提资产减值准备 好还是坏
  • 什么是履约义务,举例
  • 企业初建
  • 金融企业借款费用计入
  • 在幻灯片母版中
  • freebsd wifi设置
  • 电脑网页字体设置
  • win8怎么改文件格式
  • linux打成zip包
  • Win7系统打开IE提示“堆栈满溢”的多种解决方案
  • 学会这8个技巧让你做出的菜味道更好
  • win7运行速度
  • linux中文件权限读写执行的三种标志符号依次是
  • nodejs客户端框架
  • upsource使用详解
  • javascript运用
  • jquery内容过滤选择器有哪些
  • js基于什么
  • jquery获取url地址
  • 广东省国家税务总局稽查局局长
  • 管道运输是什么意思?运输的是什么
  • 非居民企业所得税税率
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设