首页 > 解决方案 > R中关于TBATS的两个问题

问题描述

我对时间序列数据集和我的 TBATS 分析有疑问。

我有一个每月商品价格数据集。图 1 显示了历史价格数据,我认为由于商品的固有性质,可能存在多个季节性。我正在使用以下代码运行 TBATS 模型。

图1

TBATS_Fit <- tbats(y = Convert_Zoo_To_ts(df, 12))
TBATS_Fit
BATS(0.001, {0,0}, -, -)
Call: tbats(y = Convert_Zoo_To_ts(df, 12))
Parameters
  Lambda: 0.0011
  Alpha: 1.209941
Seed States:
     [,1]
[1,] 8.091626
attr(,"lambda")
[1] 0.001099983
Sigma: 0.04596143
AIC: 5817.134

但是,该模型没有发现任何季节性,对吗?

然后,我尝试了以下方法以创建具有多个季节性的 ts 对象。我选择季节性周期时会考虑可能的季节性,例如 3 个月、6 个月、一年、3 年和 5 年。

y_msts = msts(y, seasonal.periods = c(3,6,12,36,60))
TBATS_Fit_Mult <- tbats(y = y_msts )
BATS(0.001, {0,0}, -, -)
Call: tbats(y = y_msts )
Parameters
  Lambda: 0.0011
  Alpha: 1.209941
Seed States:
         [,1]
[1,] 8.091626
attr(,"lambda")
[1] 0.001099983
Sigma: 0.04596143
AIC: 5817.134

两个模型的结果是一样的。

虽然模型的回报预测相当不错,但我认为我错过了一些我可以捕捉到的信息。

另一个问题是,当我提前预测多个时期时,模型的预测是相同的,与预测范围无关。换句话说,提前一个月的价格预测 = 提前三个月的价格预测。

可能是什么原因,你能帮帮我吗?

谢谢。

标签: rmachine-learningtime-seriesforecastingforecast

解决方案


推荐阅读