玄関雑学の部屋雑学コーナー統計学入門

17.2 因子軸の回転

(1) バリマックス回転とプロマックス回転

第1節では因子負荷量に基づいて第1因子は「国語・英語・社会」の学力を表し、第2因子は「数学・理科」の学力を表すと解釈しました。 しかしこの解釈は少々強引です。 そこで因子分析では因子の解釈が容易になるように因子軸の回転という操作を行います。

図17.1.2の因子負荷量のプロットでは数学と理科のプロットをひとつのグループとみなし、英語と国語と社会のプロットをもうひとつのグループとみなすことができます。 そこで第1因子軸F1と第2因子軸F2の角度を直角に保ったまま、右回りに約37度回転つまり約-37度回転すると、F1が英語と国語と社会のプロットの下まで回転し、F2が数学と理科のプロットの近くまで回転し、5つのプロットが全て第1象限に入ります。

そのように因子軸を回転したものが図17.2.1であり、回転前後の因子負荷量を表にしたものが表17.2.1です。 この回転後の座標軸では第1因子は「国語・英語・社会」の学力を表し、第2因子は「数学・理科」の学力を表すという解釈がさらにもっともらしくなります。 このように因子軸の角度を直角に保ったまま行う回転を直交回転といいます。 直交回転ではプロット同士の相対的位置は変わりません。

図17.1.2 因子負荷量のプロット
図17.2.1 因子負荷量のプロット(バリマックス回転後) 図17.2.2 因子負荷量のプロット(プロマックス回転後)
表17.2.1 因子軸回転前後の因子負荷量と共通性・独自性
変数回転前バリマックス回転後プロマックス回転後共通性独自性
第1因子第2因子第1因子第2因子第1因子第2因子
国語0.736500-0.3529680.8018100.1553040.829523-0.0316030.6670190.332981
数学0.6197210.6976310.0820960.929518-0.1235380.9784320.8707430.129257
英語0.805787-0.0551110.6800010.4358080.6341150.2999460.6523300.347670
理科0.6112980.3730900.2686850.6638450.1383690.6467830.5128820.487118
社会0.794874-0.4479170.9052610.1138230.950588-0.1017810.8324540.167546

直交回転には色々な種類があり、ここでは因子負荷量の分散(variance)合計を最大(max)にするという条件で回転するバリマックス回転(varimax rotation)を用いました。 表17.2.1のパリマックス回転後の因子負荷量を見ると、回転前と比べて因子負荷量の大小関係が極端になり、値のバラツキ具合つまり分散が大きくなっていることがわかります。 しかしこの回転は直交回転なので、原点からプロットまでの平方距離をプロットの座標成分の平方和によって求めることができます。 そのため因子軸の回転前と同様に、平方距離つまり共通性を座標成分の平方和つまり因子負荷量の平方和によって求めることができます。 (注1)

直交回転に対して、F1とF2の角度を変えながら回転する操作を斜交回転といいます。 図17.2.2は代表的な斜交回転であるプロマックス回転(promax rotation)を行ったものです。 この回転はバリマックス回転を行った後で、さらにF1を英語と国語・社会の間になるように左回りに約12.5度回転し、F2を数学と理科のプロットの間になるように右回りに約12.5度回転します。

その結果、最初の因子軸から見るとF1は右回りに約24.5度回転つまり約-24.5度回転し、F2は右回りに約49.5度回転つまり約-49.5度回転したことになり、F1とF2の角度は約65度になります。 そして表17.2.1のプロマックス回転後の因子負荷量を見ると、値のバラツキ具合がバリマックス回転後よりもさらに極端になっていることがわかります。

プロマックス回転は、バリマックス回転を行った後で、因子負荷量の大小関係をさらに極端にして単純構造——各項目について1つの因子負荷量だけが1で、他は0であるような単純な構造——に近くなるようにプロクラステス回転(Procrustes rotation)を行う斜交回転です。

プロクラステス回転は単純構造をした任意の仮想的ターゲット行列を事前に設定し、実際の因子軸をそれに合わせるように無理矢理回転するという、かなり強引で恣意的な回転です。 しかし事前に仮想的ターゲット行列を設定するのは、現実問題としてかなり困難です。 そこでバリマックス回転を行った後の因子負荷量を3〜4乗し、大小関係をさらに極端にしたものを仮想的ターゲット行列として使用するように改善した手法がプロマックス回転です。 「プロマックス」という名称は、プロクラステス回転とバリマックス回転を合わせて行うことに由来します。 (注2)

このように斜交回転は直交回転よりも因子の解釈が容易になるものの、因子軸が直交しなくなって因子同士が独立ではなくなります。 その結果、各因子を独立に評価し、独立に検討することができなくなってしまいます。 このことは後で詳しく説明します。 また因子軸を直交回転しても斜交回転しても共通性と独自性は変わりません。 しかし斜交回転すると原点からプロットまでの平方距離を座標成分の単純な平方和で求めることができず、共通性と因子負荷量の平方和が一致しなくなります。

ちなみに因子軸の回転と同じ操作を主成分軸についても行うことができます。 実際、主成分分析のオプションとして主成分軸の回転操作をサポートしている統計ソフトもあります。 しかし主成分分析は概括評価をするための手法なので、主成分軸の回転は目的にそぐわないところがあります。 そのため個人的には主成分軸を回転する必要はないと思います。

(2) 回転前後の因子スコア

因子軸を回転すると因子負荷量が変わるので因子スコアが変わります。 そして斜交回転では因子同士が独立ではなくなります。 因子軸回転後の因子スコアの計算式は次のようになります。

○第1因子
バリマックス回転後の因子スコア:f1i = -4.1561316 + 0.0192382xi1 - 0.0080876xi2 + 0.0126849xi3 + 0.0007233xi4 + 0.0451850xi5
プロマックス回転後の因子スコア:f1i = -4.516657 + 0.0184538xi1 + 0.0007773xi2 + 0.0131975xi3 + 0.0025709xi4 + 0.042352xi5
xi1、xi2、xi3、xi4、xi5:i番目の生徒の国語、数学、英語、理科、社会の点数
○第2因子
バリマックス回転後の因子スコア:f2i = -2.0784928 - 0.0013065xi1 + 0.0385689xi2 + 0.0037258xi3 + 0.0083123xi4 - 0.0074821xi5
プロマックス回転後の因子スコア:f2i = -2.8935868 + 0.002703xi1 + 0.0360603xi2 + 0.0062702xi3 + 0.0082821xi4 + 0.0020307xi5
表17.2.2 因子軸回転前後の因子スコア
生徒ID回転前因子スコアバリマックス回転後因子スコアプロマックス回転後因子スコア
f1f2f1f2f1f2
11.460610.3796150.9469221.175091.186551.34561
20.2090761.9989-1.022981.72998-0.6085011.48083
3-0.778036-0.815521-0.139011-1.11852-0.386563-1.12308
4-1.714420.36327-1.59336-0.729652-1.71649-1.04359
50.217509-1.454951.04152-1.038960.781696-0.800928
60.03015160.143009-0.06098510.132821-0.0296110.117325
70.851495-1.506161.58121-0.7023681.38318-0.359941
80.8284710.3359770.4652180.7634240.6247270.843172
90.1058830.569722-0.2543880.520655-0.1310110.45674
10-1.36669-0.194189-0.981959-0.970203-1.1747-1.15241
11-1.03791-0.575354-0.490813-1.08046-0.720842-1.15864
12-1.16899-0.272046-0.776792-0.91495-0.962366-1.0559
130.1896340.315361-0.03558080.3662620.04755070.35097
141.987130.9195151.048141.92241.452952.09769
150.354799-0.6901310.696121-0.3428970.601375-0.191416
16-0.3645620.0480982-0.321454-0.178568-0.353336-0.241226
17-0.6099821.64513-1.470040.957868-1.217480.632917
18-0.2659750.395387-0.4491810.159093-0.4020.0626941
191.10321-1.149041.57062-0.2655771.470910.0652015
20-0.0314199-0.4565960.246795-0.3854340.153968-0.326018
平均値000000
図17.2.3 因子スコアのプロット
図17.2.4 因子スコアのプロット(バリマックス回転後) 図17.2.5 因子スコアのプロット(プロマックス回転後)
表17.1.2 因子スコア間相関係数とα係数・標準偏差
因子スコアf1f2α係数標準偏差
f110.0102560.7108660.957201
f20.01025610.0007210.918749
表17.2.3 因子スコア間の相関係数とα係数と標準偏差(因子軸回転後)
バリマックス回転後プロマックス回転後
因子スコアf1f2α係数標準偏差f1f2α係数標準偏差
f110.0421890.5287660.939147510.4553570.6484470.89806
f20.04218910.2112600.93719530.45535710.3559090.893528

バリマックス回転は直交回転なので、本来は因子スコア同士の相関係数は変わらないはずです。 しかし因子スコアは誤差のある推測値なので、因子スコア同士の相関係数がわずかに大きくなっています。 それに対してプロマックス回転は斜交回転なので、因子スコア間の相関係数がかなり大きくなっています。 この回転では因子軸F1とF2の角度が約65度なので、第1因子と第2因子の相関係数はcos(65) = 0.42になるはずです。 しかしやはり因子スコアの推測誤差のせいで実際の相関係数は約0.46になっています。 そのため図17.2.3と比べると、図17.2.4はプロットがほんのわずかに右上がりの楕円状に分布し、図17.2.5はかなり右上がりの楕円状に分布しています。

図17.2.3、図17.2.4、図17.2.5のグラフで、例えば14番の生徒に注目してみましょう。 この生徒の回転前の第1因子スコアは1.98713、第2因子スコアは0.919515です。 それに対してバリマックス回転後は第1因子スコアが1.04814、第2因子スコアが1.9224になり、2つの因子スコアの大小関係が逆転しています。 またプロマックス回転後は第1因子スコアが1.45295、第2因子スコアが2.09769になり、やはり2つの因子スコアの大小関係が逆転しています。 そしてこの生徒のテストの点は国語が73点、数学が95点、英語が81点、理科が85点、社会が77点で、合計が411点です。

回転前の第1因子は「国語・英語・社会」の学力ではなく全体的な学力を表していて、第2因子は「数学・理科」の学力ではなく「数学・理科」の学力と「国語・英語・社会」の学力のどちらが優勢かというタイプを表しています。 この生徒は合計点が平均よりも高いので第1因子スコアが大きく、数学と理科の点数が国語と英語と社会の点数よりも高いので第2因子が少し大きいわけです。

しかしバリマックス回転後は第1因子が「国語・英語・社会」の学力を表し、第2因子は「数学・理科」の学力を表しています。 そのため第1因子スコアが小さくなり、第2因子スコアが第1因子よりも大きくなったわけです。 ただしどの教科の点数も平均点よりは高いので、第1因子スコアも第2因子スコアも正の値になっています。

またプロマックス回転では2つの因子が独立ではなくなるので、第1因子スコアが高い時は第2因子スコアも高くなり、どちらの因子にも全体的な学力を表す要素が入り込みます。 その結果、全ての教科の点数が平均値より高い14番の生徒は、第1因子スコアも第2因子スコアもバリマックス回転後の因子スコアよりも大きくなり、図17.2.5では右上の少し離れたところにプロットされています。 このように因子同士が独立ではないと2つの因子を独立に評価することはできず、因子スコアの解釈が複雑になってしまいます。

これらのことから回転前の因子スコアは主成分スコアのような概括評価に近いのに対して、バリマックス回転後の因子スコアはちょうど因子の含有量を表す値のように解釈できるので、因子スコアという名称にふさわしい値であることがわかると思います。 そしてプロマックス回転後は各因子を独立に評価できなくなるので結果の解釈が複雑になり、あまり合理的ではないこともわかると思います。

因子同士が独立ではないということは、因子同士が情報を共有していて同じように変動する部分があるということです。 例えばお互いに独立ではない2つの因子と項目の関係を模式図にすると次のようになります。

図17.2.6 因子間に相関がある時の模式図

模式図で表したように、お互いに独立ではない第1因子(例えば国語・英語・社会の学力)と第2因子(例えば数学・理科の学力)は、第1因子だけに存在する部分因子A(例えば読解力を表す部分因子)と、第2因子だけに存在する部分因子B(例えば論理的思考力を表す部分因子)と、2つの因子に共通する部分因子C(例えば知的好奇心を表す部分因子)に分解できます。 そして2つの因子が各項目に影響を及ぼしている状態を正確に分析するためには、これら3種類の部分因子が各項目にどのような影響を及ぼしているかを明らかにする必要があります。 つまり因子と各項目の関係を正確に分析するためには、最終的にはお互いに独立した因子と各項目の関係を明確にする必要があるわけです。

そもそも因子分析は、複雑に絡み合った多くの項目の変動を独立した少数の因子によって説明するために開発された手法です。 そのため因子同士が独立ではないと因子の解釈が複雑になり、本来の目的から外れてしまいます。 そして因子同士が独立ではないと、最終的にはお互いに独立した部分因子にまで分解して分析する必要があります。

また第3節で説明する下位尺度は、究極の単純構造をした因子負荷量を持つ疑似因子に相当します。 下位尺度はお互いに独立ではない可能性が高いものの、因子よりも簡単にスコアを求めることができ、しかも解釈が容易であるという大きな利点があります。 そのため現在の心理学分野では因子分析結果に基づいて下位尺度を確立し、それによって尺度開発を行うのが主流になっています。

これらのことを考慮すると、因子の解釈が多少容易ではあるものの因子同士が独立ではなく、下位尺度と比べて計算も解釈も難しい斜交回転よりも、因子同士が独立という下位尺度にはない特徴を持つ直交回転の方が合理的で有用だと思います。


(注1) バリマックス回転は次のような手順で行います。 (→「ベクトルと行列」の「7. 逆行列」)

○条件
平方した因子負荷量の分散: → 最大化
(k=1,…,q)
※この時、因子負荷量の大小があまり不均一にならないように、あらかじめ因子負荷量を規準化しておく。 そして因子軸の角度が変わらないように直交回転で最大化する。 これを規準バリマックス回転(normal varimax rotation)という。
規準化後の因子負荷量:
← 共通性
○手順
(1) 因子負荷量を規準化する。

以後の説明ではljk'をあらためてljkと表す。
(2) 第k因子と第k'因子を組にして回転角θを求める。
直交回転用正規直交行列:
回転後の因子負荷量: (j = 1,…,p)
平方した因子負荷量の分散合計:
と置いて、Q(θ)が最大になる時のθを求めると次のようになる。

        
分子と分母の符号から表17.2.4に従って-π < 4θ < πを選び、θを決定する。
表17.2.4 4θの象限
 分母
-+
分子+第2象限第1象限
-第3象限第4象限
(3) 第k因子と第k'因子の因子負荷量を回転後の値で更新する。
ljk(1) = mjk = ljk(0)cos θ + ljk'(0)sin θ   ljk'(1) = mjk' = -ljk(0)sin θ + ljk'(0)cos θ (j = 1,…,p)
(4) 1番と2番の操作を全ての2つの因子の組み合わせについて実行する。
組み合わせ数:
(5) 収束条件を満足しているかどうか判定する。
< εの時収束 (ε = 10-3〜6)
(6) 収束条件を満足するまで2〜5番の手順を繰り返す。
(7) 収束後、回転後の因子負荷量を逆規準化する。
ljk' = mjk' hj
ljk':逆規準化した回転後の因子負荷量   mjk:回転後の因子負荷量  hj:回転前の共通性の平方根

この操作は因子負荷量行列を適当な(q,q)型の正規直交行列を用いて直交変換し、回転後の因子負荷量行列に変換したことに相当します。


' = '' = -1'   (∵-1 = '…正規直交行列)
= LP    = [']-1
MM' = LP''=LIq' = LL' = 0 … 回転後も共通性と独自性は変わらない(回転の不変性)

回転後も共通性と独自性が変わらないということは、因子軸を直交回転(または斜交回転)して得られる因子負荷量行列は全て因子分析の解であるということを意味します。 因子を抽出する時は共通性を最大にする、または独自性を最小にするという基準で計算します。 そのため共通性と独自性が同じ解は全て同等ということになり、因子軸を直交回転して得られる因子負荷量行列は全て解になり得ます。 そのため因子分析の解は反復計算の初期値に強く影響され、初期値が異なれば異なる解に収束することも大いに有り得ます。

しかし因子負荷量の分散を最大にする解は一意に決まることが多いので、共通性と独自性がほぼ同じで因子負荷量行列だけが異なる色々な解をバリマックス回転すると、よく似た解になることがあります。 この意味でも因子軸を直交回転するのは有意義です。

表16.1.1のデータから主因子法で得られた因子軸を、実際に規準バリマックス回転してみましょう。

(1) 因子負荷量を規準化する。

(2) 第1因子と第1因子を組にして回転角θを求める。
A = 2.47444  B = 0.111379  C = -1.26977  D = -1.55336   
表17.2.4から4θは第3象限(-0.5π 〜 -π) → tan-1(0.667614)-π = 0.5886582 - 3.141593 = -2.552935
(ラジアン単位、-36.5681度)
(3) 因子が2つなので、これで回転角と回転用の正規直交行列が决定する。


(4) 回転後の因子負荷量を求める。

(5) 回転後の因子負荷量を逆規準化する。

(注2) プロマックス回転は次のような手順で行います。

(1) バリマックス回転を行い、回転後の因子負荷量行列を求める。
バリマックス回転後の因子負荷量行列をと表す。
(2) 因子負荷量行列を元にしてプロクラステス回転用ターゲット行列を作成する。
ターゲット行列:
… 因子負荷量を規準化し、その絶対値をm乗して元の符号を付けたもの
共通性:   sgn(ljk):ljkの符号を返す関数、sgn(0) = 0
※因子負荷量を規準化するのは、規準バリマックス回転と同様に因子負荷量の大小があまり不均一にならないようにするため。 ベキ乗数mは3〜4が良いといわれていて、m = 4がよく用いられる。
※オリジナルのプロクラステス回転では次のような単純構造をしたターゲット行列が用いられる。 これをそのまま因子負荷量行列にした時の因子スコアが下位尺度スコアに相当する。
ターゲット行列:
※ちなみに「プロクラステス」はギリシャのアッチカにいた伝説的盗賊プロクルーステース(Procrustes)のことであり、プロクラステス回転はプロクルーステースのベッド(無理矢理、基準に一致させる)という言葉に由来する。
(3) 因子負荷量行列とターゲット行列から正規化前変換行列を求める。
回転後の因子負荷量行列とターゲット行列の差: = - = LT -
差の平方和合計:Q() = tr(') → 最小化
Q() = tr(') = tr([LT - ]'[LT - ]) = tr('') - tr('') - tr('LT) + tr(')

2[']-2' =
= [']-1'
※この最小2乗解は正規化されていないので0と表す。
(4) 正規化前変換行列の列ベクトルを正規化して変換行列を求める。
= 0
正規化行列(対角行列):   
tkk0-1:[0'0]-1の対角要素
(5) 因子負荷量行列に変換行列を右から掛けて変換後因子負荷量行列を求める。
=LT
は正規直交行列ではないので回転後のは直交行列ではなくなり、因子軸間に相関が生じて因子は独立ではなくなる。 そのためこれを斜交プロクラステス回転といい、のことを因子パターン行列と呼ぶことがある。 そして[']-1の各要素が因子軸間の相関係数になる。
因子軸間相関行列:
因子軸間の角度:θij=cos-1(rij)   rij=cos(θij)
(6) 因子スコア計算用の因子構造行列を求める。
因子構造行列:s = MRff
因子スコア行列:=XR-1s = XR-1MRff
斜交回転後の因子スコアは因子負荷量行列ではなく因子構造行列から求めるので注意。
を求める時に直交条件を追加すると、の最小2乗解は次のような正規直交行列になる。

対称行列の固有値分解:
  
1、…、q:['']の規準固有ベクトル   λ1、…、λq:['']の固有値
= LT
※このを用いると回転後のは直交行列のままである。 これを直交プロクラステス回転という。 プロマックス回転の場合、直交プロクラステス回転はあまり意味がいないので、通常は斜交プロクラステス回転を用いる。

表16.1.1のデータについて実際に計算すると次のようになります。

(1) バリマックス回転を行い、回転後の因子負荷量行列を求める。

(2) m = 4としてターゲット行列を作成する。

(3) 正規化前変換行列を求める。

(4) 正規化前変換行列を正規化して変換行列を求める。

(5) 変換後因子負荷量行列を求める。


(6) 因子スコア計算用の因子構造行列を求める。