外部リグレッサーを使用して Arima モデルを生成しています。n 個の観測があるとします。パッケージのpredict.Arima
関数は、 n + 1観測の予測を行うだけです。forecast
外部リグレッサーの値を変更して、n値 (シリーズの最後の値) を予測する必要があります。
library(forecast)
set.seed(123)
aux <- 1:24
covari <- aux + rnorm(24,0,2)
vari <- ts(aux * runif(24,0,3), start=c(2010,1), freq=12)
mod <- auto.arima(vari, xreg=covari)
predict(mod, newxreg=20)
このコードはモデルを生成し、予測を生成する方法を示します。パラメータを設定する前の期間の数を制御できますn.ahead
。
predict(mod, newxreg=runif(4,15,25), n.ahead=4)
このコードは、シリーズの次の 4 つの値の予測を生成します。
必要なのはn.ahead=-1
、つまり、シリーズ内の値の予測ですが、外部リグレッサーが異なります。
外部リグレッサーを 1 つだけ使用している場合、タスクは複雑ではありません。これは加算モデルであるため、観測された xreg 値の差に xreg の係数を掛けた値を加算するだけでよいからです。ただし、外部リグレッサーの数が増えると、より複雑になります。
Arima モデルのシリーズの終わりに先立っていない値を予測する方法はありますか?