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

主成分分析(PCA)

統計・機械学習

一般事項
・多変量解析において,もともとの説明変数(X)では現象が捉えにくい時に,説明変数を変換して新たな軸(説明変数Z)で事象を捉えようとする方法.
・新たな説明変数は元の説明変数の1次結合として表現される.(Z1=a1x1+a2x2+...anxn).
・寄与率が低い軸を捨ててしまって,次元圧縮しよう,という使われ方もする.
新たな軸の選択基準は分散.ある軸方向に対して分散が大きいということはその軸に対して,多くの情報が含まれている,という考え方.
・最大の分散となる軸を1本決めたら,次にその軸と直交する軸の中から,再び分散が最大となる方向を選択する,ということを繰り返す.
・実際にはデータの軸ごとに単位や分散が異なるので,一旦標準化しておく(Rのprcompだとscale=Tにする).というより,標準化しない場合は単位が同じで分散が等しいときだけで,こんな状況はほとんど無い.
・PCAは多くの言語でパッケージ化されているので試すのは簡単.
・欠点としては,合成された軸の解釈が困難(一次結合だから無理やり解釈できないことは無いけれど).それ故に正直使いどころがあまり分からない.
・手法はホテリングが1933年に提案.ホテリングは大きな仕事いくつもしているんだなぁ.

Rの例
prcompを使う(princompもあるけど使いにくい)

data = read.csv("hoge.dat")
pca = prcomp(data, scale=T) # scale=Tでデータを標準化してからPCAする
str(pca)