R季節時系列


9

私はこのdecompose関数を使用してR、月次時系列の3つのコンポーネント(トレンド、季節性、ランダム)を考え出します。グラフをプロットするか、表を見ると、時系列が季節性の影響を受けていることがはっきりとわかります。

ただし、時系列を11の季節性ダミー変数に回帰すると、すべての係数が統計的に有意ではなく、季節性がないことを示しています。

2つの非常に異なる結果が得られた理由がわかりません。これは誰かに起こりましたか?私は何か間違ったことをしていますか?


ここにいくつかの役立つ詳細を追加します。

これは私の時系列とそれに対応する毎月の変化です。どちらのグラフでも、季節性があることがわかります(または、これが私が評価したいものです)。特に、2番目のグラフ(シリーズの月ごとの変化)には、繰り返しのパターン(同じ月の高いポイントと低いポイント)が見られます。

時系列

毎月の変化

以下はdecompose関数の出力です。@RichardHardyが言ったように、この関数は実際の季節性があるかどうかをテストしません。しかし、分解は私の考えを裏付けているようです。

分解する

ただし、11の季節ダミー変数(1月から11月、12月を除く)で時系列を回帰すると、次のようになります。

    Coefficients:
                  Estimate Std. Error t value Pr(>|t|)    
    (Intercept) 5144454056  372840549  13.798   <2e-16 ***
    Jan     -616669492  527276161  -1.170    0.248    
    Feb     -586884419  527276161  -1.113    0.271    
    Mar     -461990149  527276161  -0.876    0.385    
    Apr     -407860396  527276161  -0.774    0.443    
    May     -395942771  527276161  -0.751    0.456    
    Jun     -382312331  527276161  -0.725    0.472    
    Jul     -342137426  527276161  -0.649    0.520    
    Aug     -308931830  527276161  -0.586    0.561    
    Sep     -275129629  527276161  -0.522    0.604    
    Oct     -218035419  527276161  -0.414    0.681    
    Nov     -159814080  527276161  -0.303    0.763

基本的に、すべての季節係数は統計的に有意ではありません。

線形回帰を実行するには、次の関数を使用します。

lm.r = lm(Yvar~Var$Jan+Var$Feb+Var$Mar+Var$Apr+Var$May+Var$Jun+Var$Jul+Var$Aug+Var$Sep+Var$Oct+Var$Nov)

ここで、Yvarを月次頻度(頻度= 12)の時系列変数として設定します。

また、回帰に対する傾向変数を含む、時系列の傾向要素を考慮に入れます。ただし、結果は変わりません。

                  Estimate Std. Error t value Pr(>|t|)    
    (Intercept) 3600646404   96286811  37.395   <2e-16 ***
    Jan     -144950487  117138294  -1.237    0.222    
    Feb     -158048960  116963281  -1.351    0.183    
    Mar      -76038236  116804709  -0.651    0.518    
    Apr      -64792029  116662646  -0.555    0.581    
    May      -95757949  116537153  -0.822    0.415    
    Jun     -125011055  116428283  -1.074    0.288    
    Jul     -127719697  116336082  -1.098    0.278    
    Aug     -137397646  116260591  -1.182    0.243    
    Sep     -146478991  116201842  -1.261    0.214    
    Oct     -132268327  116159860  -1.139    0.261    
    Nov     -116930534  116134664  -1.007    0.319    
    trend     42883546    1396782  30.702   <2e-16 ***

したがって、私の質問は次のとおりです。回帰分析で何か間違っているのですか?


1
@forecaster、ここで(OPが言うあなたの質問への答えであるdecompose関数の中でR使用されています)。
Richard Hardy

1
decompose関数のヘルプファイルを読んでいると、関数が季節性があるかどうかをテストしていないようです。代わりに、季節ごとの平均を取得し、平均を減算して、これを季節要素と呼びます。したがって、根本的な季節成分があるかノイズだけであるかに関係なく、季節成分が生成されます。それにもかかわらず、データのプロットから季節性が見えると言っても、これはあなたのダミーが重要でない理由を説明していません。サンプルが小さすぎて季節のダミーを大量に取得できないのでしょうか?それらは一緒に重要ですか?
Richard Hardy、

3
スケールを確認する必要があります。季節チャートでは、季節変動が-0.02から+0.04の間で、実際の値の範囲は40億から60億です。分解関数は、データに何らかの季節性を表示するように強制するため、無視できる値を表示しています。データに季節性はありません。
予報士

1
季節性は、動きの大きさではなく、特定の「固定された」頻度での動きに関するものだと思いました。最初のチャートはバランス(ポンド)を示し、2番目のチャートは変化(パーセンテージで表示)であるため、スケールは異なります。私は回帰を再実行しようとしました。多項式の傾向を考慮すると、いくつかの係数が重要になり始めます。@dannoが示唆したように、この傾向は非常に重要だと思います。
mattiace 2015年

1
CanovaとHansenのテストは、データ内の季節パターンの存在と安定性についてさらに詳しい情報を提供する場合があります。このテストの一部のアプリケーションについては、たとえばこの投稿を参照してください。この投稿には、元の論文とサンプルコードへのリンクも記載されています。
javlacalle 2015年

回答:


1

トレンドを取り除いた後、データの回帰を行っていますか?Yvarのトレンドを考慮に入れていない限り、ポジティブトレンドがあり、季節性のシグネチャは回帰でマスクされている可能性があります(トレンドまたはエラーによる分散は月による分散よりも大きい)。

また、時系列にはあまり自信がありませんが、各観測値に1か月を割り当てる必要はありません。回帰は次のようになりますか?

lm(Yvar ~ Time + Month)

それが意味をなさない場合の謝罪...ここで回帰は最も意味がありますか?


私は計量経済学の教科書(Wooldridge)を読んで、回帰に「時間」係数を導入すると、それは元の時系列のトレンドを取り消すようなものだと説明しました。「時間」因子については、[1、2、...、n]のようなベクトルで、n =は観測数です。2番目のポイントは本当にわかりません。2番目の回帰は次のようになります。lm.r= lm(Yvar〜Var Jan + Var Nov)。これはどういう意味ですか?F e b + + V a rTime+VarFeb+...+Var
mattiace 2015年

データの数行を確認すると役立ちます。しかし、Time、Yvar、Monthの3つの列があると思います。行は観測です。したがって、私はあなたのlm()の要素は(月の要素レベルではなく)時間と月になると思います。また、時系列のlm()にはいくつかの問題があると思います...観測は独立しておらず、時間的に自己相関しています。
danno 2015年

1

時系列のグラフィカルな描写では、「トレンド」(時間の線形コンポーネント)が実現の最も重要な要因の1つであることは明らかです。この時系列の最も重要な側面は、毎月の安定した上昇であるとコメントします。

それから、比較すると季節変動はごくわずかだと思います。したがって、6 か月にわたって測定された毎月の測定値(合計でわずか72の観測)では、線形回帰モデルは11か月のコントラストを統計的に有意であると識別する精度を備えていません。さらに、時間効果統計的有意性を達成することは驚くべきことではありません。これは、72の観測すべてで発生するほぼ一貫した線形増加と同じであり、季節効果を条件とするためです。

11か月のコントラストのいずれにも統計的有意性がないことは、季節的な影響がないことを意味しませ。実際、回帰モデルを使用して季節性があるかどうかを判断する場合、適切なテストは、各月のコントラストの統計的有意性を同時に評価する入れ子の11自由度テストです。このような検定は、ANOVA、尤度比検定、またはロバストなWald検定を実行することで取得できます。例えば:

library(lmtest) model.mt <- lm(outcome ~ time + month) model.t <- lm(outcome ~ time) aov(model.mt, model.t) lrtest(model.mt, model.t) library(sandwich) ## autoregressive consistent robust standard errors waldtest(lrtest, lmtest, vcov.=function(x)vcovHAC(x))


0

それがあなたのケースであるかどうかはわかりませんが、Rで時系列の分析を開始したときに起こりました。問題は、時系列オブジェクトを作成してそれを分解するときに、時系列期間を正しく指定していなかったことです。時系列関数には、その頻度を指定できるパラメーターがあります。そうすることで、季節の傾向を正しく分解します。


jmnavarro、分解関数で頻度を正しく定義しました(月次データがあるため、= 12)。実際、私はこの機能の結果に満足しています。私の質問は、ダミー変数を使用して線形回帰を実行すると、同じ結果が得られない(季節性が重要)理由です。私はRとExcelの両方でそれを行い、結果は同じです:ダミー係数は統計的に有意ではありません。これは、以前に分解関数で見つけたものに反しています。私はここで何かを見逃しているのか分かりません
mattiace

真実、申し訳ありませんが、私はあなたの質問を完全に理解していませんでした。コードを投稿していただければ、再現できるようになると助かります。
jmnavarro 2015年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.