簡體   English   中英

在R中的ARIMAX模型中預測轉換后的時間序列的實際值

[英]Forecast the actual values of a transformed time series in ARIMAX model in R

我正在將ARIMAx模型擬合到我的時間序列數據。 “數據”包括“ Rate”作為結果,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)

現在的問題是,此預測函數將生成轉換后的值而不是實際值的預測。 我如何在不自己進行轉換的情況下獲得實際值的預測。

預測包將為您完成所有這一切。 但是您需要使用forecast()函數,而不是predict()函數。

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)

fit<- auto.arima(outcome, xreg=xreg.train, lambda=lambda,
  trace=TRUE, stepwise=FALSE, seasonal=TRUE, lambda=lambda)

forecast.test <- forecast(fit, xreg=xreg.test, lambda=lambda)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM