前口上 | 目次 | 第1章 | 第2章 | 第3章 | 第4章 | 第5章 | 第6章 | 第7章 | 第8章 | 第9章 | 第10章 |
第11章 | 第12章 | 第13章 | 第14章 | 第15章 | 第16章 | 第17章 | 第18章 | 第19章 | 第20章 | 付録 |
1 | 2 | 3 |
この章では因子の意味と因子分析の原理、そして結果の解釈方法について解説します。 さらに因子分析の結果を利用した尺度開発の方法と、主成分分析と因子分析の使い分けについても解説します。
第16章の主成分分析では互いに関連性が強い国語と英語と社会がひとつの学力を反映していて、数学と理科がそれとは別のもうひとつの学力を反映していると考え、これに基いて主成分を解釈しました。 このことから学力には2種類の基本的なものがあり、そのひとつが国語と英語と社会のテスト結果を左右し、もうひとつが数学と理科のテスト結果を左右すると考えることができます。 逆にいえば、これらの潜在的な学力を調べるために、それを反映すると思われる複数の教科のテストをしていると考えても良いと思います。
このように直接的には観測できないものの、色々な観測値に影響を与える潜在的な要因のことを因子(Factor)と呼び、実際に観測されたデータから因子を推測するための手法を因子分析(Factor analysis)といいます。 図17.1.1のように、主成分が実際に観測されたデータを要約した概括評価項目つまり目的変数に相当するのに対して、因子は実際に観測されたデータに影響を与える項目つまり説明変数に相当します。 そして因子は実際には観測できない潜在的な説明変数なので、観測されたデータから推測することになります。
因子分析は人間の様々な知的能力つまり知能は少数の因子から構成されているという知能理論を証明するために、心理学分野で開発された手法です。 知能理論では因子の数は一般因子と特殊因子の2つであるとする「2因子説」と、因子の数は少数ながら複数であるとする「多因子説」が提唱されていて、最近では多因子説の方が有力視されています。 しかし2因子説の方が単純なせいか、本来は生活年齢と精神年齢の比を表す値であり、知能のほんの一面を反映する指標にすぎない知能指数(IQ:Intelligence Quotient)のことを、知能全体つまり頭の良さを表す指標であると誤解している人が沢山いるのは困ったものです。
医学分野でも因子の概念は普通に用いられています。 例えば血圧や脈拍を測定するのは心機能という因子の働きを調べるためであり、AST(GOT)やALT(GPT)を測定するのは肝機能という因子の働きを調べるためです。 しかし医学分野ではできるだけ客観的なデータを評価項目にする傾向が強いので測定項目そのものを評価項目にすることが多く、因子分析はあまり用いられません。 それに対して心理学・社会学分野では因子分析が多用され、本来は主成分分析を適用すべきデータにも因子分析を適用してしまうことがよくあります。
第16章と同じ表16.1.1のデータに因子分析を適用すると、次のような結果になります。 (注1)
生徒ID | 国語 | 数学 | 英語 | 理科 | 社会 | 合計点 |
---|---|---|---|---|---|---|
1 | 72 | 80 | 88 | 56 | 71 | 367 |
2 | 53 | 88 | 62 | 70 | 44 | 317 |
3 | 44 | 25 | 50 | 38 | 60 | 217 |
4 | 29 | 34 | 43 | 24 | 38 | 168 |
5 | 66 | 29 | 66 | 37 | 73 | 271 |
6 | 51 | 52 | 43 | 72 | 65 | 283 |
7 | 73 | 38 | 75 | 40 | 81 | 307 |
8 | 69 | 71 | 52 | 63 | 70 | 325 |
9 | 35 | 65 | 58 | 50 | 66 | 274 |
10 | 42 | 28 | 46 | 29 | 44 | 189 |
11 | 57 | 25 | 38 | 41 | 50 | 211 |
12 | 55 | 30 | 40 | 32 | 45 | 202 |
13 | 49 | 61 | 66 | 45 | 62 | 283 |
14 | 73 | 95 | 81 | 85 | 77 | 411 |
15 | 63 | 36 | 74 | 77 | 65 | 315 |
16 | 50 | 41 | 60 | 67 | 53 | 271 |
17 | 42 | 71 | 55 | 52 | 38 | 258 |
18 | 57 | 55 | 53 | 46 | 52 | 263 |
19 | 81 | 47 | 78 | 48 | 78 | 332 |
20 | 66 | 45 | 49 | 40 | 63 | 263 |
平均値 | 56 | 51 | 59 | 51 | 60 | 276 |
変数 | 第1因子 | 第2因子 | 共通性 | 独自性 |
---|---|---|---|---|
国語 | 0.736500 | -0.352968 | 0.667019 | 0.332981 |
数学 | 0.619721 | 0.697631 | 0.870743 | 0.129257 |
英語 | 0.805787 | -0.055111 | 0.652330 | 0.347670 |
理科 | 0.611298 | 0.373090 | 0.512882 | 0.487118 |
社会 | 0.794874 | -0.447917 | 0.832454 | 0.167546 |
寄与率 | 0.516258 | 0.190828 | 0.707086 | 0.292914 |
第1因子 | 第2因子 | α係数 | 標準偏差 | |
---|---|---|---|---|
第1因子 | 1 | 0.010256 | 0.710866 | 0.957201 |
第2因子 | 0.010256 | 1 | 0.000721 | 0.918749 |
因子分析を適用するデータは各項目の単位が異なることが多いので、普通は各項目を標準化してから因子を計算します。 そして図17.1.1からわかるように、原理的に因子と主成分はよく似たものになるはずですから主成分を利用して因子を推測します。 そのため因子分析の結果は第16章の第3節で説明した各項目を標準化してから主成分を求めた結果と似たものになります。 (→16.3 特殊な主成分分析)
主成分と同様に、原理的には因子も項目数と同じ数だけ求めることができます。 しかし因子数が少ないほど結果を解釈しやすいので、適当な基準で因子数を制限します。 その基準としては次のようなものがあります。
1番めの基準の初期固有値というのは、因子を推測するために最初に求める主成分の固有値のことです。 この主成分は各項目を標準化してから求めたものなので全ての主成分の固有値を合計すると項目数に一致し、平均値は1になります。 そして固有値は主成分の分散つまりバラツキ具合を表し、この値が大きいほど多くの情報を持っていることを表します。 したがって主成分の固有値が1以上あるということは、その主成分が平均以上の情報を持っているということになります。
2番めの基準は固有値が正の因子だけ抽出するということです。 主成分と違って因子の固有値は負になることがあります。 しかし固有値が負の因子はデータの誤差を反映している可能性が高いので採用しない方が無難です。
3番目の基準は科学的な知見または仮定に基いて因子の数を指定する方法です。 例えば表16.1.1のデータでは、先行研究や科学的知見に基づいて学力には「文化系学力」と「理科系学力」の2種類があるということがわかっているとしたら、最初から因子数を2つと決めて因子を推測します。
因子の意味を解釈するには因子と各項目との相関係数である因子負荷量(factor loading)を利用します。 表17.1.1と図17.1.2から第1因子は全体的な学力を表し、第2因子は「数学・理科」の学力と「国語・英語・社会」の学力のどちらが優勢かというタイプを表していると、一応は解釈できそうです。 しかし因子は主成分のような概括評価項目ではないので、このような解釈ではわかりづらい時があります。 そこで少々強引ですが第1因子は「国語・英語・社会」の学力を表し、第2因子は「数学・理科」の学力を表していると解釈することもできます。 因子が説明変数つまり原因項目であるということを考えると、こちらの解釈の方がわかりやすいと思います。
表17.1.1の共通性(communality)は主成分の寄与率に相当するものであり、第1因子の因子負荷量と第2因子の因子負荷量をそれぞれ平方して合計した値です。 この値は図17.1.2において、原点から各プロットまでの平方距離に相当します。 独自性(uniqueness)は1から共通性を引いた値であり、2つの因子では説明できない情報の割合を表します。 この値は図17.1.2において、原点と各プロットを通る直線を引き、その直線と半径1の円の交点と各プロットまでの平方距離に相当します。 独自性は残差分散(residual variance)とも呼ばれ、残りの因子の情報と標本誤差を合わせたものになります。
表17.1.1の寄与率は各因子の因子負荷量を平方して平均した値です。 そして全ての因子の寄与率を合計した値が共通性の寄与率になり、1から共通性の寄与率を引いた値が独自性の寄与率になります。 寄与率は観測されたデータの全情報のうち因子によって説明できる情報の割合を表します。 上記の結果から第1因子は5教科の情報の約52%を説明でき、第2因子は約19%の情報を説明できることと、これら2つの因子で全情報の約71%を説明できることがわかります。
因子スコア(因子得点)は被験者ごとに求めた因子の具体的な値であり、上記の結果のように主成分スコアと似た式で推測します。 因子は説明変数に相当するので、推測した因子スコアと因子負荷量を使って元のデータを復元できます。 例えば1番目の生徒の因子スコアを求め、その値と因子負荷量からテストの点数を復元すると次のようになります。
このデータの場合は因子が2つだけであり、独自性が約29%ほどあるので、完全に復元できるわけではないものの、ある程度(約71%程度)は復元できることがわかると思います。 またこれらの計算から因子分析の目的は元のデータをうまく説明(復元)できる因子モデルを構築することであることと、因子スコアおよび因子負荷量と元のデータの関係、さらに共通性と独自性の関係が何となくわかると思います。
因子スコアは平均値が0で標準偏差が1になり、お互いに独立になることが理想です。 しかし因子スコアは誤差のある推測値なので平均値は0にできるものの、標準偏差は近似的に1にしかできず、因子スコア同士の相関係数も近似的に0にしかできません。 これらのことは表17.1.2を見るとわかると思います。
また因子についてもクロンバックのα係数を計算することができます。 しかし主成分と同様に因子の信頼性の指標というよりも、因子の特徴を判断するための参考として用いる方が良いと思います。 (→16.2 主成分分析結果の解釈)
原理的に因子分析は厳密な解を求めることができず、近似解しか求められません。 そのため近似計算の方法によって色々な手法があり、それぞれ結果が微妙に異なります。 そこで手法と計算条件を色々と変えて試行錯誤的に何度も計算し、最も解釈しやすい結果を選ぶのが普通です。 (注2)
ここで次のような前提を置き、この前提で求めた解を直交解といいます。 ただし、場合によっては各スコアが独立という前提を置かない斜交解を求めることもあります。
各データが標準化されているので、データの相関行列は単純積和行列によって求めることができます。
因子を最大値であるp個まで求めると、次のようにして因子スコアを求めることができます。
これらの関係から、共通性と独自性を何らかの方法で決定できれば因子負荷量と因子スコアを求められることがわかります。 ところが相関行列は観測データから求められますが、残差分散行列は求めることができず、共通性と独自性を一意に決定することはできません。 そこで普通は共通性と独自性に色々な制約条件をつけて因子負荷量を求めます。 その制約条件によって因子分析には色々な手法があり、それぞれの解は微妙に異なります。
ここでは主成分分析との整合性が高い主因子法(PFA:Principal Factor Analysis)について説明しましょう。 この手法では因子負荷量の平方和を最大にするという条件で因子負荷量を求めます。
以上のように、因子負荷量を求めることは特殊な相関行列R0の固有ベクルトを求めることに帰着します。 独自性を無視してD = 0とするとR0 = Rとなり、各項目を標準化した時の主成分分析と一致します。 これを主成分法といい、この時の解を主成分解といいます。
通常はR0の対角要素つまり共通性に適当な初期値を代入し、反復計算によって因子負荷量を求めます。 反復計算をせずに最初の解をそのまま用いる方法を狭義の主因子法と呼び、反復計算を行う方法を反復計算主因子法と呼ぶこともあります。
この反復計算法をトムソンの反復分解法(Thomson's refactoring method)といいます。 この手法はハーマン(Harman)の最小残差法(Minres法:Minimizing residual method)と実質的に同等になります。
因子数qを决定する基準としては次のようなものがあります。
表16.1.1のデータについて実際に計算してみましょう。
因子スコアは、本来はF = [X - E]R0-1Lとして求めるべきです。 しかし独自因子スコア行列Uを合理的に求めることができないので、便宜的に上記の式で推測します。 これをハーマンの回帰法といい、真の因子スコアとの誤差を最小にするための手法です。 ただし回帰法で求めた場合、因子スコアの分散が1にならず、因子スコア同士が独立にならず、因子スコアと独自因子スコアも独立になりません。 その代わりXの尺度変換(重みを付ける)に対しては不変性があり、因子スコアから元のデータを復元した値は因子軸を回転しても同じ値になります。
因子スコアFが求められれば、X = FL'として元のデータを復元することができます。 ただしこの式で復元したXは標準化された値なので、実測値のデータに戻すには各項目の標準偏差を掛けてから平均値を足す必要があります。
以上からDに適当な初期値を代入し、[D-1RD-1]の固有値と固有べクルトを求めることによってLの最尤推定値を求めることができます。 そしてこれを利用してDを更新し、反復計算によって最尤解を求めることができます。 ただし固有値の中に1以下のものがあると[Λ - I]1/2が不適切になってしまい、最尤推定値が求められません。 そのため1よりも大きい固有値だけを用いて最尤解を求めます。 最尤法の手順を整理すると次のようになります。
最尤法では尤度比検定を利用して因子モデルによって観測されたデータがうまく復元できるかどうかの検定、つまり因子モデルと観測データのズレを検定することができます。 ただし「ズレが小さい」と結論するためには尤度比の許容範囲を決めて統計的仮説検定を行う必要があります。 しかし尤度比の許容範囲を決めるのは困難なので、普通は有意性検定になってしまいます。 そのため実質的な意味はあまりありませんが、一応、紹介しておきます。
表16.1.1のデータについて独自性の上限値を初期値にして計算すると、11回の反復計算で収束して次のような結果になります。 主因子法と同じ初期値を用いたので、よく似た結果になっています。 そして尤度比が約0.82であり、尤度比検定の結果は有意水準5%で有意ではありません。 このことから、一応、因子モデルと観測データのズレはあまり大きくない、つまり因子数は足りていると解釈できます。
変数 | 第1因子 | 第2因子 | 共通性 | 独自性 |
---|---|---|---|---|
国語 | 0.762209 | -0.303142 | 0.672857 | 0.327143 |
数学 | 0.548393 | 0.700123 | 0.790907 | 0.209093 |
英語 | 0.818211 | 0.017146 | 0.669763 | 0.330237 |
理科 | 0.591404 | 0.443341 | 0.546310 | 0.453690 |
社会 | 0.818538 | -0.383268 | 0.816899 | 0.183101 |
寄与率 | 0.514186 | 0.185161 | 0.699347 | 0.300653 |