应用具有外生变量的 ARIMA 模型进行预测

机器算法验证 r 预测 有马
2022-03-28 12:00:56

我正在使用 R 和forecast软件包来预测风电场的发电量,其中雨水作为外生变量。

我估计了一个具有以下功能的 ARIMA (1,0,1) 模型:

ModeloX3 <- arima(carg2, order=c(1,0,1), xreg=chuv, 
                  seasonal=list(order=c(0,0,0), period=NA))

哪里carg2是世代,哪里chuv是雨。

我的问题是如何在预测发电时提供降雨值:

fcast <- forecast(carg, h=5, xreg=chuv)

我知道我必须输入 5 个雨值,但我不知道该怎么做。假设接下来 5 个时段的雨是2, 1, 3, 5, 6,我如何在我的模型中输入这个?我试过了:

fcast <- forecast(carg, h=5, xreg=chuv(2,1,3,5,6))), but it did not work.
1个回答

一旦模型经过训练(在本例中为 ModeloX3),您就可以使用预测函数生成预测。我认为您对 ARMAX 模型的工作方式有一些了解。它只是将xreg值作为协变量添加到方程的 RHS,请参见此处这意味着需要为您尝试预测的每个时间段明确提供值。

您可以使用以下模板解决此处的编程问题:

ModeloX3 <- arima(carg2, order=c(1,0,1), xreg=chuv, 
                  seasonal=list(order=c(0,0,0), period=NA))

chuvNext5 <- forecast(chuv, h = 5) #Vector containing the next 5 values of chuv time series. It is up to you how you make this, This is just a quick example.

fcast <- forecast(ModeloX3 , h=5, xreg=chuvNext5 ))