因子分析

因子分析（いんしぶんせき、英: factor analysis）は、分析対象を多数の項目で測定・評価したデータ(=観測データ)の連成を分析し、データの裏にある本質的な原因(=因子)を統計的に推定する多変量解析の手法のひとつ。 心理学におけるパーソナリティの特性論的研究など、心理尺度の研究手法として使用される。 モデル式の形状などから主成分分析と混同されることもあるが、主成分分析は観測データから合成スコアを構築することが目的であるのに対し、因子分析は観測データが合成量であると仮定し、個々の構成要素を得ようとすることが目的であり、両者は因果関係を異にする。 適用の例として「器用さ」の個人差の検討が考えられる。A, B, Cの3人はそれぞれ「ジグソーパズル」「彫刻」「時計の分解」をある速度で器用にこなすことができるとしたときにA, B, Cの器用さをどのように評価すればよいかを考える場合、3人が3つのテストにかかった時間に対して因子分析を適用することで、3つの課題に共通する潜在的な「器用さ」の導出を試みることができる。 因子分析では、因子数を事前に与える必要があるなど、数学的見地から理論的に疑義をはさむ意見もある一方、主成分分析が測定誤差を考慮要素に含めずに合成変量としている点を批判するなど、両者に関してともすれば宗教論争的な議論が絶えない。 いずれにせよ、データ解析における基本的心構えとして、算出された数値はあくまで計算によるものであり、それらの妥当性は研究者の判断に委ねられることは当然である、と理解しておく必要がある。 今、 m {\displaystyle m} 個の確率変数の組、 x 1 , … , x m {\displaystyle x_{1},\dots ,x_{m}} が得られたとする。また、各変数の母平均はそれぞれ μ 1 , … , μ m {\displaystyle \mu _{1},\dots ,\mu _{m}} であるとする。 これらの変数を、p個の共通因子 f 1 , … , f p {\displaystyle f_{1},\dots ,f_{p}} で x j − μ j = λ j 1 f 1 + λ j 2 f 2 + ⋯ + λ j p f p + ε j ( j = 1 , … , m ) {\displaystyle x_{j}-\mu _{j}=\lambda _{j1}f_{1}+\lambda _{j2}f_{2}+\dots +\lambda _{jp}f_{p}+\varepsilon _{j}\qquad (j=1,\dots ,m)} と説明する線形モデルが因子分析法である。 ここで、 λ 11 , λ 12 , … , λ m p − 1 , λ m p {\displaystyle \lambda _{11},\lambda _{12},\dots ,\lambda _{m{p-1}},\lambda _{mp}} は因子負荷量と呼ばれ，通常の多変量回帰分析における偏回帰係数に相当する。また、 ε j {\displaystyle \varepsilon _{j}\,} は変数 x j {\displaystyle x_{j}\,} の独自因子と呼ばれ、通常の線形回帰モデルにおける観測誤差とは別の仮定がおかれる。 先のモデルをベクトルと行列を用いて表すと、 x − μ = Λ f + ε {\displaystyle \mathbf {x} -{\boldsymbol {\mu }}={\boldsymbol {\Lambda }}\mathbf {f} +{\boldsymbol {\varepsilon }}} となる。以降、各種の仮定やモデルの性質はこちらを基本として説明する。 共通因子 f {\displaystyle \mathbf {f} } と独自因子 ε {\displaystyle {\boldsymbol {\varepsilon }}} には f {\displaystyle \mathbf {f} } と ε {\displaystyle {\boldsymbol {\varepsilon }}} は統計的に独立 E [ f ] = 0 , V a r [ f ] = Φ {\displaystyle \mathrm {E} [\mathbf {f} ]=\mathbf {0} ,\quad \mathrm {Var} [\mathbf {f} ]={\boldsymbol {\Phi }}} E [ ε ] = 0 , V a r [ ε ] = Ψ {\displaystyle \mathrm {E} [{\boldsymbol {\varepsilon }}]=\mathbf {0} ,\quad \mathrm {Var} [{\boldsymbol {\varepsilon }}]={\boldsymbol {\Psi }}} （ Ψ {\displaystyle {\boldsymbol {\Psi }}} は対角行列; 異なる変数に対する独自因子は無相関） であるという仮定がおかれる。 この仮定を用いて，観測された変数 x {\displaystyle \mathbf {x} } の分散共分散行列を考えると V a r [ x ] = E [ ( x − μ ) ( x − μ ) t ] = Σ = Λ Φ Λ t + Ψ {\displaystyle \mathrm {Var} [\mathbf {x} ]=\mathrm {E} [(\mathbf {x} -{\boldsymbol {\mu }})(\mathbf {x} -{\boldsymbol {\mu }})^{t}]={\boldsymbol {\Sigma }}={\boldsymbol {\Lambda }}{\boldsymbol {\Phi }}{\boldsymbol {\Lambda }}^{t}+{\boldsymbol {\Psi }}} となり、観測変数の分散共分散行列がパラメータ行列で構造化されていることがわかる。 ここでは分散共分散行列が構造化されると述べたが、通常のパラメータ推定手順においては観測変数 x {\displaystyle \mathbf {x} } を前もって標準化しておくことで、分散共分散行列ではなく相関係数行列に上記の構造化を考える。 因子分析モデルには回転の不定性と呼ばれる性質がある。これは、 x − μ = Λ f + ε = Λ T − 1 T f + ε = Λ ~ f ~ + ε {\displaystyle {\begin{aligned}\mathbf {x} -{\boldsymbol {\mu }}&={\boldsymbol {\Lambda }}\mathbf {f} +{\boldsymbol {\varepsilon }}\\&={\boldsymbol {\Lambda }}\mathbf {T} ^{-1}\mathbf {T} \mathbf {f} +{\boldsymbol {\varepsilon }}\\&={\tilde {\boldsymbol {\Lambda }}}{\tilde {\mathbf {f} }}+{\boldsymbol {\varepsilon }}\\\end{aligned}}} のように、適当な行列 T {\displaystyle \mathbf {T} } を用いて変換した因子負荷行列 Λ ~ {\displaystyle {\tilde {\boldsymbol {\Lambda }}}} と共通因子 f ~ {\displaystyle {\tilde {\mathbf {f} }}} もまた因子分析モデルを（統計的な適合度を変えることなく）満たすという、解の不定性のことを指す。 Rの基本パッケージ中の多変量解析関数一覧 統計解析ツールR言語は因子分析など多変量解析を標準で行えるフリーウェア。可視化機能に優れる。マルチプラットフォーム。他統計ソフトやExcelのファイル取込やODBC接続も可能。FDAの申請にも使用を認められ、CRANという仕組みで世界の膨大なアプリケーションを無償で使える。 そのほか、SAS、SPSS等多くのソフトで因子分析を扱うことができる。 SASによる因子分析 統計プログラムとのおつきあい SPSSで因子分析を行う IBM 因子分析