お金と数字と温泉を考えるブログ

お金と数字と温泉を考えています。

因子分析その②~回転

umejiro330.hatenablog.com

前回は因子分析の入りと、因子負荷量や累積寄与率を求めるところまでやりました。
今回は、それらを回転させます。
回転させる理由は前回の記事にも記載の通り、因子負荷量の解釈を簡単にするためです。

回転を行う前に、回転方法は大きく2種類に分かれています。
・直交回転…回転後の因子間に相関が無いことを仮定する
・斜交回転…回転後の因子間に相関があることを仮定する

実際問題、因子間に相関が全くないということを仮定することは無理があると思います。
古い論文では直交回転を用いた回転が多く用いられていた理由は、斜交回転を用いると
計算が煩雑になるためです。
今回の例のような、変数が5種類のものであれば因子間に相関があったとしても問題なく計算できそうですが、
変数が10,20種類になってくると大変な計算量です。(行列計算が)

ただ最近では統計ソフトが発達してきたこともあり、斜交回転を用いることが主流になってきました。
(とりあえず斜交回転みたいな風潮もあるらしいです)

実際にRを動かして見てみましょう。
まずは直交回転から。バリマックス法が有名です。

fa2<-factanal(score[,-1],factors=2,rotation="varimax")
print(fa2,cutoff=0)

cutoff=0を指定しないと、因子負荷が<0.01のものがブランクになってしまうので、条件指定しています。
f:id:umejiro330:20180403055812p:plain
回転させない場合でも十分良い結果が出ていたので、あまり変わらない…というのが正直な感想です。

続いて斜交回転。プロマックス法で行います。

fa3<-factanal(score[,-1],factors=2,rotation="promax")
print(fa3,cutoff=0)

f:id:umejiro330:20180403055815p:plain
こちらは直交回転よりもさらに顕著な結果が出ました。第一因子の国語の値がマイナスに、第二因子の数学・化学の値がマイナスになっています。
因子間の相関係数も出力されています。相関はマイナスのようです。