メニュー
yu-to
管理者
本ブログを運営しているyu-toと申します。

高校数学の解説や公務員試験問題の解説、データサイエンスについての記事を書いていきます!

「データサイエンス×教育」に興味があり、日々勉学に励んでいます。

少しでも役に立つ情報の発信をしていきますのでぜひ読んでください。

また、同志からのお声がけはとても励みになります。ぜひ、コメントやメール、SNS等でご連絡ください!
カテゴリー
統計学初学者サポートこちらをクリック

【統計学の応用】因子分析

目次

データアナリストへの道

少し数字に強い理系大学卒から駆け出しデータアナリストになるまでに、実際に読んだ50冊以上の本から厳選して、基本的な理論から実践的スキルまでを身につけられるようにデータ分析初学者向けにまとめました。>>記事を読む

因子分析の目的と意義

因子分析とは、データの中にあるたくさんの項目が、どんな共通の「隠れた要素」で説明できるかを見つける方法です。

因子分析は、観測された多数の変数が少数の潜在的な共通因子に依存しているという仮定のもと、変数間の構造を簡略化するために使われます。

例えば、心理学で多数の質問に対する回答データから「性格の因子」を抽出したり、マーケティングでは顧客の購買行動の基盤にある要因を特定するために使われます。

今回は計算手順を紹介しますが、実際にデータ分析を行う際にはより複雑な計算が必要になりため、計算機で計算することがほとんです。しかし、内部でどのような計算がされているのかをイメージするのは大変重要なことですので手元で実際に計算しながら読み進めてみてください。

因子分析の基本モデル

今回は変量 \(3\) つと仮定して話しを進めます。

観測変数 \(x, y, z\) が潜在変数(共通因子) \(F\) によって説明されると仮定します。基本的な因子分析モデルは次のように表されます。

$$x = aF + e_x$$ $$y = bF + e_y$$ $$z = cF + e_z$$

  • \(x, y, z\):観測された変数
  • \(F\):潜在因子(共通因子)
  • \(a, b, c\):因子負荷量
  • \(e_x, e_y, e_z\):独自因子

このモデルに基づき、変数 \(x, y, z\) は共通因子 \(F\) の線形結合として表現されます。

因子負荷量 \(a, b, c\) を求めることが主旨になります。

因子負荷量の算出手順

今回は、共通因子が \(1\) つとする第一因子モデルについて解説を進めます。

まずは以下の計算を進めます。

\(S_x^2=V(aF+e_x)\)
 \(=a^2 V(F)+V(e_x)+aCov(F, e_x)\)

\(S_{xy}=Cov(aF+e_x, bF+e_y)\)

\(=abV(F)+aCov(F, e_y)+bCov(F, e_x)+Cov(e_x, e_y)\)

このままだと計算が複雑なので \(2\) つの仮定により簡単に示します。

仮定①:共通因子と独自因子は独立である

$$Cov(F, e_x) = Cov(F, e_y) = Cov(F, e_z) = 0$$ $$Cov(e_x, e_y) = Cov(e_x, e_z) = Cov(e_y, e_z) =0$$

※ 独立の場合、共分散が \(0\) になります。

仮定②:標準化されている

データが標準化されていることを仮定すると、

$$S^2_x=S^2_y=S^2_z=1$$ $$V(F)=1$$

※ 標準化すると、期待値は \(0\)、分散は \(1\)

$$1=a^2+V(e_x), S_{xy}=ab$$

仮定①と仮定②より

\begin{equation} \left\{ \, \begin{aligned} 1 & = a^2+V(e_x)\\ 1 & = b^2+V(e_y)\\ 1 & = c^2+V(e_z)\\ \end{aligned} \right. \end{equation} \begin{equation} \left\{ \, \begin{aligned} S_{xy} & = ab\\ S_{yz} & = bc\\ S_{xz} & = ca\\ \end{aligned} \right. \end{equation}

以上の式から \(a, b, c\) を求めます。

例)
\(S_{xy}=0.756, S_{yz}=0.760, S_{xz}=0.770\) が与えられていたとすると、

\(ab\times bc \times ca =a^2b^2c^2=0.756\cdot 0.76\cdot 0.77=0.442\)

\(abc=0.664\)

よって、\(a=0.874, b=0.862, c=0.878\)

因子分析モデルに当てはめると、

$$x = 0.874F + e_x$$ $$y = 0.862F + e_y$$ $$z = 0.878F + e_z$$

▽解釈
各変数の因子負荷量 (\(0.874, 0.862, 0.878\))は、共通因子 \(F\) がそれぞれの変数 \(x, y, z\) にどの程度影響を与えているかを示しています。これらの値が高いことから、共通因子 \(F\) はこれらの観測変数の変動の大部分を説明できることがわかります。

まとめ

因子分析は、複数の観測変数を少数の因子に集約し、データの構造を解明するための強力なツールです。因子負荷行列や共通性、固有値などを用いてデータを効率的に要約することで、データの本質を捉えることが可能です。

因子分析を正確に理解することで、より効果的な多変量解析を実施できるようになるでしょう。

この記事をベースに、さらに具体的な例や実際のデータを用いた分析手法の解説を追加することも可能です。

さいごまで読んでいただきありがとうございました!

このブログは統計学を学びたい学生/社会人向けに記事を書いています。

【最新】こちらの記事がおすすめ!

>>

  • URLをコピーしました!
目次