因子分析のメリットや結果の見方を具体例から解説

1.因子分析とは

因子分析とは、データが持つ複数の要素(各変数)に共通する因子を探索する分析手法です。
因子分析によって多数のデータの背後にある構造をつかみ、消費者行動の背景を探ることなどができます。

まずは簡単な例を使って説明していきましょう。
ある学校の生徒の5教科分(数学、理科、英語、社会、国語)のテスト点数のデータがあるとします。
「数学の点数が高い子は理科の点数も高い傾向がある」といったように、5教科の点数はそれぞれ相関し合っているのは予想できます。
しかし、どの教科とどの教科がどれくらい関係し合っているかはまだ分かりません。
2教科ごとの相関を調べるのも良いですが、5つも変数があるためまとめて分析をしたいところです。

そんな時に因子分析が役立ちます。
それぞれの教科の点数には共通する要素(因子)があると仮定し、因子分析を実行したところ以下のような結果になりました。

因子分析によって5教科の点数は2種類の共通因子を持っていることが分かりました。
因子1は数学と理科、英語で共通する因子のため”理系能力”、因子2は国語と社会、英語で共通する因子のため”文系能力”と名付けることができそうですね。

このように因子分析は複数の変数を持つデータから共通する因子を見つけ出すことができる分析手法です。

2.因子分析を行うメリット

変数間の関係性が解釈しやすくなる

因子分析によって、ある変数とある変数がどのくらい共通しているか知ることができます。
先ほどの例では数学と理科、英語が共通する因子を持つことが分かりました。
因子分析ではさらにどのくらい共通しているか算出することができます。

この数字の絶対値が大きければ大きいほど、強く関係していると解釈できます。
「e」は独自因子と呼ばれ、他の変数と共通しない因子を表します。
例えば数学の点数に注目すると、数学の点数は「”理系能力”+”独自因子(その他の因子)”」の2つの因子で構成されていることになります。

この結果を見ると理系能力は数学と理科の点数に強く関係しています。
反面、英語とは多少の関係がありますが、それほど強くないことが分かります。
また英語は独自因子の影響が大きいため、理系能力と文系能力以外の因子も影響しているようです。
このように因子分析を使えば複数の変数の関係性を解釈しやすくなります。

各データの解釈が容易になる

因子分析は変数間の関係性だけでなく、各データを解釈する時にも役立ちます。
先ほどの因子分析の結果を使って、各生徒のデータを共通因子で表現してみましょう。
まずは3人の生徒の5教科の点数データは以下のようになっています。

このままの状態ではまだ各生徒の特徴が解釈しにくいですよね。
次に各教科の点数を共通因子に変換すると以下のようになります。

数値が大きいほどその能力が高いことを示しています。
この結果を見ると生徒Aは理系能力が高く、生徒Bは文系能力が高く、生徒Cはどちらも高いことが分かります。
先ほどの状態と比べて変数が減ったため、解釈しやすくなりましたね。
変数が2つ以下になるとグラフ化できるため、さらに分かりやすくできそうです。
このように因子分析を行うと、各データの解釈が容易になるというメリットがあります。

各データのグループ分けに役立つ

少し応用的な方法ですが、因子分析を使用してデータを共通因子にまとめてからクラスター分析を実施することで、効率的にデータのグループ分けを行うことができます。
クラスター分析とは似ているデータ同士をまとめていくつかのグループに分類する分析手法です。
共通因子にまとめてからクラスター分析を行うと、使用する変数が少ないため計算時間が短くなったり、分類したグループの特徴の解釈が容易になるなどのメリットがあります。

3.因子分析を行う際の注意点

共通因子の持つ意味は分からない

因子分析を行うと、計算で自動的に共通因子を作成することが出来ます。
しかし作成した共通因子がどのような意味を持っているのかは、自力で考察する必要があります。
基本的には事前の仮説をもとにして、その共通因子がどの変数と強く関係しているかなどを参考にしながら考察していきます。

しかしこの意味づけはあくまでも人間の主観に基づいて行われるため、人によって違った意見になることもしばしばあります。
そのため共通因子の持つ意味を考察する時は、なるべく多くの人と結果を共有して慎重に意味付けを行っていく必要があります。

有効な共通因子がないこともある

共通因子を持たない変数を使って因子分析をした場合、当然ながら有効な共通因子は見つかりません。
またデータ数が少なすぎる場合も上手くいかないことがあります。
そのためどんなデータでも因子分析をすれば理想の結果が出るとは限りません。

因子分析を実行する際は
「共通因子を持つ変数がありそうか?」
「共通因子を算出するために十分なデータ数は確保できそうか?」
事前に確認しておくようにしましょう。

4.因子分析の手順と結果の見方

因子分析の手順

因子分析は教師なし学習のため目的変数は必要なく、複数の変数を持つデータセットがあれば分析を行うことができます。
また分析を実行する前に、どの変数とどの変数がどのような共通因子を持っていそうか仮説を立てておくようにしましょう。
事前の仮説がないと分析した後に結果の解釈ができず困ることがあります。
そのような状態にならないために必ず事前に仮説を立て、分析結果と仮説を比較するようにしましょう。

因子分析で得られる結果の意味

因子分析を実施すると、以下の結果を算出することができます。
先ほどの例を使いながらご説明していきましょう。

因子負荷量

因子負荷量とは、各因子に対してそれぞれの変数がどのくらい強く関与しているか示す値です。
今回の例の結果をみると、因子1(理系能力)の因子負荷量は数学が一番高くなっていることから、理系能力の因子に一番関与しているのは数学の点数であることがわかります。
反対に英語は理系能力に関与しているものの、そこまで強く関与していないことが分かります。

寄与率

寄与率とは、各因子がデータ全体に対してどのくらい関与(寄与)しているか示す値です。
今回の例の結果をみると、理系能力の寄与率が43%になっています。
これは各生徒の5教科のテスト点数の43%は因子1(理系能力)が関与していることを意味しています。
また因子1(理系能力)と因子2(文系能力)の寄与率を足し合わせると79%となり、各生徒の5教科のテスト点数の79%は理系能力と文系能力で決まると解釈しても良さそうです。
寄与率を足し合わせたものを累積寄与率と表現します。

固有値

各因子がデータ全体に対してどのくらい関与(寄与)しているか示す値であり、寄与率と似た指標です。
因子の数をいくつにするか決める際によく使用されます。
因子分析を行うと、因子をいくつに設定すべきか迷うことがあります。
今回の例では因子を2つに設定しましたが、3つや4つにすることも可能です。
しかし因子を増やしすぎると、あまり役に立たない(寄与率が低い)因子が作成されやすくなります。
このような際に、固有値が低くなりすぎない数に因子数を設定します。
一般的には固有値が1を上回る因子のみ採用します。

因子得点

因子得点とは各データの因子それぞれの得点(影響の強さ)を示す値です。

先ほどの例で各生徒の5教科の点数データを各因子別に変換しましたが、この値を因子得点と表現します。

共通性

共通性とは、各変数からみた際の因子負荷量の合計値を示します。

この共通性が高ければ高いほど、分析によって算出された因子と深く関与していることになります。
反対に共通性が低い変数は、他の変数と共通因子を持たずに独自因子の割合が高いことを意味します。
社会の点数は他の教科と比べて共通性がやや低いため、他の教科と共通しない独自の因子があると考察できます。

5.因子分析を使った事例紹介

事例①〜アンケート結果から消費者の行動背景を解釈する〜

紹介する事例は因子分析により多数のデータの背後にある構造をつかみ、消費者行動の背景を探ることができた事例です。
ある化粧品会社が消費者の心理を調査するために、アンケート調査をすることにしました。
アンケートの設問は化粧品を購入する際の思考や化粧への関心に関する項目で構成されています。
しかしアンケート結果を見ても設問が多すぎたため全体の傾向を捉えられません。
設問を詳しく見てみると、似たような内容の項目も多数散見されます。

そこで因子分析によって各設問の共通因子を探ることにしました。
因子分析の結果は以下のようになりました。

この表は固有値が1を超えた共通因子と、因子負荷量が大きかった設問のみピックアップした表になります。
寄与率が一番高かった因子は
「いろいろな特徴を比較してから化粧品を購入する」
「出来る限り時間をかけて慎重に化粧品を選ぶ」
「化粧品を購入する前にサンプルで試してから買うことが多い」
の3つの設問の共通因子でした。

どの設問も情報を十分に集めてから化粧品を選んでいることと関係がありそうなので、因子1は「情報分析因子」と名付けました。
同様に因子2を「エコ・自然派因子」、因子3を「無関心・無頓着因子」と名付けました。
これら3つの因子の累積寄与率は49.2%のため、化粧品に関する消費者行動の約半分は、情報分析とエコ・自然への配慮、化粧への無関心さで決まることが考察されました。
今回の結果は、今後どのような戦略で化粧品の販促を行うべきか考える際に役立ちそうです。

6.因子分析と主成分分析の違い

因子分析と主成分分析は複数の変数を少数の変数に要約するという点でよく似ていますが、少し異なります。
両者の最大の違いは、分析する目的です。
因子分析はあくまでも変数間の共通している部分を探索する分析です。
主成分分析は全ての変数の情報を使って、データ全体を表す成分(これを主成分と呼びます)を探索する分析です。
そのため因子分析は、あらかじめ絞った変数で共通因子を作成するように設定することもできます。
しかし主成分分析は基本的には全ての変数を使用して計算します。
また主成分分析は、作成した主成分同士は相関しないことが前提となります。
反面、因子分析では作成した共通因子同士間で相関関係を認めることもあります。(因子分析の方法によっては相関しない共通因子を作成できるようにすることも可能です)
実際に最初の例で作成した「理系能力」と「文系能力」は相関する可能性が高そうです。
このように因子分析と主成分分析は細かい点で違いがあり、分析の目的によって使い分けられます。

まとめると、以下の違いになります。

  • 変数間の共通する因子を探索したい→因子分析
  • 全ての変数を要約してより少ない変数に置き換えたい→主成分分析

主成分分析と因子分析のどちらを使うべきか分析する目的によって変わってくるため、事前に目的を明確にしておきましょう。

7.まとめ

最後におさらいをしましょう。

  • 因子分析とは、データが持つ複数の変数に共通する因子を探索する分析手法
  • 因子分析はデータの各変数間の関係性を解釈する際に役立つ
  • クラスター分析を実施する前の前処理として因子分析を使用することもある
  • 因子分析によって抽出された各共通因子の意味は自身で考察しなければならないため、分析をする前に仮説を立てておくことが重要
  • 共通する因子のないデータに因子分析を実施しても良い結果は得られない
  • 因子分析から”因子負荷量”、”寄与率”、”固有値”、”共通性”などの数値を得ることができるため、これらを確認して分析結果を考察する
  • 因子分析と主成分分析は、分析する目的によって使い分けられる

因子分析は大量の変数を持つデータを扱う際に、最初の段階でよく用いられます。
因子分析を実施することで、データの背後にある構造をつかみやすくなるからです。
解析するデータの変数が多すぎて困った場合や、変数間の関係性を知りたい際にはぜひ因子分析を検討してみてください。

最後までお読みいただきありがとうございました。