R语言时间序列分析复杂的季节模式

原文链接

分析复杂的季节模式

当时间序列数据的频率高于季度或月度时,许多预测程序在分析季节性影响方面遇到了障碍。

澳大利亚蒙纳士大学的研究人员在美国统计协会杂志(JASA)上发表了一篇有趣的论文,以及一个R程序,以处理这种情况 - 可称为“复杂的季节性”。

我已经更新并修改了他们的一项计算 - 使用每周而不是每日的美国常规汽油价格数据 - 并发现整个事情非常有趣。

?

如果您查看图表下方图例中的颜色代码,则更容易阅读和理解。

我从FRED那里抓住了传统的每周美国汽油价格。这些价格是“常规” - 泵的普通选择。在查看之前的数据后,我确定了2000年第一周的开始日期。然后,我在Hyndman R Forecast软件包中使用了tbats(。),可以下载熟悉本站点的读者,以便在开源矩阵编程语言R中使用。

然后,我建立了2012年第一周称为newGP的时间序列的结束日期,预测将tbats(。)应用于2000年的历史数据:1到2012:1其中第二个数字指的是从1到52的周数。请注意,需要进行一些数据清理工作,以便将天然气价格数据一致地划分为52周。我将“第53周”的平均值与最接近的一周(第二年的52或1)进行平均,然后摆脱了53周。

104周的预测显示在上图中的红色实线上。

这实际上看起来很有希望,好像它可能为美国运输机构编码一些有用的信息。

JASA论文的草稿可以PDF格式下载。它被称为具有复杂季节性模式的预测时间序列,使用指数平滑以及每日美国天然气价格,分析土耳其的日常电力需求和银行呼叫中心数据。

我只是分析天然气价格数据的一部分,因为我还没有接受每日数据。但是每周数据中由tbats(。)识别的季节性模式很有趣,如下所示。

?

每周频率可以让我们以一定的精度“进入”模式的年中摆动。从模型的样本外性能来看,这种“摆动”在某些情况下可能会更加突出并且非常重要。

适合于较高频率数据的Trignometric系列提取tbats(。)中的季节性模式其还具有其他高级特征,例如估计残差的ARMA(自回归移动平均)模型的能力。

我没有完全优化估算,但这些结果足够强大,可以鼓励探索切换和开关程序。

在此聚合级别工作的另一个例程是stlf(。)例程。这是使用STL分解在第36章基于时间序列分解的模式发现中详细描述的数据挖掘论文集。

 

有问题欢迎下方留言!

大数据部落 -中国专业的第三方数据服务提供商,提供定制化的一站式数据挖掘和统计分析咨询服务

统计分析和数据挖掘咨询服务:y0.cn/teradat(咨询服务请联系官网客服

?QQ:3025393450

?

【服务场景】  

科研项目; 公司项目外包;线上线下一对一培训;数据采集;学术研究;报告撰写;市场调查。

【大数据部落】提供定制化的一站式数据挖掘和统计分析咨询

欢迎选修我们的R语言数据分析挖掘必知必会课程!

原文地址:https://www.cnblogs.com/tecdat/p/11320304.html

时间: 2024-11-13 08:41:46

R语言时间序列分析复杂的季节模式的相关文章

R语言时间序列分析

原文:http://a-little-book-of-r-for-time-series.readthedocs.org/en/latest/src/timeseries.html 作者:Avril Coghlan Email:[email protected]  中文档由梁德明.赵华蕾合译:联系方式:[email protected]:内容遵循许可协议CC 3.0 BY 中文档PDF版本地址为:http://doc.datapanda.net/a-Little-Book-of-R-for-T

R语言--时间序列分析步骤

大白. (1)根据趋势定差分 plot(lostjob,type="b") 查看图像总体趋势,确定如何差分 df1 = diff(lostjob)  d=1阶差分 s4_df1=diff(df1,4)  对d=1阶差分结果进行k=4步(季节)差分 (2)根据所定差分检验平稳 adfTest(s4_df1,lag=6) 对差分结果进行平稳性检验 (3)ARIMA(p,d,q)中的pq定阶 acf(s4_df1) pacf(s4_df1) (4)建立arima模型 ans=arima(lo

R语言-时间刻度的转换

一.问题 有个问题困扰了我很久. 我有下面数据,第一列是小时+分钟,第二列是数值: 0000      112 0001      123 0002      122 ... 0059      123 0100      120 ... 2359      156 请问怎么把这个绘制成分钟颗粒度的时间序列图?直接使用ggplot函数画出来的横轴会是数字,而不是时间. 二.解答 这个问题的本质实际上是要统一时间刻度,可以先把时间转换为小时单位或分钟单位,然后再作为坐标刻度. 1.假设有矩阵y:

R语言TTR包的安装

R语言是一门统计语言,主要用于数学建模.统计计算.数据处理.可视化 等几个方向,R语言天生就不同于其他的编程语言.R语言封装了各种基础学科的计算函数,我们在R语言编程的过程中只需要调用这些计算函数,就可以构建出面向不同领域.不同业务的.复杂的数学模型. 一.作用 1.TTR包的目的是在R当中构造技术分析和其它技术交易规则的函数.TTR可在CRAN中找到,目前的版本号是0.22(更新2013-3-18). TTR目前的功能是提供了一些常见的技术分析指标的函数,可以分为下面几类: 移动平均 趋势检测

大数据时代的精准数据挖掘——使用R语言

老师简介: Gino老师,即将步入不惑之年,早年获得名校数学与应用数学专业学士和统计学专业硕士,有海外学习和工作的经历,近二十年来一直进行着数据分析的理论和实践,数学.统计和计算机功底强悍. 曾在某一世界500强公司核心部门担任高级主管负责数据建模和分析工作,在实践中攻克统计建模和数据分析难题无数,数据处理与分析科学精准,在实际应用中取得良好的效果. Gino老师担任数据分析培训师多年,探索出一套以实例讲解带动统计原理理解和软件操作熟悉的方法,授课的学生能迅速理解统计原理并使用统计软件独立开展数

R(2)时间序列分析及应用之TSA安装(R语言)

本文原文连接: http://blog.csdn.net/freewebsys/article/details/45830613 转载请注明出处! 1,关于时间序列 时间序列分析(Time series analysis)是一种动态数据处理的统计方法.该方法基于随机过程理论和数理统计学方法,研究随机数据序列所遵从的统计规律,以用于解决实际问题. 关于R环境搭建参考我之前写的文章: http://blog.csdn.net/freewebsys/article/details/45825267 参

时间序列分析算法【R详解】

简介 在商业应用中,时间是最重要的因素,能够提升成功率.然而绝大多数公司很难跟上时间的脚步.但是随着技术的发展,出现了很多有效的方法,能够让我们预测未来.不要担心,本文并不会讨论时间机器,讨论的都是很实用的东西. 本文将要讨论关于预测的方法.有一种预测是跟时间相关的,而这种处理与时间相关数据的方法叫做时间序列模型.这个模型能够在与时间相关的数据中,寻到一些隐藏的信息来辅助决策. 当我们处理时序序列数据的时候,时间序列模型是非常有用的模型.大多数公司都是基于时间序列数据来分析第二年的销售量,网站流

【R实践】时间序列分析之ARIMA模型预测___R篇

时间序列分析之ARIMA模型预测__R篇 之前一直用SAS做ARIMA模型预测,今天尝试用了一下R,发现灵活度更高,结果输出也更直观.现在记录一下如何用R分析ARIMA模型. 1. 处理数据 1.1. 导入forecast包 forecast包是一个封装的ARIMA统计软件包,在默认情况下,R没有预装forecast包,因此需要先安装该包 > install.packages("forecast') 导入依赖包zoo,再导入forecast包 > library("zoo&

R语言记录程序运行的时间

f <- function(start_time) { start_time <- as.POSIXct(start_time) dt <- difftime(Sys.time(), start_time, units="secs") # Since you only want the H:M:S, we can ignore the date... # but you have to be careful about time-zone issues format(