R时间序列举例(预测未来几个月的用气量)
2016-08-31 10:55
267 查看
一、数据准备
见数据:
二、代码编写
Aram.R文件内容如下:
#加载每月的用气量数据
#skirts <- scan("http://robjhyndman.com/tsdldata/roberts/skirts.dat",skip=8)
skirts <- read.csv("E:/R_project/20160830/times.csv")
skirtsts<- ts(skirts, frequency=12,start = c(2015))
#可以打印序列
print(skirtsts)
#显示图形
plot.ts(skirtsts)
#通过键入下面的代码来得到时间序列(数据存于“skirtsts”) 的一阶差分, 并画出差分序列的图
skirtstsdiff<-diff(skirtsts,differences=1)
#显示
plot.ts(skirtstsdiff)
#从一阶差分的图中可以看出,数据仍是不平稳的,继续差分
skirtstsdiff2<-diff(skirtsts,differences=5)
plot.ts(skirtstsdiff2)
#找到合适的ARIMA模型
#期望 1 到 20 之间的会偶尔超出 95%的置信边界
acf(skirtstsdiff2,lag.max=20)
acf(skirtstsdiff2,lag.max=20,plot=FALSE)
# 偏自相关值选5、3、2阶试试
library(forecast)
skirtsarima<-arima(skirtsts,order=c(1,2,5))
skirtsarimaforecast<-forecast.Arima(skirtsarima,h=2,level=c(11.5))
#预测后2个月的用气量
print(skirtsarimaforecast)
#显示图形
plot.forecast(skirtsarimaforecast)
三、模型验证
……
见数据:
1179.8945 1380.502 1213.4335 1609.2345 1202.7765 1413.3885 1338.052 1598.848 1374.6365 1411.9695 1236.4185 1146.867 1004.8555 1493.0305 1207.844 1285.773 1206.2815 1169.292 1167.0495 1402.294 958.091 599.3945 1123.6035 1145.016 1179.8945 1380.502 1169.542847 1178.448372 1187.353897 1196.259422 1205.164947 1214.070472 1222.975997 1231.881522 1240.787047 1249.692572 1258.598097 1267.503622 1276.409147 1285.314672 1294.220197 1303.125722 1312.031247 1320.936772 1329.842297 1338.747822 1347.653347 1356.558872 1179.8945 1380.502 1213.4335 1609.2345 1202.7765 1413.3885 1338.052 1598.848 1374.6365 1411.9695 1236.4185 1146.867 1004.8555 1493.0305 1207.844 1285.773 1206.2815 1169.292 1167.0495 1402.294 958.091 599.3945 1123.6035 1145.016 1179.8945 1380.502 1169.542847 1178.448372 1187.352322 1196.259422 1205.164947 1214.070472 1222.97222 1231.881522 1240.787047 1249.692572 1258.598097 1267.503622 1276.409147 1285.314672 1294.220197 1303.125722 1312.031247 1320.936772 1329.842297 1338.747822 1347.653347
二、代码编写
Aram.R文件内容如下:
#加载每月的用气量数据
#skirts <- scan("http://robjhyndman.com/tsdldata/roberts/skirts.dat",skip=8)
skirts <- read.csv("E:/R_project/20160830/times.csv")
skirtsts<- ts(skirts, frequency=12,start = c(2015))
#可以打印序列
print(skirtsts)
#显示图形
plot.ts(skirtsts)
#通过键入下面的代码来得到时间序列(数据存于“skirtsts”) 的一阶差分, 并画出差分序列的图
skirtstsdiff<-diff(skirtsts,differences=1)
#显示
plot.ts(skirtstsdiff)
#从一阶差分的图中可以看出,数据仍是不平稳的,继续差分
skirtstsdiff2<-diff(skirtsts,differences=5)
plot.ts(skirtstsdiff2)
#找到合适的ARIMA模型
#期望 1 到 20 之间的会偶尔超出 95%的置信边界
acf(skirtstsdiff2,lag.max=20)
acf(skirtstsdiff2,lag.max=20,plot=FALSE)
# 偏自相关值选5、3、2阶试试
library(forecast)
skirtsarima<-arima(skirtsts,order=c(1,2,5))
skirtsarimaforecast<-forecast.Arima(skirtsarima,h=2,level=c(11.5))
#预测后2个月的用气量
print(skirtsarimaforecast)
#显示图形
plot.forecast(skirtsarimaforecast)
三、模型验证
……
相关文章推荐
- 话务预测(6) 时间序列特征
- 时间序列预测的程序
- 平稳时间序列预测
- 昨天写了利用时间序列搜索方法预测股票价格程序
- 如何用TensorFlow预测时间序列:TFTS库详细教程
- Elman反馈网络 预测 解决时间序列问题
- CNTK API文档翻译(11)——使用LSTM预测时间序列数据(物联网数据)
- 基于WEKA实现时间序列的预测
- 【转】IBM预测未来5年技术趋势:电池续航时间增10倍
- 如何优雅地用TensorFlow预测时间序列:TFTS库详细教程
- 用 LSTM 做时间序列预测的一个小例子
- 时间序列的分析和预测ARIMA
- 【R实践】时间序列分析之ARIMA模型预测___R篇
- Pytorch实现CNN时间序列预测
- Python时间序列LSTM预测系列教程(6)-单变量
- 时间序列挖掘-预测算法-三次指数平滑法(Holt-Winters)
- R语言时间序列之数据平滑及预测
- LSTM预测时间序列
- 机器学习 数据挖掘 推荐系统 时间序列挖掘-预测算法-三次指数平滑法(Holt-Winters)
- 在电力智能测量数据应用中的分层时间序列预测正则化(Regularization in Hierarchical Time Series Forecasting with Application to)