探索的因子分析の直感的理解

因子分析はいわば心理統計のハイライトであり、経営学においても、心理的アプローチをとる場合、非常に重要な分析である。しかし、とりわけ探索的な因子分析を理解するためには線形代数の知識が必須であるため、文科系の人々の多くは理解の途中で挫折してしまうことが多いようである。そこで今回は、数学的な説明は分かりやすい説明がなされている小杉(2022)を参照してもらうこととし、数学的な説明を大胆に捨象して直感的に探索的因子分析を理解することを試みる。

 

そもそも因子分析とは何か。これは小杉によれば「心の理論」とさえも考えることができるほど重要な分析である。例えば、採用試験において、志願者の性格を把握するために100問からなる性格テストに答えてもらったデータがあるとする。そのデータは、その人について100種類の性格を測定しているのではない。100個の反応の背後に、ごく少数の潜在的性格因子が隠れており、それが本当に知りたい「性格」だと考えるのである。それは、例えば外向性とか神経質とかである。この場合、人間の性格という「心の特徴」を数量的に理解しようとする方法としての分析を考えるということになる。

 

では、実際100個の質問で測定する性格テストの中に、幾つの潜在因子が隠れているのか。3つか、4つか、5つか。これに答えようとする分析が因子分析であり、とりわけ得られたデータの構造に基づいて探索的に因子を見つけようとするのが探索的因子分析である。例えば200人に100問の性格テストをして得られたデータを使ってこの探索的因子分析を行うような場合を考えよう。このような探索的因子分析を行う上で決定的に重要な数学的概念が「分散共分散行列」とそれを標準化した「相関行列」、行列の「固有値」と「固有ベクトル」、そして「固有値分解」である。これは線形代数を学ぶことでクリアになるが、以下では数学的説明を大幅にスキップしながらポイントだけ説明しよう。

 

分散共分散行列とは、縦と横が同じ(例えば質問項目。100問ならば100行×100列)正方行列で、対応する項目のペアごとの共分散を成分として、対角成分は分散である(同じ項目同士の共分散=分散だから)。相関行列は、分散共分散分析と比べると、共分散の部分がそれを標準化した相関係数に置き換わり、対角成分は1に置き換わる(同じ項目同士の相関=1だから)。これら2つは標準化するかしないかの違いなので後者の方が情報が若干減るが、本質的にはほぼ同じである。研究で用いる変数間の相関行列は、変数の平均と標準偏差と合わせて論文で表で示すのが数量的研究では慣例となっているので、それをイメージすればよい。

 

これらの「正方行列」が因子分析では決定的に重要である。その理由は、十分なサンプルを仮定した場合は、この正方行列の中に、変数間の関係に関する「全ての情報」が含まれていると考えるからである。だからそれらの行列さえあれば必要な情報は全てそこから取り出せる。もう1つの理由は、正方行列には、固有値固有ベクトルというこちらも計算上決定的に重要な数学的原理が存在するからである。これらの概念を使って因子分析で行うことは、「全ての情報が含まれている分散共分散行列(あるいは相関行列)」から、知りたい潜在因子に関する情報を数学的操作によって抽出する」ということなのである。ここが最も重要なポイントである。

 

では、どのようにして、分散共分散行列(相関行列)から、潜在因子を抽出するのか。そこで用いられるのが、これらの行列の「固有値分解」である。その前に、「固有値」と「固有ベクトル」について若干説明が必要である。この2つはセットになっていて、特定の正方行列について、それに固有のあるベクトル(数値の組み合わせ)については、正方行列を掛けると、スカラー(行列ではない量のみ)を掛けたものと同じになるという不思議な性質である。固有値は、正方行列の項目の数だけ存在し、これを全て足し合わせると、正方行列の対角要素を全て足し合わせた値と一致する。

 

上記をもっと直感的にいうと、固有値というのは、正方行列に含まれている情報を、単なる量の情報に変換するもので、固有ベクトルはその変換が行われる時の(方向性を持った)数値の組み合わせで、正方行列の中に隠れている空間情報の1つの次元を示している。N×Nの正方行列の固有値は大きな値から小さな値までN個あることが分かっているので、分散共分散行列を固有値分解するということは、分散共分散行列の情報を、重要な(大きな量の)情報から順番に、分散共分散行列に潜んでいる潜在次元の情報と共にN個抽出する作業であると言って良い。

 

固有値の値をN個全て足すと、分散共分散行列の対角要素の分散を全て足した値と等しくなることが分かっている。その値はデータセットに含まれる分散の全てであるから、固有値の中で意味のある(大きな)値のみを抽出した場合、それが、データセットの全分散のどれくらいを説明できるのかを計算できる。逆にいうと、小さな固有値は意味がないので因子としてカウントしないとすると、それは、抽出した因子で説明できていない誤差分散を意味する。相関行列を用いた固有値分解で説明すると、固有値を大きな値から並べた際に1以下になっているものは、性格テストの1つの質問項目が含んでいる情報よりも小さい(なぜならば相関行列では1つの項目の分散は1に標準化されているため)ので、あまり意味のない情報だと言える。

 

上記のように、固有値の中でとても小さな値は、情報としては取るに足らない誤差だと解釈し、十分に大きな固有値のみを、適当な基準で抽出すると、それがデータセット潜在的に含まれている知りたい因子の数ということになる。冒頭の性格検査の例では、100問のテストの中に潜在的に含まれている因子が5つだと推定されるという感じである。よって、分散共分散行列(相関行列)を固有値分解するということは、何もしなければ100次元ある行列の空間情報から、意味のあるものから順番に4次元とか5次元とかまで空間情報を取り出すという作業で、その時の各次元の軸の情報を与えるのが固有ベクトルであり、その成分を、その因子による負荷(重み)がかかっている相対的度合いという意味で「因子負荷量」とも呼ぶ。

 

しかし、線形代数の数学的特徴として、上記の固有値分解を行った時の各固有値に対応する固有ベクトルの組み合わせは無数にある。そこで、固有ベクトルを、大きさは無視して次元の方向の情報だけを持っているものとして解釈し、かつ、回転行列というものを用いて、固有ベクトルの方向を回転させるという数学的操作ができる。その際、因子間が相関しないように(直交するように)回転する方法や、因子間の相関を仮定して回転させる方法がある。いずれにせよ、回転させることで、特定の因子と特定の項目とのつながりが強い形で解釈可能な組み合わせを作ることができる。このような操作を行い、意味のある因子の数について、解釈がしやすい回転を施したところで、探索的因子分析を終了する。

 

このような探索的因子分析の直感的理解を再度まとめると、分散共分散行列あるいは相関行列の中にデータセットの全ての情報が含まれると仮定した上で、その正方行列の中から、固有値分解と因子回転によって意味のある少数の次元からなる空間情報を抽出する作業を因子分析で行なったわけである。探索的因子分析では、分散共分散行列(相関行列)の空間情報から、N個の次元からなる別の空間情報に変換するが、固有値が大きな次元はそれが強調された座標軸となり、固有値の小さな次元は、それが小さく縮小され(データを解釈するのに意味を持たない)座標軸となるので、後者は無視して、強調される複数の座標軸のみからなる空間座標に変換する。

 

探索的因子分析によってデータセット(分散共分散行列、相関行列)から抽出された空間座標の上に、ここのケースをプロットすることが可能であるが、解釈がしやすいように、この空間座標をくるくる回転させて収まりが良いものを探し当てる。そうすることで、性格テストの例で言えば、受験者一人ひとりの位置(すなわち性格特性)は、その少数次元からなる空間上にプロットできる。その空間情報上の座標で表現される一人ひとりのスコアが因子スコアで、例えば外向性が○点、誠実性が△点というように計算される。ただ、実際の研究では、例えば外向性因子の負荷が高い複数の項目の平均をとって外向性のスコアとすることが多い。

文献

小杉考司 2022「心理学データ解析応用: RとStanで学ぶフリーで楽しい心理統計の世界」