如何实现严格的正预测?

机器算法验证 时间序列 预测 约束回归
2022-02-13 11:49:34

我正在研究一个值严格为正的时间序列。使用各种模型,包括 AR、MA、ARMA 等,我找不到一种简单的方法来实现严格的正预测。

我正在使用R进行预测,我能找到的只是具有此处描述的参数的 forecast.hts {hts}:

预测分层或分组时间序列,打包 hts

## S3 method for class 'gts':
forecast((object, h,
  method = c("comb", "bu", "mo", "tdgsf", "tdgsa", "tdfp", "all"),
  fmethod = c("ets", "rw", "arima"), level, positive = FALSE,
    xreg = NULL, newxreg = NULL, ...))

positive
    If TRUE, forecasts are forced to be strictly positive

http://www.inside-r.org/packages/cran/hts/docs/forecast.gts

对非分层时间序列有什么建议吗?使用其他约束(如最小值、最大值等)进行泛化怎么样?

即使没有在 R 中实现,关于文章、模型或有用的一般变量转换的建议也将不胜感激。

1个回答

使用forecastR 的包,lambda=0在拟合模型时简单地设置。例如:

fit <- auto.arima(x, lambda=0)
forecast(fit)

包中的许多函数都允许lambda参数。指定参数时lambda,将使用 Box-Cox 变换。价值λ=0指定对数转换。因此设置lambda=0意味着对记录的数据进行建模,并在生成预测时将它们反向转换到原始空间。

有关进一步讨论,请参见http://www.otexts.org/fpp/2/4