Rでの季節的ARIMAモデリング


7

私は、あなたが次のリンクでそれを見つけることができる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)

なぜあなたが好きな答えに
賛成票を投じて

回答:


1

D = 1に設定するか、リグレッサを追加することで、季節性を「強制」できます。より複雑な季節性があると思われる場合は、フーリエ項の使用を検討できますか?このリンクを参照してください複雑な季節のHyndmanを


0

ARIMAのパラメーターを取得するために使用しているコマンドではなく、このコマンドを使用してみてください。

arima1 = auto.arima(data.train, trace=FALSE, test="kpss", ic="aic", 
                    stepwise=FALSE, approximation=FALSE)

これらのコマンドを使用すると、最良のモデルが得られる場合があります。


6
Cross Validatedは、コードヘルプサイトではありません。私たちはしている統計情報 Q&Aサイト。このコードと、なぜそれが最良のモデルを見つけるのに役立つのかを説明できますか?
ガン-モニカの回復

0

あなたのデータは次のモデルを示唆していますここに画像の説明を入力してください

ここに画像の説明を入力してください。実際のフィット感と予測はこちらここに画像の説明を入力してくださいです。データは、レベルの変化(視覚的に明らか)と2つの静的に重要な季節的指標(4月と9月)といくつかの異常を示唆しています(6)。分析にはRを使用しました。残念ながら、auto.arimaはモデルの形式についていくつかの重要な仮定を行っています。つまり、レベルのシフトや季節的なパルス/インジケーターはなく、もちろん異常もありません。細字を読むことは常に良いことです。

「季節性」を示すのは1か月に2か月しかないという事実は、auto.arimaが「何らかの季節性の成分が欠けている」モデルを提供した理由を説明しています。壊れた時計でも1日に2回正しいです。この場合、4月と9月の自動予測の季節的要素/影響は確定的な要素/影響がない限り、時計は「ほぼ正しく」ありました。

6期外予測...

ここに画像の説明を入力してください


助けてくれてありがとう。私の参照用にRコードを共有できますか?また、モデルには一定の予測値も表示されますが、それはなぜですか?実際、農産物の価格は大きく変動します。
Tarun Bajaj 2017年

私はRで利用可能なAUTOBOXを使用しました。期待値が1年の2か月間同じ節約であるという事実は、期待される永続的な成長がないことを意味します。予測(短期)が一定ではないことを示すために、6期予測を追加しました。信頼バンドは、(予想どおり)進むにつれて不確実性が高まることを示唆しています。
IrishStat 2017年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.