静粛に、只今統計勉強中

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

Excel VBAで『Excelで学ぶコレスポンデンス分析』の手順をマクロにしてみた2

前回、『Excelで学ぶコレスポンデンス分析』の手順をマクロにする上での難題、固有値固有ベクトルの算出をどうするかがあっさり解決できたので、さっそくマクロを実装してみました。

 

というわけで、ソースはこちら。

 

ざっとポイントを解説してみましょう。

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

1)コレスポンデンス分析では、縦・横のどちらも3つ以上のカテゴリーがないと計算が成り立ちません。

2)コレスポンデンス分析は、カテゴリー数の少ない変量から計算する必要があるので、行数>列数のときは、行列を転地して変数origに格納します。

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

3)データ範囲に空欄があると計算の途中でエラーになってしまうので、変数orig上で0を埋めてやります。ついでに縦計と横計も取っています。

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

4)下準備の終わった行列の積を新規ワークシートにコピーして、固有値固有ベクトルを計算します。

5)転地していた場合は、値の貼り付け位置を元に戻します。

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

6)セルに固有値相関係数\sqrt{r^{2}}=\sqrt{固有値})を貼り付けます。

7)寄与率と累積寄与率を計算してセルに貼り付けます。

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

8)『Excelで学ぶコレスポンデンス分析』の127~129ページには、重み付けの解説があります。座標に相関係数を乗じて、成分1(横軸方向)の値の大きさを強調する由。*1
結果として、重み付けをした場合は、しない場合に比べてグラフ上で平べったくプロットされます。

 

以下、ソースコードは割愛しますが、表の書式を整えて、散布図を描画し、分析を完了させています。

*1:ヤコビ法による固有値解析では、値の大きい順に固有値が算出されるため。