使用R预测包中的TBATS解释时间序列分解


10

我想将以下时间序列数据分解为季节性,趋势和残差组分网。数据是来自商业建筑的每小时冷却能源概况:

TotalCoolingForDecompose.ts <- ts(TotalCoolingForDecompose, start=c(2012,3,18), freq=8765.81)
plot(TotalCoolingForDecompose.ts)

冷却能量时间序列

因此,基于以下建议,每天和每周都有明显的季节性影响:如何分解具有多个季节性成分的时间序列?,我使用tbatsforecast软件包中的函数:

TotalCooling.tbats <- tbats(TotalCoolingForDecompose.ts, seasonal.periods=c(24,168), use.trend=TRUE, use.parallel=TRUE)
plot(TotalCooling.tbats)

结果是:

在此处输入图片说明

此模型的levelslope组件描述什么?如何获得trendremainder该软件包所引用的论文相似的,和组件(De Livera,Hyndman和Snyder(JASA,2011年))?


我之前遇到过同样的问题。我认为这里的趋势可能意味着l + b。(在纸上,有模型)或者您可以看到robjhyndman.com/hyndsight/forecasting-weekly-data
user49782 2014年

1
我也有同样的问题。我可能是错的,但是要找到可以使用resid(TotalCooling.tbats)的残差,曲线也会由plot(forecast(TotalCooling.tbats,h = 1)$ residuals)确认,趋势是“斜率”。
marcodena 2014年

Answers:


5

此页面上的用户评论中,有人询问有关水平面和斜率的解释,以及如何获得该decompose()功能提供的趋势和残差。海德门的言论,没有直翻译为decompose()tbats()使用不同的模型。但是,如果您的TBATS模型没有Box-Cox转换,则TBATS级别与decompose()趋势大致相同。另一方面,如果模型确实应用了Box-Cox转换,那么您必须先撤消转换,然后才能将水平解释为(大致)趋势。至少这就是我解释他的回应的方式。

至于残差和斜率,它们是不同的。

您可以认为基本分解具有趋势成分,季节成分和残差成分。

您可以将趋势进一步细分为水平和斜率。该水平本质上是趋势的基线,而斜率是每单位时间的变化。

将趋势分解为一定水平和斜率的原因是,某些模型支持增长放缓。也许您观察到当前的增长,但是您希望增长会随着时间逐渐减少,并且希望您的预测能够反映出这种期望。该模型通过允许您对斜率应用阻尼因子来阻尼增长,使其趋近于零,从而表示趋势趋向于其水平分量,从而支持增长。

关于水平和斜率如何组合以产生趋势的问题没有一个简单的答案。这取决于您使用的模型类型。一般而言,加性趋势模型以加性方式将它们组合起来,而乘性趋势模型则以乘性方式将它们组合起来。模型的阻尼变体结合了水平和阻尼斜率。Hyndman的《使用指数平滑预测》(希望可以包含Amazon链接-我与作者没有任何隶属关系)在表2.1中按模型提供了精确的方程式。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.