Tôi có dữ liệu giá hàng tháng cho một mặt hàng từ năm 2007 đến 2017. Bạn có thể tìm thấy nó trong liên kết sau:
https://drive.google.com/open?id=0BxRCOgKAL4itcUZlOExrUmVOanc
Tôi cần dự báo sử dụng mô hình ARIMA theo mùa trong R cho tiếp theo năm. Khi tôi đang sử dụng auto.arima
chức năng, nó gợi ý cho tôi mô hình tốt nhất ARIMA(0,1,1)
thay vì ARIMA(p,d,q)(P,D,Q)12
. Phần theo mùa của một số model(P,D,Q)
là mất tích. Tôi không biết tại sao điều này xảy ra. Là dữ liệu của tôi không theo mùa hoặc có gì đó sai trong mã của tôi. Ngoài ra, giá trị dự báo được đưa ra bởi mô hình là không đổi trong những tháng tiếp theo không đáng kể. Xin vui lòng giúp đỡ! Đây là mã:
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)