• R学习日记——分解时间序列(非季节性数据)


    分解时间序列,就是将一个时间序列拆分成不同的构成元件。一般序列(非季节性序列)包含一个趋势部分和一个不规则部分(也就是随机部分),而如果是一个季节性序列,除以上两个外,还有季节性部分。

     
    在此,我们先讲——非季节性数据的分解。
     

     一个非季节性时间序列包含一个趋势部分和一个不规则部分。 分解时间序列即为试图把时间序列拆分成这些成分,也就是说, 需要估计趋势的和不规则的这两个部分。

    为了估计出一个非季节性时间序列的趋势部分, 使之能够用相加模型进行描述, 最常用的方法便是平滑法, 比如计算时间序列的简单移动平均。 这时,我们需要使用“TTR”程序包中的SMA()函数。

    使用 SMA()函数时, 你需要通过参数“n” 指定来简单移动平均的跨度。 例如, 计算跨度为 5 的简单易懂平均, 我们在 SMA()函数中设定 n=5。  

    例如如上所述的,这个 42 位英国国王的去世年龄数据呈现出非季节性, 并且由于其随机变动在整个时间段内是大致不变的, 这个序列也可以被描述称为一个相加模型。 如图:

    > king<-scan("http://robjhyndman.com/tsdldata/misc/kings.dat",skip=3)
    Read 42 items
    > king
     [1] 60 43 67 50 56 42 50 65 68 43 65 34 47 34 49 41 13 35 53 56 16 43 69 59
    [25] 48 59 86 55 68 51 33 49 67 77 81 67 71 81 68 70 77 56
    > kingts<-ts(king)

     

    使用TTS程序包的SMA()函数进行简单移动平均。

    > kingstime<-SMA(kingts,n=8)
     
    > plot.ts(kingstime)


    这个跨度为8的简单移动平均平滑数据的趋势部分看起来更加清晰了,我们可以发现这个时间序列前20为国王去世年龄从最初的 55 周岁下降到 38 周岁, 然后一直上升到第 40 届国王的 73 周岁。

    一只混迹在规划圈的giser,喜欢数据分析和模型
  • 相关阅读:
    lxml webdriver 抓取街拍
    python 正则抓取古诗词
    2021 最新版 Spring Boot 速记教程
    hbase 命令查看表大小
    Spring AOP,应该不会有比这更详细的介绍了!
    SpringBoot实战:整合Redis、mybatis,封装RedisUtils工具类等
    API接口的安全设计验证:ticket,签名,时间戳
    5.控制台输出空心菱形
    4.灯泡开关问题
    EXCEL函数
  • 原文地址:https://www.cnblogs.com/giserliu/p/4354646.html
Copyright © 2020-2023  润新知