Excel VBAでコレログラムを作成するマクロを作ってみた2
前回は、
と
で自己相関係数を求める計算式が違って吃驚! というところで終わりました。
前者が
としていたのに対し、後者は
としていたのです。
あれれ、どっちが正しいんだ? と思って
も読んでみました。すると45ページに
時系列分析の分野では自己共分散関数(autoconvriance function)を
で計算し,それを用いて自己相関係数を
により求めることが多い.
とあります。
とすると、天下に名高い赤本が間違っているのでしょうか? いや、でも『統計学基礎』には「~求めることが多い」と書かれています。これは、どちらかが間違っているということではなく、流儀の違いと解釈すべきかもしれません。
と言っても、ネットで検索しても
しか見つかりませんでしたので、赤本の計算式は少数派と考えたほうがよさそうです。
よって、『統計学基礎』の計算方法に乗り換えることにしましょう。
- 分子の偏差積和 と自己共分散=偏差積和 を計算する
- 自己相関係数を計算する 自己共分散を分散で割りました。
こうして実際に計算してみてわかったのは、普通の相関係数が
対応のある2変数で計算されるのに対し、
自己相関係数は、偏差積和こそ対応する範囲で計算されるものの、それ以外は
時間をずらしても元データと変わらない状態で計算される、ということです。
なので、ラグの平均は元データと同じになりますし、偏差はになります。
当然に、ラグの分散も元データと同じになりますから、分母はになります。
してみると、自己共分散を計算するのにで割るのは、やっぱり不自然なきがしてきますね。いやでも、偏差積和がで計算されるのだから有り・・・なのかな?
まあこの辺は専門家にでも聞かないとわからないので置いておきましょう。
計算結果の自己相関係数をグラフ⇒コレログラムにします。
- ラグと自己相関係の範囲を選択して、棒グラフ(集合縦棒)をクリック。
- できました。
が、見栄えが悪いので整えましょう。 - グラフタイトルを右クリックして削除します。
- 縦軸をダブルクリック→最小値を-1、最大値を1にします。
- 横軸をダブルクリック→ラベルの位置を下端にします。
- 軸ラベルを追加して、
縦軸に「自己相関係数」、横軸に「ラグ」と入力します。
- 完成です!
次回、ここまでの手順をVBAでマクロにしちゃいましょう。