MATLABで主成分分析を行う方法
最近,MATLABで主成分分析を行ったので色々メモ書き。
主成分分析の意味とか単語がだいたいわかってる人向きです。
私もまだまだ初心者なので間違っているところがあった時は指摘してくれるとうれしいです。
MATLABで主成分分析を行う手順(ざっくり)
1. データ行列を作成する
行(縦)に観測値,列(横)に変数がくるように,全データを1つにまとめた行列を作成する。
(例えばあるクラスでの全員のテストの点数を主成分分析したい場合
行:A君の,B君の,C君の,…
列:英語の点数,国語の点数,数学の点数,…
のようになる)
データ行列の作成方法は
DATA = [98 68 50 ; 45 79 80 ; 72 100 39 ]
のように入力していってもいいしExcelから読み込むのもあり。
Excelからの読み込み方法はいつか書く予定…
(2017/11/15追記:けっこう前に書いてました↓)
lablabkun.hatenablog.com
2. 主成分分析
主成分分析します(ざっくり)
[COEFF, SCORE, latent] = pca(DATA)
データを標準化して主成分分析を行いたい場合は
[COEFF, SCORE, latent] = pca(zcore(DATA))
このとき
COEFF : 主成分係数の行列。各列に1主成分の係数が含まれている。1列目・第1主成分の係数、2列目・第2主成分の係数…となっている。 SCORE : 主成分スコアの行列。行は観測値に対応し、列は変数に対応している。 latent : 行列の固有値のベクトル。これらの数値を変数の数で割ったものが寄与率となり、上から第1主成分の寄与率、第2主成分の寄与率…となる。
思ったより簡単で便利(-ω-)/
おまけ
パターン認識の本の紹介
- 作者: 石井健一郎,前田英作,上田修功,村瀬洋
- 出版社/メーカー: オーム社
- 発売日: 1998/08/01
- メディア: 単行本
- 購入: 19人 クリック: 110回
- この商品を含むブログ (42件) を見る
私がパターン認識や主成分分析について勉強するときに使用した本です。
式を使用した説明が多く、言葉の使い分け("識別"と"判別"の違いなど)についても説明してくれているので、論文を書くときに非常に助かります。
主成分分析についての説明は今度書こうと思います。
(2017/11/13追記)主成分分析の説明についてうっすら書き始めてます。
lablabkun.hatenablog.com
参考
- MathWorks『生データの主成分分析 - MATLAB pca - MathWorks 日本』
- MathWorks『データに対する主成分分析 (PCA) - MATLAB princomp - MathWorks 日本』
princompはそのうち削除されてしまうみたい…