zoukankan      html  css  js  c++  java
  • 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,喜欢数据分析和模型
  • 相关阅读:
    简单的模板解析函数
    HTML通过事件传递参数到js 二 event
    HTML通过事件传递参数到js一
    通过this获取当前点击选项相关数据
    LeetCode 20. 有效的括号(Valid Parentheses)
    LeetCode 459. 重复的子字符串(Repeated Substring Pattern)
    LeetCode 14. 最长公共前缀(Longest Common Prefix)
    LeetCode 168. Excel表列名称(Excel Sheet Column Title)
    LeetCode 171. Excel表列序号(Excel Sheet Column Number) 22
    LeetCode 665. 非递减数列(Non-decreasing Array)
  • 原文地址:https://www.cnblogs.com/giserliu/p/4354646.html
Copyright © 2011-2022 走看看