分解预测时间序列c 语言,用R语言做数据分析——时间序列的分解和预测
建立时间序列数据
建立时间序列,必须有日期作为数据框的一列。R语言建立时间序列的函数是ts(),它的格式如下:
ts(gm,frequency=12,start=c(year,month))
其中,gm表示时间列数据;frequency表示时间单位,它的值常用的有12、4、365,它们分别表示每一个时间单位中有12个月、4个季度、365日观察值,start表示时间序列的开始时间。
例如,我们构造一个含有30个值的时间序列(1~30),开始时间为2011年3月,以每个月作为观察值。代码如下:
> a
> print(a)
Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
2011 1 2 3 4 5 6 7 8 9 10
2012 11 12 13 14 15 16 17 18 19 20 21 22
2013 23 24 25 26 27 28 29 30
> str(a)
Time-Series [1:30] from 2011 to 2014: 1 2 3 4 5 6 7 8 9 10 ...
> attributes(a)
$tsp
[1] 2011.167 2013.583 12.000
$class
[1] "ts"
时间序列分解
时间序列分解就是将时间序列分解为趋势、季节性、周期性以及不规则这几个成分。趋势成分指长时间间隔的大致运动方向,季节性成分指季节性的变化,周期性成分指重复但非周期的波动,最后是不规则成分。
下面是在时间序列数据AirPassengers上演示时间序列的分解,该数据是由国外某机场1949年到1960年每月乘客总数的数据构成,共有144(=12*12)条数据,时间序列图如下:
> plot(AirPassengers)
下面使用decompose()函数将数据集分解成不同惩罚呢,分解代码如下:
> apts
> f
>#季节性分解
> print(f$figure)
[1] -24.748737 -36.188131 -2.241162 -8.036616 -4.506313 35.402778
[7] 63.830808 62.823232 16.520202 -20.642677 -53.593434 -28.619949
> plot(f$figure, type = "b", xaxt="n", xlab = "")
> monthNames
> axis(1,at=1:12, labels = monthNames, las=2)
> plot(f)
上图中,第一个图表为原始时间序列数据,第二个图表为数据的趋势,第三个图表为季节性因素,最后一个图表为剔除了趋势和季节性因素之后的其他成分。
时间序列预测
时间序列预测是根据历史数据来预测未来事件。一个时间序列预测的例子是基于股票过去的形式来预测其开盘价。两个常用的时间序列预测模型为自回归移动平均模型(ARMA)和自回归综合移动平均模型(ARIMA)。
下面使用ARMA拟合单变量时间序列,并使用拟合模型进行预测,代码如下:
> fit
> fore
> U
> L
> ts.plot(AirPassengers, fore$pred, U, L, col=c(1,2,4,4), lty=c(1,1,2,2))
> legend("topleft",c("Actual","Forecast", "Error Bounds(95% Confidence)"), col=c(1,2,4), lty=c(1,1,2))
图中,实线表示预测值,虚线表示在置信度水平95%下的误差边界。
文章来源于: 科技最智能,版权归原作者所有,如有侵权,请联系 guanwang@163yun.com 删除。
分解预测时间序列c 语言,用R语言做数据分析——时间序列的分解和预测相关推荐
- 一起学习R语言吧——R语言+RStudio
一起学习R语言吧--R语言+RStudio 一.下载R 二.安装 RStudio 一.下载R 1.R语言官网下载 点击https://www.r-project.org/,进入官网后,点击downlo ...
- linux设置r语言环境,R语言 环境设置
尝试在线环境 你真的不需要设置自己的环境来开始学习R编程语言. 原因很简单,我们已经在线设置了R编程环境,以便您可以在进行理论工作的同时在线编译和执行所有可用的示例. 这给你对你正在阅读的信心,并用不 ...
- 零基础自学R语言 1 R语言介绍 1.5 RStudio软件
零基础自学R语言 文章目录 零基础自学R语言 1 R语言介绍 1.5 RStudio软件 1.5.1 介绍 1.5.2 项目 1.5.3 帮助 1.5.4 使用技巧 1.5.4.1 使用历史命令 1. ...
- R语言|数据类型————R语言入门到入土系列(一)
本系列将从R语言的基本入门到R语言实战系列,逐步编写R语言的教程. R语言数据类型 R语言的赋值与输出 R语言的数据类型 数据类型的查看 数据类型的转换 R语言的赋值与输出 R语言赋值语法如下: 赋值 ...
- 零基础自学R语言 1 R语言介绍 1.4 基本R软件的用法
零基础自学R语言 文章目录 零基础自学R语言 1 R语言介绍 1.4 基本R软件的用法 1.4.1 基本运行 1.4.2 项目目录 1 R语言介绍 1.4 基本R软件的用法 1.4.1 基本运行 在M ...
- 零基础自学R语言 1 R语言介绍 1.2 R的下载与安装
零基础自学R语言 文章目录 零基础自学R语言 1 R语言介绍 1.2 R的下载与安装 1.2.1 R的下载 1.2.2 R软件安装 1 R语言介绍 1.2 R的下载与安装 1.2.1 R的下载 以微软 ...
- 零基础自学R语言 1 R语言介绍 1.3 R扩展软件包的安装与管理
零基础自学R语言 文章目录 零基础自学R语言 1 R语言介绍 1.3 R扩展软件包的安装与管理 1.3.1 扩展包使用 1.3.2 安装 1.3.3 Github和BioConductor的扩展包 1 ...
- 时间序列平稳性检验—R语言KPSS检验
1.R语言函数ur.kpss() 用R自带的google股价变化数据goog为例(可以通过导入fpp2包之后直接使用goog这个数组变量). 1.1 对goog进行KPSS检验 R代码为 librar ...
- pycharm中配置r语言_【R语言】R语言中的循环
编程中减少代码重复的两个工具,一是循环,一是函数. 循环,用来处理对多个同类输入做相同事情(即迭代),如对不同列做相同操作.对不同数据集做相同操作. R语言有三种方式实现循环: (1)for循环.wh ...
- %3c- r语言运算符,R语言基础教程之运算符
原标题:R语言基础教程之运算符 运算符类型 在R编程中有以下类型的运算符 - 算术运算符 关系运算符 逻辑运算符 赋值运算符 其他运算符1.算术运算符 下表显示了R语言支持的算术运算符.运算符对向量的 ...
最新文章
- IEEE技术领域大奖公布:ML先驱上榜,大陆唯一获奖学者来自清华
- 36.Linux软件管理--YUM工具
- Mysql总结(二)
- CentOS下升级python2.7.10过程记录
- 关于NSKeyedArchiver的编码格式
- tomcat加入系统服务
- mysql 分组求和_MySQL 分组最值、分组均值、分组求和
- pandaboard 安装_pandaboard---文件系统的建立(4)
- python字符编码问题_python字符串的编码问题
- 小游戏,客户端游戏版号自助申请教程
- 华为云桌面--引领移动办公新潮流
- C语言中的语法错误和语义错误
- uni微信小程序引入商圈快速积分插件
- 《孩子快抓紧妈妈的手 -----转载
- 什么是实时操作系统(RTOS)
- n个台阶,每次都可以走一步,走两步,走三步,走到顶部一共有多少种可能
- 第十届蓝桥杯大赛软件类省赛C++研究生组
- bandzip和360解压_压缩软件哪家强?
- JQuery实现图片轮播无缝滚动
- 如何检索CPCI-S
热门文章
- Spring AOP动态代理原理与实现方式
- VIM设置-发现VIM的美
- UML图各类符号含义
- C语言教程第六章:指针(3)
- python中pandas库里的read_table和read_csv的区别
- 拓端tecdat|R语言使用蒙特卡洛模拟进行正态性检验及可视化
- c#file过滤多种格式_[C#].NET/C#应用程序开发中使用Directory.GetFiles()过滤多种文件扩展名类型有哪些方法?...
- 2016 【第七届蓝桥杯省赛】 C/C++ B组
- SystemExit: 2
- markdown首行空两格