Knowledge As Practice

JAIST(東京)で Transformative Service Research に取り組んでる社会人大学院生の研究・勉強メモ

SPSS と R の主成分分析の違い

いま DBS の「ビジネス統計学」という授業を復習として受けています。今日は主成分分析がテーマの1つでした。授業では SPSS をメインしています。教材の1つとして『文系のための SPSS 超入門』なのですが、こういうデータが載っていました。

銀行名 資本金 店舗数 職員数 預金高
みずほ    650    658  22267  49007
東京三菱    872    336  15211  47827
UFJ    844    525  19451  47039
三井住友    560    591  24079  58611
りそな    443    372  12485  22356
みずほコポ   1071     59   5379  14723
埼玉りそな     50    114   3086   8601

 統合前の古いデータです。これを主成分分析してみましょう、というのが『文系のための~』の問題でした。手順どおりにすると、次のような主成分得点に基づく散布図が得られます。

f:id:hikaru1122:20150524023607p:plain


私が「ビジネス統計学」の受講テーマは、R で授業の内容をすべてやってみる、というものです。R での主成分分析は prcomp() や princomp() を使います。得た結果を biplot() すると、次のような図が出ます。

f:id:hikaru1122:20150524023630p:plain

!? SPSS と R では図が左右対称です。最初はビックリしました。「なんでだろう」と原因を探した結果、どうやら主成分負荷量の計算方法が違うのでは、という結論に至りました。

f:id:hikaru1122:20150524023707p:plain
SPSS(主成分得点係数)

f:id:hikaru1122:20150524023725p:plain
R(主成分負荷量)※ princomp() を使っています。

第1主成分のところの数字が違いますね。まぁ、本当はもっと調べたほうがよいのだと思いますが、そこまで思い入れがないので、このあたりで止めておきます。


追記(2015年5月24日)
『文系のための~』の中に、「主成分得点係数(主成分負荷量)の計算では、二乗和が1になるように制約することが多いが、SPSSはそういう方法を取ってない」みたいなことが書いてあったので、それが原因なのだとわかりました。

クリエイティブ・コモンズ・ライセンス
この 作品 は クリエイティブ・コモンズ 表示 - 継承 4.0 国際 ライセンスの下に提供されています。