ARIMA模型-R语言
来源:互联网 发布:java usb api 编辑:程序博客网 时间:2024/05/16 11:53
利用ARIMA模型进行时间序列预测,具体方式在这里不做详细介绍了,可到网上进行查询,资料甚多。从代码注释中可获取ARIMA模型拟合的方法步骤,在实际操作中预测效果良好,数据也不附带了,有时间有对应指标这类数据即可。
#加载相关R包install.packages("tseries")install.packages("xts")install.packages("forecast")library(tseries)library(xts)library(forecast)data<-read.csv("F://分类别//排名算法//数据结果及验证//forecast.csv",header=T,as.is=T)#读入数据works<-unique(data[,3])work<-data[grep(works[4],data[,3]),]#获取指定数据index<-xts(work[,8],as.Date(work[,11],))#将数据框转化为时间序列plot(index)#绘制时序图,查看趋势acf(index)#自相关图pacf(index)#偏自相关图#index_diff1<-diff(index,differences=1)#一阶差分#plot(index_diff1)#index.fit<-arima(index,order=c(1,3,0),,)#通过观察自相关图与偏自相关图的拖尾与结尾情况确定参数,拟合模型index.fit<-auto.arima(index,trace=T)#自动获取参数,并拟合模型index.fit#可查看模型拟合验证指标信息等forecast<-forecast(index.fit,h=10,level=c(99.5))#设置预测期数h与置信度水平forecast
单一作品可用上述方式进行ARIMA模型预测,对于大量作品的时序数据最好是采用auto.arima()方法处理。
####函数集中处理####getForecast<-function(data,name_col,value_col,time_col,p,q,x,num,data_out){ works<-unique(data[,name_col]) n=length(works) result<-data.frame() for(i in 1:n){ work<-data[grep(works[i],data[,name_col]),] work_out<-data_out[grep(works[i],data_out[,name_col]),] index<-xts(work[,value_col],as.Date(work[,time_col],)) #index.fit<-try(arima(index,order=c(p,q,x),,silent=TRUE)#拟合模型 index.fit<-try(auto.arima(index,trace=T),silent=TRUE)#自动获取参数,并拟合模型 if('try-error' %in% class(index.fit)){ next }else{ forecast<-forecast(index.fit,h=num,level=c(99.5)) temp<-forecast$mean m<-length(temp) foreList<-array(,m) for(j in 1:m){ foreList[j]=temp[j] } fore<-data.frame() w1=nrow(work_out) w=1 if(length(foreList)==nrow(work_out)){ fore<-data.frame(work_out,foreList) }else{ temps<-foreList if(w1==0){ next }else{ foreList<-array(,w) for(k in 1:w){ foreList[k]=temps[k] } fore<-data.frame(work_out,foreList) } } result<-rbind(result,fore) } } return(result)}####函数调用 data<-read.csv("F://分类别//排名算法//数据结果及验证//forecast.csv",header=T,as.is=T)data_out<-read.csv("F://分类别//排名算法//数据结果及验证//fore.csv",header=T,as.is=T)result<-getForecast(data,3,10,11,,,,10,data_out)write.csv(result,"F://分类别//排名算法//数据结果及验证//forecast_Result_tj.csv")
0 0
- ARIMA模型-R语言
- Arima预测模型(R语言)
- Arima预测模型(R语言)
- R语言 时间序列ARIMA模型方法
- R语言时间序列分析之ARIMA模型预测
- R语言 时间序列分析之ARIMA模型预测
- R语言时间序列之ARMA、ARIMA模型
- R语言-时间序列-arima模型-forecast、tseries包
- 【环境搭建】Redhat 5.8系统安装R语言作Arima模型预测
- ARIMA模型
- ARIMA模型
- ARIMA模型
- ARIMA模型
- ARIMA模型
- 时间序列分析——ARIMA模型预测(R)
- R学习笔记(1)——ARIMA模型
- R(语言)做时间序列(ARIMA)
- R(语言)做时间序列(ARIMA)的案例
- 使用MAT工具定位Android应用内存泄漏
- 《Android开发艺术探索》之学习笔记(二)IPC机制
- mybatis
- Caffe学习(五)视觉层及其设置
- window常用用命令
- ARIMA模型-R语言
- CentOS6.5安装与配置Mysql数据库
- 基于maven+testng的selenium测试框架搭建
- 实例讲解虚拟机3种网络模式(桥接、nat、Host-only)
- 全组合与全排列
- 以编程方式使用dojo中调色板并获得调色板的颜色值
- 欢迎使用CSDN-markdown编辑器
- android 自定义控件 简易时间轴
- 获取屏幕尺寸