我试图了解auto.arima
xreg 参数中的协变量如何工作。我熟悉回归,我开始从事预测工作。
我对预测的理解是,您在过去的时间序列中寻找模式,然后将这些模式投射到未来。
我对回归的理解是,您使用预测变量来尝试生成输出值并最小化您创造的价值与实际价值之间的差异。
那么预测auto.arima
是如何xreg
工作的呢?您是否根据过去的数据和基于输入时间序列和输入的回归模型创建时间序列xreg
预测,然后预测时间序列中的每个数据点,并为每个预测数据点使用您构建的回归模型和未来xreg
值调整预测值?
我是一名前物理研究生,所以我对数学并不过敏,但我只是在这里寻找一个高层次的过程概述,以了解预测是如何auto.arima
工作的。
例如像,
第一步:建立输入时间序列的预测模型,以及输入时间序列和输入
xreg
值的回归模型第二步:预测模型到未来一步,用回归模型和未来值预测
xreg
值第三步:算法结合预测值和回归模型预测得到组合值
这只是对其工作原理的猜测,但它是我正在寻找的那种高级解释的一个例子。
我在下面包含了一些代码,我一直在努力尝试预测餐厅顾客的进出时间,TiTo
并预测餐厅中顾客的数量CustCount
。
OV<-zoo(SampleData$TiTo,
order.by=SampleData$DateTime)
eDate <- ts(OV, frequency = 24)
Train <-eDate[1:15000]
Test <- eDate[15001:22773]
xregTrain <- SampleData[1:15000,]$CustCount
xregTest <- SampleData[15001:22773,]$CustCount
Arima.fit <- auto.arima(Train, xreg = xregTrain)
Acast<-forecast(Arima.fit, h=7772, xreg = xregTest)
accuracy(Acast$mean,Test)