[英]Error with forecast.Arima with xreg
我正在嘗試使用預測庫中的 arima() 和 forecast.Arima() 函數擬合具有 ARMA 錯誤的回歸模型。 (即最接近我可以使用 arima() 函數擬合的 ARMAX 模型的東西)
我的代碼:
library(forecast)
data <-read.csv(filename,stringsAsFactors=FALSE)
data.ts<-ts(data$result,frequency=24,start=c(1,1),end=c(7,24))
input.ts<-ts(data$input,frequency=24,start=c(1,1),end=c(7,24))
data.fit <- arima(window(data.ts,start=c(1,1),end=c(5,24)),
order=c(2,0,3), seasonal =list(order = c(1, 0, 1), period = 24),
xreg=window(input.ts,start=c(1,1),end=c(5,24)))
data.forecast <-forecast.Arima(data.fit,
xreg=window(input.ts,start=c(6,1),end=c(7,24)))
但是,在 predict.Arima() 函數中包含 xreg 因子時出現以下錯誤:
Error in if (ncol(xreg) != ncol(object$call$xreg))
stop("Number of regressors does not match fitted model") :
argument is of length zero
我不明白為什么我會收到這個錯誤。 我已經在 predict.Arima() 函數中包含了 xreg 的未來值,並且輸入時間序列在 arima() 函數中完全相同,只是在不同的窗口中。
xreg 的類型應該是什么? 我嘗試將 xreg 時間序列對象強制轉換為數據框和數字向量,但沒有成功。
我遇到了同樣的問題。 我認為這是因為實際上有兩個不同的 arima 函數:basic stats 包中的 arima 和預測包中的 Arima。 您要做的是首先使用 Arima 函數擬合您的模型。 它對我有用。
我在運行帶有 arima 函數的 AR1 后出現錯誤的模型時遇到相同的錯誤:
arima(y, xreg=cbind(x1, x2, x3, x4), order=c(1,0,0))
我使用 auto.arima 函數解決了這個問題。 為了始終獲得具有 AR1 錯誤的模型,我使用以下代碼調整參數:
auto.arima(y, xreg=cbind(x1, x2, x3, x4), max.p = 1, max.q = 0, max.P = 0, max.Q = 0, max.order = 0, max.d = 0, max.D = 0, start.p = 1)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.