zoukankan      html  css  js  c++  java
  • R学习日记——分解时间序列(季节性数据)

    上篇说明了分解非季节性数据的方法。就是通过TTS包的SMA()函数进行简单移动平均平滑。让看似没有规律或没有趋势的曲线变的有规律或趋势。然后再进行时间序列曲线的回归预测。

    本次,开始分解季节性时间序列。
     
    一个季节性时间序列中会包含三部分,趋势部分、季节性部分和无规则部分。分解时间序列就是要把时间序列分解成这三部分,然后进行估计。
     
    对于可以使用相加模型进行描述的时间序列中的趋势部分和季节性部分,我们可以使用 R中的“decompose()” 函数来估计。这个函数可以估计出时间序列中趋势的、季节性的和不规则的部分,而此时间序列须是可以用相加模型描述的。  

    “decompose()” 这个函数返回的结果是一个列表对象, 里面包含了估计出的季节性部分, 趋势部分和不规则部分, 他们分别对应的列表对象元素名为“seasonal” 、 “trend” 、 和“random” 。 

    示例:纽约每月出生人口数量是在夏季有峰值、 冬季有低谷的时间序列。
     
    > births <- scan("http://robjhyndman.com/tsdldata/data/nybirths.dat") 
    Read 168 items
    > birthstimeseries <- ts(births, frequency=12, start=c(1946,1)) 
    > ts.plot(birthstimeseries)

    > birthcomponents <- decompose(birthstimeseries)
    > plot(birthcomponents)
    而当你需要剔除某个趋势时(我们就去掉季节因素),我们可以运用减法去掉该因素,下图就是去掉季节性因素后的修正序列。
    > birthstimeseriesseasonallyadjusted<-birthstimeseries-birthcomponents$seasonal
    > plot(birthstimeseriesseasonallyadjusted)
    留下记录,供日后复习应用。
    一只混迹在规划圈的giser,喜欢数据分析和模型
  • 相关阅读:
    Criteria和Detachedcriteria的区别及应用(转)
    Hibernate中DetachedCriteria的使用(转)
    jQuery的dom操作
    MyEclipse6.5安装SVN插件的三种方法(转)
    hibernate反向生成实体类
    PHP写文本日志
    关于微软ADO.NET提供的组件库里的UpdateDataSet()的用法心得
    比较文件内容是否一致
    在ListView的顶部和底部加入其他View
    Android中使用shape来定义控件的显示属性
  • 原文地址:https://www.cnblogs.com/giserliu/p/4354651.html
Copyright © 2011-2022 走看看