読者です 読者をやめる 読者になる 読者になる

ノートにメモ書き

自分が困ったことの解決方法をひたすらメモするブログ。口調が安定しない。まとめ→トップページの1番上

MATLABで主成分分析を行う方法

最近,MATLABで主成分分析を行ったので色々メモ書き。
主成分分析の意味とか単語がだいたいわかってる人向きです。

私もまだまだ初心者なので間違っているところがあった時は指摘してくれるとうれしいです。

環境

MATLAB R2015b
OS等 32bit版Windows10
x64ベースプロセッサ

(2017年1月25日現在)

MATLABで主成分分析を行う手順(ざっくり)

1. データ行列を作成する

行(縦)に観測値,列(横)に変数がくるように,全データを1つにまとめた行列を作成する。
(例えばあるクラスでの全員のテストの点数を主成分分析したい場合
行:A君の,B君の,C君の,…
列:英語の点数,国語の点数,数学の点数,…
のようになる)

データ行列の作成方法は

DATA = [98 68 50 ; 45 79 80 ; 72 100 39 ]

のように入力していってもいいしExcelから読み込むのもあり。
Excelからの読み込み方法はいつか書く予定…

2. 主成分分析

主成分分析します(ざっくり)

[COEFF, SCORE, latent] = pca(DATA)

データを標準化して主成分分析を行いたい場合は

[COEFF, SCORE, latent] = pca(zcore(DATA))

このとき

COEFF : 主成分係数の行列。各列に1主成分の係数が含まれている。1列目・第1主成分の係数、2列目・第2主成分の係数…となっている。
SCORE : 主成分スコアの行列。行は観測値に対応し、列は変数に対応している。
latent : 行列の固有値のベクトル。これらの数値を変数の数で割ったものが寄与率となり、上から第1主成分の寄与率、第2主成分の寄与率…となる。

思ったより簡単で便利(-ω-)/

おまけ

パターン認識の本の紹介

私がパターン認識や主成分分析について勉強するときに使用した本です。
式を使用した説明が多く、言葉の使い分け("識別"と"判別"の違いなど)についても説明してくれているので、論文を書くときに非常に助かります。

主成分分析についての説明は今度書こうと思います。

更新履歴

2017. 1.25 記事の作成