私は、あなたが次のリンクでそれを見つけることができる2007年から2017年に商品のために毎月の価格データを持っている:
https://drive.google.com/open?id=0BxRCOgKAL4itcUZlOExrUmVOanc
私は次のためにRの季節ARIMAモデルを使用して、それを予測する必要があります年。auto.arima
関数を使用している場合は、ARIMA(0,1,1)
ではなく、として最適なモデルが提案されますARIMA(p,d,q)(P,D,Q)12
。の季節的な部分model(P,D,Q)
がどういうわけか欠落しています。なぜこれが起こっているのか分かりません。私のデータは季節的ではありませんか、それとも私のコードに問題がありますか?また、モデルによって与えられる予測値は重要ではない次の月の間一定です。助けてください!これがコードです:
data <- read.delim("C:/Users/hp/Desktop/heckyl/forecasting model/Soybean_Prices.txt", header=F)
View(data)
summary(data)
summary(data)
ts.data = ts(data, frequency=12, start=c(2007,6))
ts.data
plot(ts.data)
dim(as.matrix(ts.data))
################################################################################
# Training and Testing Dataset
data.train = window(ts.data, start = c(2007,6), end = c(2013,12))
plot(data.train)
dim(as.matrix(data.train))
data.test = window(ts.data, start = c(2014,1))
plot(data.test)
dim(as.matrix(data.test))
################################################################################
# Developing an SARIMA model and Analysis of Model
library(forecast)
arima1 = auto.arima(data.train, trace=FALSE, test="kpss", ic="aic")
summary(arima1)
confint(arima1)
# Residual Diagonostics
plot.ts(arima1$residuals)
Box.test(arima1$residuals,lag=20, type="Ljung-Box")
acf(arima1$residuals, lag.max=24, main="ACF of the Model")
Box.test(arima1$residuals^2,lag=20, type="Ljung-Box")
library(tseries)
jarque.bera.test(arima1$residuals)
arima1.forecast= forecast.Arima(arima1, h=41)
arima1.forecast
plot(arima1.forecast, xlab="Years", ylab="Price for Soybean")
library(TSPred)
plotarimapred(data.test, arima1, xlim=c(2014, 2017), range.percent = 0.05)
accuracy(arima1.forecast, data.test)