統計学

因子分析

2022年9月5日

因子分析はプロマックス回転(確か直交回転軸)
バリマックス回転(斜交回転軸)
因子軸が直行なのか、斜交なのか、これによって判定が変わるが、
結局定義としては、\(\vec{F_{1}} \cdot \vec{F_{2}} = 0\)を仮定する。2つの軸が交わるということは、そもそもベクトルの直行条件。
因子軸はまさに方向で正負を定義するので、ベクトル表現ができる。

バリマックス回転の場合は、斜交だけど、確かノット1を仮定する。
そしてベクトルなので、各因子軸の大きさは1と仮定して、単位円内での分析をする。

因子分析をすることによってどんなメリットが得られるのかについては一回精査が必要かもね!

因子分析は説明変数で使用するものに対して、同じような因子のものはまとめるなどの分析をするものです。
そのため通常のデータの予測だと
目的変数yがあって説明変数が複数あるような形になりますが、
因子分析は目的が説明変数になり、説明変数が因子になるという構造です。
そして、通常のデータ予測だと
各データごとに誤差があるが、
因子分析では説明変数独自の何か影響因子を持っていたりするので、誤差みたいなものが独自因子\(\epsilon_{i}\)になります。
そして、もちろん独自でもつ因子なので、
\(cov(\epsilon_{i}, \epsilon_{j}) = 0 (i \neq j)\) # 他の独立因子と無相関
さらにその独立因子は等分散と仮定して、
\(\epsilon_{i} \sim N(0, \sigma^{2}) \) # 等分散
と仮定します。
 

これを仮定することで、最小二乗法/最尤法の仮定を満たすということなるので、最小二乗法/最尤法が使用できるということになります。
 

\begin{eqnarray}
\frac{\partial }{\partial y_{i}} \hat{y_{i}} &=& h_{ii} \\
\end{eqnarray}

因子分析とは

 

因子分析のさまざまな定義

因子分析は上で各説明変数の共通する裏の因子を見つけ出すものです。
これを実際に数式化してみます。
説明変数を\(X_{i}\)、因子を\(F_{j}\)と置いてみます。
各説明変数で同じ因子を持つと仮定します。この因子は共通で持つので共通因子と呼ばれます。
そうすると、各説明変数はいくつかの因子によって構成されると読むことができるので、
\begin{eqnarray}
\left\{
\begin{array}{l}
X_{1} = a_{11}F_{1}+a_{12}F_{2}+a_{13}F_{3} + \cdot + a_{1n}F_{m} \\
X_{2} = a_{21}F_{1}+a_{22}F_{2}+a_{23}F_{3} + \cdot + a_{2n}F_{m} \\
X_{3} = a_{31}F_{1}+a_{32}F_{2}+a_{33}F_{3} + \cdot + a_{3n}F_{m} \\
X_{m} = a_{m1}F_{1}+a_{m2}F_{2}+a_{m3}F_{3} + \cdot + a_{mn}F_{m} \\
\end{array}
\right.
\end{eqnarray}
と表現できます。
さらに、すべての説明変数がそれぞれの因子のみで説明できるわけではなく、独自の性質もあったりします。それは独自因子と呼ばれ\(\epsilon_{i}\)として、これらを加算して、
\begin{eqnarray}
\left\{
\begin{array}{l}
X_{1} = a_{11}F_{1}+a_{12}F_{2}+a_{13}F_{3} + \cdot + a_{1n}F_{m} + b_{1}\epsilon_{1} \\
X_{2} = a_{21}F_{1}+a_{22}F_{2}+a_{23}F_{3} + \cdot + a_{2n}F_{m} + b_{2}\epsilon_{2} \\
X_{3} = a_{31}F_{1}+a_{32}F_{2}+a_{33}F_{3} + \cdot + a_{3n}F_{m} + b_{3}\epsilon_{3} \\
X_{m} = a_{m1}F_{1}+a_{m2}F_{2}+a_{m3}F_{3} + \cdot + a_{mn}F_{m} + b_{m}\epsilon_{m} \\
\end{array}
\right.
\end{eqnarray}

ここで、以下と定義します。
\begin{eqnarray}
X
&=&
\begin{pmatrix}
X_{1} \\
X_{2} \\
X_{3} \\
\vdots \\
X_{m} \\
\end{pmatrix} \\
\end{eqnarray}

\begin{eqnarray}
\epsilon
&=&
\begin{pmatrix}
\epsilon_{1} \\
\epsilon_{2} \\
\epsilon_{3} \\
\vdots \\
\epsilon_{m} \\
\end{pmatrix} \\
\end{eqnarray}

\begin{eqnarray}
F
&=&
\begin{pmatrix}
F_{1} \\
F_{2} \\
F_{3} \\
\vdots \\
F_{n} \\
\end{pmatrix} \\
\end{eqnarray}

\begin{eqnarray}
A
&=&
\begin{pmatrix}
a_{11} & x_{12} & x_{13} & \cdots & x_{1n} \\
a_{21} & x_{22} & x_{23} & \cdots & x_{2n} \\
a_{31} & x_{32} & x_{33} & \cdots & x_{3n} \\
\vdots & \vdots & \vdots & \ddots & \vdots \\
a_{m1} & x_{m2} & x_{m3} & \cdots & x_{mn} \\
\end{pmatrix} \\
\end{eqnarray}

\begin{eqnarray}
B
&=&
\begin{pmatrix}
b_{1} & 0 & 0 & \cdots & 0 \\
0 & b_{2} & 0 & \cdots & 0 \\
0 & 0 & b_{3} & \cdots & 0 \\
\vdots & \vdots & \vdots & \ddots & \vdots \\
0 & 0 & 0 & \cdots & b_{m} \\
\end{pmatrix} \\
\end{eqnarray}

とおくと、
\begin{eqnarray}
X = AF+B\epsilon
\end{eqnarray}
と表現することができます。
 

因子分析でのさまざまな仮定

説明変数の仮定

説明変数の仮定\(E(X) = 0\)
 

独自因子の仮定

独自因子の仮定\(E(\epsilon) = 0\)
 

共通因子の仮定

共通因子の仮定\(E(F) = 0\)
 

独自因子 / 独自因子間の仮定

独自因子の仮定\(E(\epsilon \epsilon^{T}) = I\) ※ 独自因子間での共分散
\(I\)は単位行列
同じ項では1となり、そこはその同じ項における普通の分散になるので上記の仮定の分散1に合致。
そして互いに別の項は互いに独立なので0となる。
 

独自因子 / 共通因子間の仮定

独自因子と共通因子間の仮定も考える必要があります。
普通、感覚的に説明変数が共通に持つ因子と説明変数が独自でもつ因子は相関はなさそうですよね。
なので、普通に感覚的に以下のように、無相関(独立)と仮定します。
\begin{eqnarray}
cov(\epsilon_{i}, f_{j}) = 0
\end{eqnarray}
 

共通因子 / 共通因子間の仮定

そして共通因子をFactorの頭文字を取って、
\(f_{i}\) として、\(f_{i}\) はベクトル(軸)で表されるので、
直交回転(バリマックス回転) → 因子軸を直交(垂直)状態に保つ → ベクトル積が0 → \(f_{i} \cdot f_{j} = 0\)
それ以外である、\(f_{i} \cdot f_{i} = 1\)とする。(上の仮定に合致。)
斜交回転(プロマックス回転) → 因子軸を斜交状態に保つ → ベクトル積が0以外 → \(f_{i} \cdot f_{j} \neq 0\)
となります。
 

これを、行列\(\Omega\)で表した時、
\(E[ff^{T}] = \Omega\)
と表現でき、
\(\Omega\)が単位行列\(I\)である時、直交回転
\(\Omega\)が単位行列\(I\)でない時、斜交回転
となる。
 

因子分析の最終的な目標

因子分析は最終的には上の\(a_{11}\)などの係数を求めることになります。
この\(a_{11}\)は説明変数 = \(a_{11}\)因子なので、説明変数に対してその共通因子がどのくらい説明しているかを表していると言えます。
もちろん共通因子の大きさがどれも同じであれば純粋に\(a_{11}\)がどのくらい説明しているかをそのまま表すと言えます。

どのくらい説明しているか、つまりどのくらい相関あるかを求める。
つまり、説明変数と共通因子の相関、\(E[X_{i}, f_{j}]\)を考えるということ。これを求めます!
 

因子分析は
最終的には仮定をして
説明変数の共分散を求める
そして共通因子と、説明変数の相関を求める
説明変数について共通因子がどのくらい説明するかがいわゆる係数の値になる。なので相関値が因子の係数になるので、値は絶対値0から1を取る
この計算をする前段階で仮定や共分散を求めたりする
仮定で、期待値が0や分散が1と仮定したりするが、実際に使うときはデータを標準化して使うということ。
 

説明変数X同士の共分散

上の仮定では、共通因子、独自因子それぞれの共分散を求めたが、ここでは説明変数X同士の共分散を考えてみます。
\begin{eqnarray}
E[XX^{T}]
&=& E[(AF+B\epsilon)(AF+B\epsilon)^{T}] \\
&=& E[(AF+B\epsilon)((AF)^{T}+(B\epsilon)^{T})] \\
&=& E[(AF+B\epsilon)(F^{T}A^{T}+\epsilon^{T}B^{T})] \\
&=& E[AFF^{T}A^{T}+AF\epsilon^{T}B^{T}+B\epsilon F^{T}A^{T}+B\epsilon \epsilon^{T}B^{T}] \\
&=& E[AFF^{T}A^{T}]+E[AF\epsilon^{T}B^{T}]+E[B\epsilon F^{T}A^{T}]+E[B\epsilon \epsilon^{T}B^{T}] \\
&=& E[AFF^{T}A^{T}]+E[B\epsilon \epsilon^{T}B^{T}] \\
&=& AE[FF^{T}]A^{T}+BE[\epsilon \epsilon^{T}]B^{T} \\
&=& A\Omega A^{T}+BIB^{T} \\
&=& A\Omega A^{T}+BB^{T} \\
\end{eqnarray}
 

一旦ここでは\(\Omega\)と置いてますが、
仮定で
直交回転をする処理の場合は、\(E[XX^{T}] = AA^{T}+BB^{T}\)
斜交回転をする処理の場合は、\(E[XX^{T}] = A\Omega A^{T}+BB^{T}\)
になります。

 

説明変数Xと共通因子Fの相関

もう少し上の結果を細かくみてみましょう!上の結果を行列\(C\)として、
\begin{eqnarray}
C
&=& E[XX^{T}] \\
&=& A\Omega A^{T}+BB^{T} \\
\end{eqnarray}
 

説明変数Xと共通因子Fの相関

説明変数Xと共通因子Fの相関を\(r\)とすると、
\begin{eqnarray}
r
&=& \frac{E[X_{i}F_{j}]}{\sqrt{V(X_{i})}\sqrt{V(F_{j})}} \\
&=& E[X_{i}F_{j}] \\
&=& E[(a_{m1}F_{1}+a_{m2}F_{2}+a_{m3}F_{3} + \cdot + a_{mn}F_{m} + b_{m}\epsilon_{m})F_{j}] \\
&=& E[a_{m1}F_{1}F_{j}+a_{m2}F_{2}F_{j}+a_{m3}F_{3}F_{j} + \cdot + a_{mn}F_{m}F_{j} + b_{m}\epsilon_{m}F_{j}] \\
&=& a_{m1}E[F_{1}F_{j}]+a_{m2}E[F_{2}F_{j}]+a_{m3}E[F_{3}F_{j}] + \cdot + a_{mn}E[F_{m}F_{j}] + b_{m}E[\epsilon_{m}F_{j}] \\
\end{eqnarray}
 

-統計学
-

© 2024 Yosshi Labo. Powered by AFFINGER5