1. #-----------------------------------------#
  2. # R in Action (2nd ed): Chapter 15 #
  3. # Time series #
  4. # requires forecast, tseries packages #
  5. # install.packages("forecast", "tseries") #
  6. #-----------------------------------------#
  7.  
  8. par(ask=TRUE)
  9.  
  10. # Listing 15.1 - Creating a time series object in R
  11. sales <- c(18, 33, 41, 7, 34, 35, 24, 25, 24, 21, 25, 20,
  12. 22, 31, 40, 29, 25, 21, 22, 54, 31, 25, 26, 35)
  13. tsales <- ts(sales, start=c(2003, 1), frequency=12)
  14. tsales
  15. plot(tsales)
  16.  
  17. start(tsales)
  18. end(tsales)
  19. frequency(tsales)
  20.  
  21. tsales.subset <- window(tsales, start=c(2003, 5), end=c(2004, 6))
  22. tsales.subset
  23.  
  24. # Listing 15.2 - Simple moving averages
  25. library(forecast)
  26. opar <- par(no.readonly=TRUE)
  27. par(mfrow=c(2,2))
  28. ylim <- c(min(Nile), max(Nile))
  29. plot(Nile, main="Raw time series")
  30. plot(ma(Nile, 3), main="Simple Moving Averages (k=3)", ylim=ylim)
  31. plot(ma(Nile, 7), main="Simple Moving Averages (k=7)", ylim=ylim)
  32. plot(ma(Nile, 15), main="Simple Moving Averages (k=15)", ylim=ylim)
  33. par(opar)
  34.  
  35. # Listing 15.3 - Seasonal decomposition using slt()
  36. plot(AirPassengers)
  37. lAirPassengers <- log(AirPassengers)
  38. plot(lAirPassengers, ylab="log(AirPassengers)")
  39. fit <- stl(lAirPassengers, s.window="period")
  40. plot(fit)
  41. fit$time.series
  42. exp(fit$time.series)
  43.  
  44. par(mfrow=c(2,1))
  45. library(forecast)
  46. monthplot(AirPassengers, xlab="", ylab="")
  47. seasonplot(AirPassengers, year.labels="TRUE", main="")
  48. par(opar)
  49.  
  50. # Listing 15.4 - Simple exponential smoothing
  51. library(forecast)
  52. fit <- HoltWinters(nhtemp, beta=FALSE, gamma=FALSE)
  53. fit
  54.  
  55. forecast(fit, 1)
  56.  
  57. plot(forecast(fit, 1), xlab="Year",
  58. ylab=expression(paste("Temperature (", degree*F,")",)),
  59. main="New Haven Annual Mean Temperature")
  60.  
  61. accuracy(fit)
  62.  
  63. # Listing 15.5 - Exponential smoothing with level, slope, and seasonal components
  64. fit <- HoltWinters(log(AirPassengers))
  65. fit
  66.  
  67. accuracy(fit)
  68.  
  69. pred <- forecast(fit, 5)
  70. pred
  71. plot(pred, main="Forecast for Air Travel",
  72. ylab="Log(AirPassengers)", xlab="Time")
  73. pred$mean <- exp(pred$mean)
  74. pred$lower <- exp(pred$lower)
  75. pred$upper <- exp(pred$upper)
  76. p <- cbind(pred$mean, pred$lower, pred$upper)
  77. dimnames(p)[[2]] <- c("mean", "Lo 80", "Lo 95", "Hi 80", "Hi 95")
  78. p
  79.  
  80. # Listing 15.6 - Automatic exponential forecasting with ets()
  81. library(forecast)
  82. fit <- ets(JohnsonJohnson)
  83. fit
  84. plot(forecast(fit), main="Johnson and Johnson Forecasts",
  85. ylab="Quarterly Earnings (Dollars)", xlab="Time")
  86.  
  87. # Listing 15.7 - Transforming the time series and assessing stationarity
  88. library(forecast)
  89. library(tseries)
  90. plot(Nile)
  91. ndiffs(Nile)
  92. dNile <- diff(Nile)
  93. plot(dNile)
  94. adf.test(dNile)
  95.  
  96. # Listing 15.8 - Fit an ARIMA model
  97. fit <- arima(Nile, order=c(0,1,1))
  98. fit
  99. accuracy(fit)
  100.  
  101. # Listing 15.9 - Evaluating the model fit
  102. qqnorm(fit$residuals)
  103. qqline(fit$residuals)
  104. Box.test(fit$residuals, type="Ljung-Box")
  105.  
  106. # Listing 15.10 - Forecasting with an ARIMA model
  107. forecast(fit, 3)
  108. plot(forecast(fit, 3), xlab="Year", ylab="Annual Flow")
  109.  
  110. # Listing 15.11 - Automated ARIMA forecasting
  111. library(forecast)
  112. fit <- auto.arima(sunspots)
  113. fit
  114. forecast(fit, 3)
  115. accuracy(fit)

吴裕雄--天生自然 R语言开发学习:时间序列的更多相关文章

  1. 吴裕雄--天生自然 R语言开发学习:R语言的安装与配置

    下载R语言和开发工具RStudio安装包 先安装R

  2. 吴裕雄--天生自然 R语言开发学习:数据集和数据结构

    数据集的概念 数据集通常是由数据构成的一个矩形数组,行表示观测,列表示变量.表2-1提供了一个假想的病例数据集. 不同的行业对于数据集的行和列叫法不同.统计学家称它们为观测(observation)和 ...

  3. 吴裕雄--天生自然 R语言开发学习:导入数据

    2.3.6 导入 SPSS 数据 IBM SPSS数据集可以通过foreign包中的函数read.spss()导入到R中,也可以使用Hmisc 包中的spss.get()函数.函数spss.get() ...

  4. 吴裕雄--天生自然 R语言开发学习:使用键盘、带分隔符的文本文件输入数据

    R可从键盘.文本文件.Microsoft Excel和Access.流行的统计软件.特殊格 式的文件.多种关系型数据库管理系统.专业数据库.网站和在线服务中导入数据. 使用键盘了.有两种常见的方式:用 ...

  5. 吴裕雄--天生自然 R语言开发学习:R语言的简单介绍和使用

    假设我们正在研究生理发育问 题,并收集了10名婴儿在出生后一年内的月龄和体重数据(见表1-).我们感兴趣的是体重的分 布及体重和月龄的关系. 可以使用函数c()以向量的形式输入月龄和体重数据,此函 数 ...

  6. 吴裕雄--天生自然 R语言开发学习:基础知识

    1.基础数据结构 1.1 向量 # 创建向量a a <- c(1,2,3) print(a) 1.2 矩阵 #创建矩阵 mymat <- matrix(c(1:10), nrow=2, n ...

  7. 吴裕雄--天生自然 R语言开发学习:图形初阶(续二)

    # ----------------------------------------------------# # R in Action (2nd ed): Chapter 3 # # Gettin ...

  8. 吴裕雄--天生自然 R语言开发学习:图形初阶(续一)

    # ----------------------------------------------------# # R in Action (2nd ed): Chapter 3 # # Gettin ...

  9. 吴裕雄--天生自然 R语言开发学习:图形初阶

    # ----------------------------------------------------# # R in Action (2nd ed): Chapter 3 # # Gettin ...

  10. 吴裕雄--天生自然 R语言开发学习:基本图形(续二)

    #---------------------------------------------------------------# # R in Action (2nd ed): Chapter 6 ...

随机推荐

  1. 堆排序算法以及python实现

    堆满足的条件:1,是一颗完全二叉树.2,大根堆:父节点大于各个孩子节点.每个节点都满足这个道理.小根堆同理. parent = (i-1)/2    #i为当前节点 left = 2*i+1 righ ...

  2. tomcat启动极慢在linux生产环境

    在window环境下不会出现启动极慢的问题.   Tomcat启动极慢在生产环境,跟Weblogic一样   此外由于Weblogic创建域的时候使用的JDK是自带的jrockit,所以要解决WebL ...

  3. centos 下使用 pytesseract 识别文字

    偶发一个想法搭一个验证码识别工具,网上查了一下有Tesseract 这个工具可以识别,所以有了后面一小时的搭建过程 ps:Ubuntu 下似乎可以直接用包管理工具来安装,我使用的源码编译安装 前提 由 ...

  4. Myeclipse 10/2014 配置插件(svn、maven、properties、velocity)的方法

    一.配置SVN详细图解 什么是SVN? 管理软件开发过程中的版本控制工具. 下面会以两种方式来介绍怎么安装svn,myeclipse安装SVN插件步骤,以myeclipse 2014为例,第一种是最常 ...

  5. Openstack 使用Centos官方镜像创建实例记录

    Openstack 使用Centos官方镜像创建实例记录 准备centos镜像 官方地址:http://cloud.centos.org/centos/7/images 可以看到有各种版本的镜像,我在 ...

  6. JavaScript面试题(珍爱生命,远离面试)

    1.使用 typeof bar === "object" 判断 bar 是不是一个对象有神马潜在的弊端?如何避免这种弊端? 使用 typeof 的弊端是显而易见的(这种弊端同使用 ...

  7. 一种循环buffer结构

    最新数据循环在buffer[H] -> buffer[L] 放置,记录最新放置Index,对外接口获取数据时,进行两次数据拷贝,Index-H ,index-L 拷贝到数组里

  8. 吴裕雄--天生自然Linux操作系统:Linux常用命令大全

    系统信息 arch 显示机器的处理器架构 uname -m 显示机器的处理器架构 uname -r 显示正在使用的内核版本 dmidecode -q 显示硬件系统部件 - (SMBIOS / DMI) ...

  9. C/C++ memcpy函数的用法

    功能 memcpy指的是c和c++使用的内存拷贝函数,memcpy函数的功能是从源src所指的内存地址的起始位置开始拷贝n个字节到目标dest所指的内存地址的起始位置中 头文件 所在头文件 <s ...

  10. Haploid inheritance|Hardy-Weinberg proportions|

    I.2 Haploid inheritance 单倍体也有短暂的二倍体时期: Meiosis:减数分裂 依据图示信息,同时基因型A的频率是p,基因型a的频率是(1-p): 建立Hardy-Weinbe ...