SnapCrab_2017-2-14_9-43-36_No-00

こんにちは!大学教員ブロガーのねこしです。

多変量解析において、データセットを見える化・可視化したり、次元を削減したり、データの中に潜む共通の成分・因子を抽出したりするため、主成分分析(Principal Component Analysis, PCA)因子分析(Factor Analysis, FA)を行う人もいるでしょう。主成分分析を好んで使う人もいれば、因子分析が好きな人もいます。心理学の分野では因子分析を使う人が多いようです。

でも、主成分分析と因子分析との違いって説明できますか?

名前や雰囲気は似ていますが、これらは似て非なるものです。違いをしっかりと押さえておきましょう。

とはいっても、抑えるべきポイントはたったの3つです。順番に説明します。

① 使われる言葉の違い

まず、主成分分析・因子分析の式の形を書きます。

xi = a1,it1 + a2,it2 + ei                                   (1)

xi : i番目の元の変数 (記述子・特徴量・説明変数・観測変数)
a1,i, a2,i : i番目の変数の重み
t1, t2 : 潜在変数
ei : i番目の変数の残差

ここでは、潜在変数は2つであるとしています。t1, t2のことを、主成分分析では主成分と呼び、因子分析では共通因子と呼びます。a1,i, a2,iのことを、主成分分析ではローディング・負荷と呼び、因子分析では因子負荷と呼びます。形は似ていても使われる言葉は違うんですね。

② 目的・考え方の違い

主成分分析ではデータセットがあったときにその情報(ばらつき)をなるべく多く説明する少数の主成分(潜在変数)を計算しますが、因子分析では各変数(記述子・特徴量・説明変数・観測変数)に共通する因子(共通因子)を見つけようとします。因子分析では共通因子というものがあると仮定して、そうなるようなa1,i, a2,iをデータから見つけるので、データがあってそこから主成分を見つける主成分分析とは考え方が逆です。なので、因子分析では共通する因子の数を最初に決める必要がありますが、主成分分析ではとりあえずたくさんの数の主成分を計算しておいて後でその中から選ぶ、といったこともできます。

まとめると、

主成分分析の目的:データに含まれるより多くの情報を主成分としてまとめる

因子分析の目的:変数に含まれる共通な因子を見つける

となります。

ちなみに、因子分析において共通因子を見つかったということは、変数ごとのeiが無相関であることに対応します。

③ 計算方法の違い

主成分分析・因子分析で言葉や目的・考え方の違いはあるものの、どちらもデータセットが与えられたときに①の式(1)におけるa1, a2, t1, t2を計算することになります。ただ、それらの計算方法が異なるのです。

主成分分析では、まずt1の分散が最大になるようにa1を最大化します。次に、t1で説明できない部分、つまりxからa1t1を引いたもの、を対象にして、t2の分散が最大になるようにa2を最大化します。このように、順番に主成分を計算していきます。詳しくはこちらに記載してありますのでどうぞご覧ください。

因子分析で目指すのは、②の最後にもヒントを出しましたが、変数ごとのeiの無相関化です。そのため、eiの間の相関が0になるようにa1, a2, t1, t2を計算します。

ここまでお読みいただきありがとうございます。上の3つを押さえておけば、主成分分析と因子分析との違いは説明できます。

プログラムについてはこちらをご覧ください。

これを書いた人

ブログ:http://univprof.com/

note : https://note.mu/univprof

コード・プログラムのショップ : https://spike.cc/shop/univprof

twitter:https://twitter.com/univprofblog1

ぜひフォローをお願い致します。

データ解析の質問 募集中!

こちらへお願いします!

ご案内。

オススメ記事セレクション。

twitterでも発信中。

この記事に興味を持っていただけましたら、ぜひフォローをお願いします!


無料メルマガでブログにない情報を配信中。

データ解析・分析に興味がありましたらぜひ登録をお願いします!
無料メルマガの登録はこちら