静粛に、只今統計勉強中

仕事でデータ分析をすることになったバリバリ文系アラフィフのおっさんが、独学で統計の勉強を始めました。

Excel VBAでコレログラムを作成するマクロを作ってみた2

前回は、 

統計学入門 (基礎統計学Ⅰ)

統計学入門 (基礎統計学Ⅰ)

 

と 

現場ですぐ使える時系列データ分析 ~データサイエンティストのための基礎知識~

現場ですぐ使える時系列データ分析 ~データサイエンティストのための基礎知識~

 

で自己相関係数を求める計算式が違って吃驚! というところで終わりました。

前者が

 自己相関係数=\dfrac{偏差積和/(n-h)}{偏差平方和/n}

としていたのに対し、後者は

 自己相関係数=\dfrac{偏差積和}{偏差平方和}

としていたのです。

 

あれれ、どっちが正しいんだ? と思って

改訂版 日本統計学会公式認定 統計検定2級対応 統計学基礎

改訂版 日本統計学会公式認定 統計検定2級対応 統計学基礎

 

も読んでみました。すると45ページに

時系列分析の分野では自己共分散関数(autoconvriance function)を

 C_h=\dfrac{1}{T}\displaystyle \sum_{t=1}^{T-h}(y_t-\bar y)(y_{t+h}-\bar y), h=0,1,2,\cdots

で計算し,それを用いて自己相関係数

 r_h=\dfrac{C_h}{C_0}

により求めることが多い.

とあります。

とすると、天下に名高い赤本が間違っているのでしょうか? いや、でも『統計学基礎』には「~求めることが多い」と書かれています。これは、どちらかが間違っているということではなく、流儀の違いと解釈すべきかもしれません。

と言っても、ネットで検索しても

 自己相関係数=\dfrac{偏差積和}{偏差平方和}=\dfrac{偏差積和/n}{偏差平方和/n}

しか見つかりませんでしたので、赤本の計算式は少数派と考えたほうがよさそうです。

よって、『統計学基礎』の計算方法に乗り換えることにしましょう。

 

  1. 分子の偏差積和  \displaystyle \sum_{t=1}^{T-h}(y_t-\bar y)(y_{t+h}-\bar y) と自己共分散=偏差積和÷T を計算する

    f:id:cyclo-commuter:20200117142908p:plain

  2. 自己相関係数を計算する

    f:id:cyclo-commuter:20200117143821p:plain

    自己共分散を分散で割りました。

 

こうして実際に計算してみてわかったのは、普通の相関係数が 

f:id:cyclo-commuter:20200117144429p:plain

対応のある2変数で計算されるのに対し、
自己相関係数は、偏差積和こそ対応する範囲で計算されるものの、それ以外は

f:id:cyclo-commuter:20200117144902p:plain

時間をずらしても元データと変わらない状態で計算される、ということです。

なので、ラグ hの平均 \bar y_{t+h}は元データと同じ \bar yになりますし、偏差は y_{t+h}-\bar yになります。
当然に、ラグ hの分散も元データと同じになりますから、分母は \sqrt{V[Y_t]\times V[Y_{t+h}]}=\sqrt{V[Y_t]^2}=V[Y_t]になります。

してみると、自己共分散を計算するのに T-hで割るのは、やっぱり不自然なきがしてきますね。いやでも、偏差積和が T-hで計算されるのだから有り・・・なのかな?

まあこの辺は専門家にでも聞かないとわからないので置いておきましょう。

 

計算結果の自己相関係数をグラフ⇒コレログラムにします。

  1. ラグと自己相関係の範囲を選択して、棒グラフ(集合縦棒)をクリック。

    f:id:cyclo-commuter:20200117151721p:plain

     

  2. できました。

    f:id:cyclo-commuter:20200117152704p:plain
    が、見栄えが悪いので整えましょう。

  3. グラフタイトルを右クリックして削除します。

    f:id:cyclo-commuter:20200117152905p:plain

  4. 縦軸をダブルクリック→最小値を-1、最大値を1にします。

    f:id:cyclo-commuter:20200117153352p:plain

  5. 横軸をダブルクリック→ラベルの位置を下端にします。

    f:id:cyclo-commuter:20200117153530p:plain

  6. 軸ラベルを追加して、

    f:id:cyclo-commuter:20200117153728p:plain

    縦軸に「自己相関係数」、横軸に「ラグ」と入力します。

  7. 完成です!

    f:id:cyclo-commuter:20200117153840p:plain

 

 次回、ここまでの手順をVBAでマクロにしちゃいましょう。