R予測パッケージのTBATSを使用した時系列分解の解釈


10

以下の時系列データを季節性、トレンド、残差成分に分解したいと思います。データは、商業ビルの1時間ごとの冷却エネルギープロファイルです。

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)

その結果:

ここに画像の説明を入力してください

このモデルのlevelおよびslopeコンポーネントは何を説明していますか?このパッケージで参照されている論文(De Livera、Hyndman、Snyder(JASA、2011))に似たtrendおよびremainderコンポーネントを入手するにはどうすればよいですか?


以前に同じ問題が発生しました。そして、ここでの傾向は、l + bを意味するかもしれないと思います。(紙では、モデルがあります)または、robjhyndman.com
hyndsight /

1
私も同じ問題を抱えてる。私は間違っているかもしれませんが、残差を見つけるにはresid(TotalCooling.tbats)を使用できます。曲線はplot(forecast(TotalCooling.tbats、h = 1)$ residuals)でも確認され、傾向は「勾配」です。
マルコデナ2014

回答:


5

このページのユーザーコメントでは、レベルと勾配の解釈、およびdecompose()関数が提供する傾向と残差を取得する方法について誰かが質問します。Hyndmanは、異なるモデルdecompose()tbats()使用しているため、直接的な翻訳はできないと述べています。ただし、TBATSモデルにBox-Cox変換がない場合、TBATSレベルはdecompose()トレンドとほぼ同じです。一方、モデルがBox-Cox変換を適用する場合は、レベルを(ほぼ)トレンドと解釈する前に変換を元に戻す必要があります。少なくともそれが私が彼の反応を解釈する方法です。

残差と傾きについては、同じではありません。

基本的な分解には、トレンド要素、季節要素、および残差要素があると考えることができます。

トレンドをさらにレベルと勾配に分解できます。レベルは基本的にトレンドのベースラインであり、勾配は単位時間あたりの変化です。

トレンドをレベルとスロープに分類する理由は、一部のモデルは減衰した成長をサポートするためです。現在の成長を観察しているかもしれませんが、時間の経過とともに成長が徐々に減少すると予想し、予測にその予想を反映させる必要があります。モデルはこれをサポートし、勾配に減衰係数を適用して成長を減衰させ、それをゼロに向かって収束させます。これは、トレンドがそのレベルコンポーネントに向かって収束することを意味します。

レベルと勾配を組み合わせてトレンドを生み出す方法についての質問に対する簡単な答えはありません。使用しているモデルのタイプによって異なります。一般的なステートメントとして、加法トレンドモデルは加法的な方法でそれらを組み合わせ、乗法トレンドモデルは乗法的な方法でそれらを組み合わせます。モデルの減衰バリアントは、レベルを減衰勾配と組み合わせます。Hyndman's Forecasting with Exponential Smoothingブック(Amazonリンクを含めても問題ないことを願っています。著者とは一切関係ありません)は、モデルごとの正確な方程式を表2.1に示しています。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.