建立时间序列数据

建立时间序列,必须有日期作为数据框的一列。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语言做数据分析——时间序列的分解和预测相关推荐

  1. 一起学习R语言吧——R语言+RStudio

    一起学习R语言吧--R语言+RStudio 一.下载R 二.安装 RStudio 一.下载R 1.R语言官网下载 点击https://www.r-project.org/,进入官网后,点击downlo ...

  2. linux设置r语言环境,R语言 环境设置

    尝试在线环境 你真的不需要设置自己的环境来开始学习R编程语言. 原因很简单,我们已经在线设置了R编程环境,以便您可以在进行理论工作的同时在线编译和执行所有可用的示例. 这给你对你正在阅读的信心,并用不 ...

  3. 零基础自学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. ...

  4. R语言|数据类型————R语言入门到入土系列(一)

    本系列将从R语言的基本入门到R语言实战系列,逐步编写R语言的教程. R语言数据类型 R语言的赋值与输出 R语言的数据类型 数据类型的查看 数据类型的转换 R语言的赋值与输出 R语言赋值语法如下: 赋值 ...

  5. 零基础自学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 ...

  6. 零基础自学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的下载 以微软 ...

  7. 零基础自学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 ...

  8. 时间序列平稳性检验—R语言KPSS检验

    1.R语言函数ur.kpss() 用R自带的google股价变化数据goog为例(可以通过导入fpp2包之后直接使用goog这个数组变量). 1.1 对goog进行KPSS检验 R代码为 librar ...

  9. pycharm中配置r语言_【R语言】R语言中的循环

    编程中减少代码重复的两个工具,一是循环,一是函数. 循环,用来处理对多个同类输入做相同事情(即迭代),如对不同列做相同操作.对不同数据集做相同操作. R语言有三种方式实现循环: (1)for循环.wh ...

  10. %3c- r语言运算符,R语言基础教程之运算符

    原标题:R语言基础教程之运算符 运算符类型 在R编程中有以下类型的运算符 - 算术运算符 关系运算符 逻辑运算符 赋值运算符 其他运算符1.算术运算符 下表显示了R语言支持的算术运算符.运算符对向量的 ...

最新文章

  1. IEEE技术领域大奖公布:ML先驱上榜,大陆唯一获奖学者来自清华
  2. 36.Linux软件管理--YUM工具
  3. Mysql总结(二)
  4. CentOS下升级python2.7.10过程记录
  5. 关于NSKeyedArchiver的编码格式
  6. tomcat加入系统服务
  7. mysql 分组求和_MySQL 分组最值、分组均值、分组求和
  8. pandaboard 安装_pandaboard---文件系统的建立(4)
  9. python字符编码问题_python字符串的编码问题
  10. 小游戏,客户端游戏版号自助申请教程
  11. 华为云桌面--引领移动办公新潮流
  12. C语言中的语法错误和语义错误
  13. uni微信小程序引入商圈快速积分插件
  14. 《孩子快抓紧妈妈的手 -----转载
  15. 什么是实时操作系统(RTOS)
  16. n个台阶,每次都可以走一步,走两步,走三步,走到顶部一共有多少种可能
  17. 第十届蓝桥杯大赛软件类省赛C++研究生组
  18. bandzip和360解压_压缩软件哪家强?
  19. JQuery实现图片轮播无缝滚动
  20. 如何检索CPCI-S

热门文章

  1. Spring AOP动态代理原理与实现方式
  2. VIM设置-发现VIM的美
  3. UML图各类符号含义
  4. C语言教程第六章:指针(3)
  5. python中pandas库里的read_table和read_csv的区别
  6. 拓端tecdat|R语言使用蒙特卡洛模拟进行正态性检验及可视化
  7. c#file过滤多种格式_[C#].NET/C#应用程序开发中使用Directory.GetFiles()过滤多种文件扩展名类型有哪些方法?...
  8. 2016 【第七届蓝桥杯省赛】 C/C++ B组
  9. SystemExit: 2
  10. markdown首行空两格