- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在研究一个预测模型,其中我有从 2014 年到当前月份(2018 年 3 月)的月度数据。
我的部分数据是帐单列和报价金额列,例如(为格式道歉)
年 - 季度 - 月 - 账单 - 报价
2014- 2014Q1-- 201401- 100-------------500
2014- 2014Q1-- 201402- 150-------------600
2014- 2014Q1-- 201403- 200-------------700
我用它来预测月销售额,并尝试将 xreg 与每月的报价数量结合使用。
我查看了下面的文章,但缺少一些东西来完成我想做的事情: ARIMA forecasting with auto.Arima() and xreg
问题:有人可以展示一个使用 xreg 预测 OUT OF SAMPLE 的例子吗?我知道,为了实现这一目标,您需要预测样本外的 xreg 变量,但我无法弄清楚如何将这些 future 值传入。
我在预测值后尝试使用 futurevalues$mean 之类的东西,但这没有用。
这是我的代码:
sales = read.csv('sales.csv')
# Below, I'm creating a training set for the models through
# December 2017 (48 months).
train = sales[sales$TRX_MON<=201712,]
# I will also create a test set for our data from January 2018 (3 months)
test = sales[sales$TRX_MON>201712,]
dtstr2 <- ts(train2, start=2014, frequency=12)
dtste2 <- ts(test2, start=2018, frequency=12)
fit2 <- auto.arima(dtstr2[,"BILLINGS"], xreg=dtstr2[,"QUOTES"])
fcast2 <- forecast(fit2, xreg=dtste2[,"QUOTES"], h=24)
fcast2
上面的代码有效,但只给出 3 个月的预测,例如
Point Forecast Lo 80 Hi 80 Lo 95 Hi 95
Jan 2018 70 60 100 50 130
Feb 2018 80 70 110 60 140
Mar 2018 90 80 120 70 150
我搜索了尽可能多的博客和主题,以寻找使用 auto.arima 对 xreg 变量进行样本外预测的示例,但找不到任何这样做的。
有人可以帮忙吗?
非常感谢。
最佳答案
这是一个 MWE,用于对具有未知协变量的时间序列进行样本外预测。这依赖于提供的数据for this question以及@Raad 的出色回答。
library("forecast")
dta = read.csv("~/stackexchange/data/xdata.csv")[1:96,]
dta <- ts(dta, start = 1)
# to illustrate out of sample forecasting with covariates lets split the data
train <- window(dta, end = 90)
test <- window(dta, start = 91)
# fit model
covariates <- c("Customers", "Open", "Promo")
fit <- auto.arima(train[,"Sales"], xreg = train[, covariates])
根据测试数据预测
fcast <- forecast(fit, xreg = test[, covariates])
但是,如果我们还不知道客户的值(value)怎么办?期望的目标是预测客户,然后使用这些预测销售预测中的值。打开和促销都在控制之下经理,因此将在预测中“固定”。
customerfit <- auto.arima(train[,"Customers"], xreg = train[, c("Open","Promo")])
我会尝试预测 2 周后,并假设没有促销事件。
newdata <- data.frame(Open = rep(c(1,1,1,1,1,1,0), times = 2),
Promo = 0)
customer_fcast <- forecast(customerfit, xreg = newdata)
# the values of customer are in `customer_fcast$mean`
newdata$Customers <- as.vector(customer_fcast$mean)
以与原始数据相同的顺序获取新数据列至关重要!forecast()
按位置
sales_fcast <- forecast(fit, xreg = as.matrix(newdata)[,c(3,1,2)])
plot(sales_fcast)
由 reprex package 创建于 2018-03-29 (v0.2.0).
关于r - 使用 auto.arima() 和 xreg 进行样本外预测,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49562005/
我正在尝试运行下面的代码,但收到以下错误。该代码使用预测包中的 auto.arima 来确定 arima 模型并将其拟合到某些数据。它还在 xreg 参数中使用回归量。我认为 xreg 中的两列名称可
我正在尝试运行下面的代码,但收到以下错误。该代码使用预测包中的 auto.arima 来确定 arima 模型并将其拟合到某些数据。它还在 xreg 参数中使用回归量。我认为 xreg 中的两列名称可
我正在努力预测每天到医院进行 MR 扫描的客户数量。我有过去 4 年每天到医院就诊的顾客人数。但我无法准确捕捉到不同月份就诊客户数量的每日变化。 我正在 Rstudio 上工作,我已经按照 Rob H
我正在尝试运行 auto.arima,给定 xreg 中的一组变量。我的代码是: xregvars % do(fit=auto.arima((sales), xreg = xregvars1)) 其中
我正在研究一个预测模型,其中我有从 2014 年到当前月份(2018 年 3 月)的月度数据。 我的部分数据是帐单列和报价金额列,例如(为格式道歉) 年 - 季度 - 月 - 账单 - 报价 2014
我有很多时间序列(零售数据),我想对它们进行预测。 例如,让我们来看看其中之一: > dput(x) c(1774, 1706, 1288, 1276, 2350, 1821, 1712, 1
在业余时间,我尝试提高自己在预测技术方面的技能,而今天的问题则侧重于使用多个回归变量进行预测。我创建了一个受两个回归变量影响的时间序列,但想知道如何用它们进行预测。 library(forecast)
我正在从事预测商店销售的项目以学习预测。到目前为止,我已经成功地使用了简单的 auto.Arima() 函数进行预测。但是为了使这些预测更准确,我可以使用协变量。我已经定义了协变量,例如假期,在这篇文
我目前正在使用带有单个外部变量的 forecast.gts(hts 包),该变量为所有单独的时间序列保存相同的值,以便创建 30 天的预测,但是我想要包括另一个外部回归器,它为每个单独的 ts 保存不
我目前正在使用带有单个外部变量的 forecast.gts(hts 包),该变量为所有单独的时间序列保存相同的值,以便创建 30 天的预测,但是我想要包括另一个外部回归器,它为每个单独的 ts 保存不
我是一名优秀的程序员,十分优秀!