【发布时间】:2021-10-18 13:13:59
【问题描述】:
我正在研究预测商店销售的项目以学习预测。到目前为止,我已经成功使用简单的 auto.Arima() 函数进行预测。但是为了使这些预测更准确,我可以使用协变量。我已经定义在这篇文章的帮助下,使用 xreg 运算符影响商店销售的假期、促销等协变量: 如何在 R 的 auto.arima() 中设置 xreg 参数?
但是我的代码失败了:
ARIMAfit
并给出错误提示:
model.frame.default(formula = x ~ xreg, drop.unused.levels = TRUE) 中的错误:可变长度不同(为 'xreg' 找到)另外:警告消息:在 !is.na(x) & !is.na(rowSums(xreg)) : 较长的对象长度不是较短对象长度的倍数
以下是我的数据集的链接:https://drive.google.com/file/d/0B-KJYBgmb044blZGSWhHNEoxaHM/view?usp=sharing
这是我的代码:
data = read.csv("xdata.csv")[1:96,]
View(data)
saledata <- ts(data[1:96,4],start=1)
View(saledata)
saledata[saledata == 0] <- 1
View(saledata)
covariates = cbind(DayOfWeek=model.matrix(~as.factor(data$DayOfWeek)),
Customers=data$Customers,
Open=data$Open,
Promo=data$Promo,
SchoolHoliday=data$SchoolHoliday)
View(head(covariates))
# Remove intercept
covariates <- covariates[,-1]
View(covariates)
require(forecast)
ARIMAfit <- auto.arima(saledata, xreg=covariates)//HERE IS ERROR LINE
summary(ARIMAfit)
还告诉我如何预测接下来的 48 天。我知道如何使用简单的 auto.Arima() 和 n.ahead 进行预测,但不知道在使用 xreg 时如何进行。
【问题讨论】:
标签: r forecasting