【发布时间】:2019-04-23 05:40:43
【问题描述】:
我正在为我的时间序列数据拟合一个 ARIMAx 模型。 “数据”包括“速率”作为结果,x1、x2 和 x3 作为协变量,我使用 Box-Cox 变换对结果进行了变换。我的数据分为火车和测试集,我想用实际值而不是转换后的值来预测测试集。我做了以下事情:
data.train <- ts(data[1:24, ] , frequency = 4, start = c(2011, 4)
data.test <- ts(data[25:28, ], frequency = 4, start = c(2017, 4))
covariates <- c("x1", "x2", "x3")
xreg.train <- data.train[, covariates]
xreg.test <- data.test[, covariates]
outcome <- data.train[, "Rate"]
lambda <- BoxCox.lambda(outcome)
outcome.trans <- BoxCox(outcome, lambda)
fit <- auto.arima(outcome.trans, xreg = xreg.train, trace = TRUE, stepwise = FALSE, seasonal = TRUE)
现在我想用实际值而不是转换后的值来预测测试集:
forecast.test <- predict(fit, newxreg = xreg.test, lambda = lambda)
现在的问题是这个预测函数产生的是转换值的预测,而不是实际值。如何在不自己进行转换的情况下获得实际值的预测。
【问题讨论】:
标签: r time-series transformation arima