stl関数がランダムデータで有意な季節変動を与える理由


11

stl(Loessによる時系列の季節分解)関数を使用して次のコードでプロットしました。

plot(stl(ts(rnorm(144), frequency=12), s.window="periodic"))

上記のコード(rnorm関数)にランダムデータを配置すると、季節変動が大きくなります。パターンは異なりますが、これを実行するたびに大きな変動が見られます。そのような2つのパターンを以下に示します。

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

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

季節変動が見られる場合、いくつかのデータのstl関数にどのように依存できますか。この季節変動は、他のいくつかのパラメータを考慮して確認する必要がありますか?あなたの洞察をありがとう。

コードはこのページから取得されました:これは自殺カウントデータの季節的影響をテストする適切な方法ですか?


1
これは、フィッティング手法に十分なパラメーターがある場合、ランダムデータに「パターン」があるために発生します。
bill_080 2015

3
ここでの「有意」という用語は、いかなる種類の有意性検定も反映していないようです。
Nick Cox

1
Stlはノンパラメトリックデータ駆動型メソッドであるため、有意差検定を介して季節的不確実性の存在の有無を定量化する方法はありません。
予測者

回答:


12

黄土分解は、データに平均を適用することで系列を平滑化し、データの分析にとって興味深いコンポーネント(傾向や季節など)に折りたたむことを目的としています。しかし、この方法論は、季節性の存在について正式なテストを行うことを意図していません。

あなたの例でstlは季節の周期性の平滑化されたパターンを返しますが、このパターンはシリーズのダイナミクスを説明するのには関係ありません。これを確認するために、元のシリーズの分散に関して各コンポーネントの分散を比較できます。

set.seed(123)
x <- ts(rnorm(144, sd=1), frequency=12)
a <- stl(x, s.window="periodic")
apply(a$time.series, 2, var) / var(x)
#   seasonal      trend  remainder 
# 0.07080362 0.07487838 0.81647852 

(ホワイトノイズプロセスで予想されるように)データの分散のほとんどを説明するのは残りの部分であることがわかります。

季節性のある系列を使用する場合、季節性成分の相対的な分散ははるかに関連性があります(レスはパラメトリックではないため、それをテストする簡単な方法はありません)。

y <- diff(log(AirPassengers))
b <- stl(y, s.window="periodic")
apply(b$time.series, 2, var) / var(y)
#    seasonal       trend   remainder 
# 0.875463620 0.001959407 0.117832537 

相対分散は、季節性がシリーズのダイナミクスを説明する主要なコンポーネントであることを示しています。


からのプロットを不注意に見ると、stl誤解を招くことがあります。によって返された見事なパターンはstl、関連する季節パターンがデータで識別できると考えるかもしれませんが、よく見ると、実際にはそうではないことが明らかになる場合があります。目的が季節性の存在を判断することである場合、黄土の分解は予備的な見方として有用ですが、他のツールで補完する必要があります。


AirPassengersの例では、出力に傾向はありませんが、プロット(AirPassengers)には明確な傾向があります。「diff(log(AirPassengers))」ステートメントを削除すると、トレンドは0.86(季節はわずか0.1)になります。何をすべきか?
rnso

数値的に明確な例を挙げました。実際には、平滑化されたコンポーネントの分散を比較するだけでは、季節性の存在について結論を下すのに十分ではない場合があります。たとえば、この場合に見られたように、差異をとることによってトレンドが削除されない場合、トレンドの分散が季節性コンポーネントの分散を支配します。問題は次のとおりです。0.1の相対分散は、このコンポーネントが適切であると考えるのに十分な大きさですか?問題は、レスに基づいて、コンポーネントの分散が有意であるかどうかをテストする簡単な方法がないことです。
javlacalle 2015

私が言ったように、これや他のケースで私たちがすべきことは、季節性の存在をテストするために他の方法を使用することです。たとえば、ここで私の回答の2番目の部分を参照してください。季節性がデータに存在すると結論付けたら、レスを使用してこのコンポーネントのパターンを取得できます。
javlacalle 2015

より明確にするために、相対分散は、データ全体で分解の一部がどの程度機能するかをどのように示しますか?IE 70%季節、20%トレンド。など
テッド・モスビー2017

1
@TedMosby分散は、データの変動性/分散の尺度です。コンポーネントの分散(たとえば、傾向、季節性)の合計と残りの分散は、元のシリーズの分散になります。このように、コンポーネントの分散と元のシリーズの分散を比較することで、コンポーネントの関連性(つまり、データの変動性がコンポーネントによってどの程度説明されているか)を知ることができます。
javlacalle 2017

2

同様に、非季節性データへのフーリエモデルの利用を見て、季節構造を適合値と予測値に強制的に適用し、同様の(息切れ!)推定モデルを当てはめることで、ユーザーは彼が課している/推定していることをユーザーに提供します。


1
stl()フーリエのアイデアに基づいていません。「マインドレス」分析を主張している人はまだ見ていませんが、フィットしたモデルファミリーは、強制されている、または推定されていると見なすことができることに注意してください。問題は、特定のデータセットに対してどのような手順がうまく機能していないか、およびどのように機能するかをユーザーが理解できる範囲を提供することです。
Nick Cox

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