多くの価格(750)を持つ2つの列を持つマトリックスがあります。以下の画像では、次の線形回帰の残差をプロットしました。
lm(prices[,1] ~ prices[,2])
画像を見ると、残差の非常に強い自己相関があるようです。
しかし、これらの残差の自己相関が強いかどうかをどのようにテストできますか?どの方法を使用すればよいですか?
ありがとうございました!
qt(0.75, numberofobs)/sqrt(numberofobs)
多くの価格(750)を持つ2つの列を持つマトリックスがあります。以下の画像では、次の線形回帰の残差をプロットしました。
lm(prices[,1] ~ prices[,2])
画像を見ると、残差の非常に強い自己相関があるようです。
しかし、これらの残差の自己相関が強いかどうかをどのようにテストできますか?どの方法を使用すればよいですか?
ありがとうございました!
qt(0.75, numberofobs)/sqrt(numberofobs)
回答:
これを行うにはおそらく多くの方法がありますが、最初に思い浮かぶのは線形回帰に基づいています。連続する残差を互いに回帰させ、有意な勾配をテストできます。自己相関がある場合、連続する残差間に線形関係があるはずです。作成したコードを完成させるには、次のようにします。
mod = lm(prices[,1] ~ prices[,2])
res = mod$res
n = length(res)
mod2 = lm(res[-n] ~ res[-1])
summary(mod2)
mod2は、時間誤差に対する時間誤差線形回帰です。res [-1]の係数が有意であれば、残差に自己相関の証拠があります。
注:これは、暗黙的に残差だけという意味で自己回帰であることを前提とし予測する際に重要であるε Tを。実際には、より長い範囲の依存関係が存在する可能性があります。その場合、私が説明したこの方法は、εの真の自己相関構造に対する1ラグの自己回帰近似として解釈される必要があります。
lmtestパッケージに実装されているDurbin-Watsonテストを使用します。
dwtest(prices[,1] ~ prices[,2])
DWテストまたは線形回帰テストは、データの異常に対してロバストではありません。パルス、季節性パルス、レベルシフト、またはローカルタイムトレンドがある場合、これらのテストは役に立たないのは、これらの未処理のコンポーネントがエラーの分散を膨らませ、テストに下向きのバイアスをかけ、(あなたが知っているように)の帰無仮説を誤って受け入れるようにするためです自己相関。これらの2つのテストまたは私が知っている他のパラメトリックテストを使用する前に、残差の平均が0.0から0.0の統計的に有意な差がないことを「証明」する必要があります。DWテストの制約の1つは、回帰エラーが正規分布しているという仮定であることはよく知られています。正常に分散された手段は、特に他のことに注意してください:異常なし(を参照http://homepage.newschool.edu/~canjels/permdw12.pdf)。さらに、DWテストはラグ1の自己相関のみをテストします。データは毎週/季節的な影響を与える可能性があり、これは診断されず、さらに未処理になるとDWテストに下向きのバイアスがかかります。
acf()
)を見ることができますが、これは単純な目で見ることができるものを確認するだけです。時間差残差間の相関は非常に高いです。