Excel VBAで『Excelで学ぶコレスポンデンス分析』の手順をマクロにしてみた2
前回、『Excelで学ぶコレスポンデンス分析』の手順をマクロにする上での難題、固有値&固有ベクトルの算出をどうするかがあっさり解決できたので、さっそくマクロを実装してみました。
というわけで、ソースはこちら。
ざっとポイントを解説してみましょう。
1)コレスポンデンス分析では、縦・横のどちらも3つ以上のカテゴリーがないと計算が成り立ちません。
2)コレスポンデンス分析は、カテゴリー数の少ない変量から計算する必要があるので、行数>列数のときは、行列を転地して変数origに格納します。
3)データ範囲に空欄があると計算の途中でエラーになってしまうので、変数orig上で0を埋めてやります。ついでに縦計と横計も取っています。
4)下準備の終わった行列の積を新規ワークシートにコピーして、固有値&固有ベクトルを計算します。
5)転地していた場合は、値の貼り付け位置を元に戻します。
7)寄与率と累積寄与率を計算してセルに貼り付けます。
8)『Excelで学ぶコレスポンデンス分析』の127~129ページには、重み付けの解説があります。座標に相関係数を乗じて、成分1(横軸方向)の値の大きさを強調する由。*1
結果として、重み付けをした場合は、しない場合に比べてグラフ上で平べったくプロットされます。
以下、ソースコードは割愛しますが、表の書式を整えて、散布図を描画し、分析を完了させています。