全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
12970 3
2019-07-25
#加载程序包
library(tseries)
library(forecast)


#加的可能是错的
library(Metrics)
#加的可能是错的



#读取数据
data <-read.table("yichang.txt",header=FALSE)
data <- as.matrix(data)
#画出data变量图
plot(data)

n<-length(data)
m<-floor(n*0.8)
L<-n-m

#将数据拆分为训练集
#取data的80%进行训练

train<-data[1:m,1]

#tsdisplay用来看ACF和PACF

tsdisplay(train)
auto.arima(train)

#diff():求差和求导

###  differential   ###
s1<-diff(train,12)
adf.test(s1)
tsdisplay(s1)

ndiffs(train)
#######################

###  forecast ###
#nrow:行 ncol:列 matrix:矩阵
fore<- matrix(NA, nrow=L, ncol=1)
#循环拟合,for(var in seq),var:变量名,seq:向量表达式
for (i in 1:L) {

fit1<-arima(data[1:(m+i-1),1],order=c(1,0,1))
tsdiag(fit1)
f.p1<-forecast(fit1,h=3,level=c(99.5))
fore<-Vectorize(fore)
fore[i,1]<-f.p1$mean
}


f.p1$mean
# 7/25 #

plot(fore)

lines(fore,col="green")
lines(data[m+1:n],col="red")

write.table(fore,"fore_mean_h=3.csv",sep=",")
obs<-data[m+1:n]
write.table(obs,"obs_h=3.csv",sep=",")



二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2019-7-25 22:03:49
这个是提示

Error in plot.window(...) : 'ylim'值不能是无限的
此外: Warning messages:
1: In min(x) : min里所有的参数都不存在; 回覆Inf
2: In max(x) : max里所有的参数都不存在;回覆-Inf
>
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2019-7-26 09:00:33
看看原始数据加载过程中,是否读入R后出现了错误,或者存在缺失值。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2019-7-26 21:52:38
xjg1983 发表于 2019-7-26 09:00
看看原始数据加载过程中,是否读入R后出现了错误,或者存在缺失值。
找到了。前面有个Error
Error in fore[i, 1] <- f.p1$mean : 被替换的项目不是替换值长度的倍数
这个是什么意思呢?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群