一、与主成分分析的关系
(1)主成分分析是将原始变量做线性组合,线性组合值代替原始变量;而因子分析是先将原始变量做分解,再用分解出来的因子与原始变量做线性回归,用回归的预测值代替原始变量,表示成公共因子和特殊因子的线性组合;
(2)主成分分析中不需要专门的假设;而因子分析则需要,主要包括:各个公共因子之间不相关,特殊因子之间不相关,公共因子和特殊因子不相关等;
(3)主成分分析中,给定的 协方差矩阵 或者 相关矩阵 的 特征根 是唯一的,主成分一般是固定的;而因子分析的因子不是固定,可以旋转得到不同的因子;
(4)主成分中,未筛选的主成分数量一定,总数量等于特征个数;因子分析的因子个数需要分析者自定,随因子数量不同为结果不同;
(5)因子分析是主成分分析的推广,但是因子分析更倾向于描述原始变量之间的关系,可以使用旋转技术帮助解释因子。
二、因子分析思路
对于某一具体问题,原始变量可以分解为两部分之和,一部分是少数几个不可预测的公共因子的线性函数,另一部分是与公共因子无关的特殊因子。因子分析可以用来研究变量的相关性,做变量降维,叫做R型因子分析;也可以对样本进行分类处理,叫做Q型因子分析。本文介绍的是R型因子分析。
因子步骤包括:
(1)根据研究问题选取原始变量;
(2)对原始变量进行标准化,并求其相关矩阵,分析变量之间的相关性;
(3)求解初始公共因子 和 因子载荷矩阵;
(4)因子旋转;
(5)计算因子得分;
(6)根据因子得分值进行进一步分析。
三、因子分析求解
3.1 初始公共因子 和 因子载荷矩阵 求解
此步骤的方法主要有主成分法、主轴因子法、最小二乘法、极大似然法、α因子提取法等,本文主要介绍主成分法。
主成分法确定初始公共因子和因子载荷矩阵,是在进行因子分析前先对数据进行一次主成分分析分析,然后把前几个主成分作为公共因子(初始公共因子是未旋转的)。在主成分分析中,主成分与原始变量之间的关系为
D
=
(
Y
1
,
Y
2
,
.
.
.
,
Y
p
)
=
{
Y
1
=
u
11
X
1
+
u
12
X
2
+
.
.
.
+
u
1
p
X
p
Y
2
=
u
21
X
1
+
u
22
X
2
+
.
.
.
+
u
2
p
X
p
.
.
.
.
.
.
Y
p
=
u
p
1
X
1
+
u
p
2
X
2
+
.
.
.
+
u
p
p
X
p
D=(Y_{1},Y_{2},...,Y_{p})=\begin{cases} Y_{1}=u_{11}X_{1}+u_{12}X_{2}+...+u_{1p}X_{p} \\[2ex] Y_{2}=u_{21}X_{1}+u_{22}X_{2}+...+u_{2p}X_{p} \\[2ex] ......\\[2ex] Y_{p}=u_{p1}X_{1}+u_{p2}X_{2}+...+u_{pp}X_{p} \\[2ex] \end{cases}
D=(Y1,Y2,...,Yp)=⎩⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎧Y1=u11X1+u12X2+...+u1pXpY2=u21X1+u22X2+...+u2pXp......Yp=up1X1+up2X2+...+uppXp
u
i
j
u_{ij}
uij代表第
i
i
i个主成分(第
i
i
i次线性变换)的第
j
j
j个原始变量
X
j
X_{j}
Xj的变换系数,即变量
X
=
(
X
1
,
X
2
,
.
.
.
,
X
p
)
X=(X_{1},X_{2},...,X_{p})
X=(X1,X2,...,Xp)的相关矩阵的特征根所对应的特征向量的分量。
因特征向量两两正交,可得
X
=
(
X
1
,
X
2
,
.
.
.
,
X
p
)
=
{
X
1
=
u
11
Y
1
+
u
21
Y
2
+
.
.
.
+
u
p
1
Y
p
X
2
=
u
12
Y
1
+
u
22
Y
2
+
.
.
.
+
u
p
2
Y
p
.
.
.
.
.
.
X
p
=
u
1
p
Y
1
+
u
2
p
Y
2
+
.
.
.
+
u
p
p
Y
p
X=(X_{1},X_{2},...,X_{p})=\begin{cases} X_{1}=u_{11}Y_{1}+u_{21}Y_{2}+...+u_{p1}Y_{p} \\[2ex] X_{2}=u_{12}Y_{1}+u_{22}Y_{2}+...+u_{p2}Y_{p} \\[2ex] ......\\[2ex] X_{p}=u_{1p}Y_{1}+u_{2p}Y_{2}+...+u_{pp}Y_{p} \\[2ex] \end{cases}
X=(X1,X2,...,Xp)=⎩⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎧X1=u11Y1+u21Y2+...+up1YpX2=u12Y1+u22Y2+...+up2Yp......Xp=u1pY1+u2pY2+...+uppYp
对每个等式保留前
m
m
m个因子,省略
m
m
m以后的部分,用
ε
i
\varepsilon _{i}
εi代替,则转换为
X
=
(
X
1
,
X
2
,
.
.
.
,
X
p
)
=
{
X
1
=
a
11
F
1
+
a
12
F
2
+
.
.
.
+
a
1
m
F
m
+
ε
1
X
2
=
a
21
F
1
+
a
22
F
2
+
.
.
.
+
a
2
m
F
m
+
ε
2
.
.
.
.
.
.
X
p
=
a
p
1
F
1
+
a
p
2
F
2
+
.
.
.
+
a
p
m
F
m
+
ε
p
X=(X_{1},X_{2},...,X_{p})=\begin{cases} X_{1}=a_{11}F_{1}+a_{12}F_{2}+...+a_{1m}F_{m}+\varepsilon _{1} \\[2ex] X_{2}=a_{21}F_{1}+a_{22}F_{2}+...+a_{2m}F_{m}+\varepsilon _{2} \\[2ex] ......\\[2ex] X_{p}=a_{p1}F_{1}+a_{p2}F_{2}+...+a_{pm}F_{m}+\varepsilon _{p} \\[2ex] \end{cases}
X=(X1,X2,...,Xp)=⎩⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎧X1=a11F1+a12F2+...+a1mFm+ε1X2=a21F1+a22F2+...+a2mFm+ε2......Xp=ap1F1+ap2F2+...+apmFm+εp
其中,
F
1
,
F
2
,
.
.
.
,
F
m
F_{1},F_{2},...,F_{m}
F1,F2,...,Fm之间相互独立,
F
i
=
Y
i
/
λ
i
F_{i}=Y_{i}/\sqrt{\lambda _{i}}
Fi=Yi/λi,
a
i
j
=
u
j
i
λ
j
a_{ij}=u_{ji}\sqrt{\lambda _{j}}
aij=ujiλj,
(
λ
1
,
λ
2
,
.
.
.
,
λ
p
)
(\lambda _{1},\lambda _{2},...,\lambda _{p})
(λ1,λ2,...,λp)和
(
γ
1
,
γ
2
,
.
.
.
,
γ
p
(\gamma _{1},\gamma _{2},...,\gamma _{p}
(γ1,γ2,...,γp)分别为
(
Y
1
,
Y
2
,
.
.
.
,
Y
p
)
(Y_{1},Y_{2},...,Y_{p})
(Y1,Y2,...,Yp)对应的特征根和特征向量,
γ
i
=
(
u
i
1
,
u
i
2
,
.
.
.
,
u
i
p
)
T
\gamma _{i}=(u_{i1},u_{i2},...,u_{ip})^T
γi=(ui1,ui2,...,uip)T。
所以因子载荷矩阵为
A
=
(
γ
1
λ
1
,
γ
2
λ
2
,
.
.
.
,
γ
m
λ
m
)
=
[
a
11
a
12
.
.
.
a
1
m
a
21
a
22
.
.
.
a
2
m
.
.
.
.
.
.
.
.
.
.
.
.
a
p
1
a
p
2
.
.
.
a
p
m
]
=
[
u
11
λ
1
u
21
λ
2
.
.
.
u
m
1
λ
m
u
12
λ
1
u
22
λ
2
.
.
.
u
m
2
λ
m
.
.
.
.
.
.
.
.
.
.
.
.
u
1
p
λ
1
u
2
p
λ
2
.
.
.
u
m
p
λ
m
]
A=(\gamma _{1}\sqrt{\lambda _{1}},\gamma _{2}\sqrt{\lambda _{2}},...,\gamma _{m}\sqrt{\lambda _{m}})=\begin{bmatrix} a_{11}& a_{12}& ...&a_{1m} \\ a_{21} & a_{22}& ...& a_{2m}\\ ...& ...& ...& ...\\ a_{p1}& a_{p2}& ...&a_{pm} \end{bmatrix}=\begin{bmatrix} u_{11}\sqrt{\lambda _{1}} & u _{21}\sqrt{\lambda _{2}}& ...&u _{m1}\sqrt{\lambda _{m}} \\ u _{12}\sqrt{\lambda _{1}} & u_{22}\sqrt{\lambda _{2}}& ...& u _{m2}\sqrt{\lambda _{m}}\\ ...& ...& ...& ...\\ u _{1p}\sqrt{\lambda _{1}}& u _{2p}\sqrt{\lambda _{2}}& ...&u_{mp} \sqrt{\lambda _{m}} \end{bmatrix}
A=(γ1λ1,γ2λ2,...,γmλm)=⎣⎢⎢⎡a11a21...ap1a12a22...ap2............a1ma2m...apm⎦⎥⎥⎤=⎣⎢⎢⎡u11λ1u12λ1...u1pλ1u21λ2u22λ2...u2pλ2............um1λmum2λm...umpλm⎦⎥⎥⎤
公共因子保留的个数
m
m
m取决于具体问题,用主成分求解时,可以借鉴主成分个数的准则,如所选取的公共因子的信息量的和达到总体信息量的合适比例为止。
3.2 因子旋转
F 1 , F 2 , . . . , F m F_{1},F_{2},...,F_{m} F1,F2,...,Fm是初始公共因子,因子旋转就是将初始公共因子做线性组合得到新的一组公共因子 F 1 ’ , F 2 ’ , . . . , F m ‘ {F_{1}}’,{F_{2}}’,...,{F_{m}}‘ F1’,F2’,...,Fm‘。经过旋转的因子载荷能够更清晰地表现因子重要性,使重要的公共因子在线性组合中权重更大,不重要的公共因子权重更小。
旋转方式分为正交旋转和斜交旋转,正交旋转得到的新公共因子依然彼此独立正交,而斜交选择则放弃了因子之间彼此独立这个限制。旋转后新的公共因子
{
F
1
′
=
d
11
F
1
+
d
12
F
2
+
.
.
.
+
d
1
m
F
m
F
2
′
=
d
21
F
1
+
d
22
F
2
+
.
.
.
+
d
2
m
F
m
.
.
.
.
.
.
F
m
′
=
d
m
1
F
1
+
d
m
2
F
2
+
.
.
.
+
d
m
m
F
m
\begin{cases} {F_{1}}'=d_{11}F_{1}+d_{12}F_{2}+...+d_{1m}F_{m} \\[2ex] {F_{2}}'=d_{21}F_{1}+d_{22}F_{2}+...+d_{2m}F_{m} \\[2ex] ......\\[2ex] {F_{m}}'=d_{m1}F_{1}+d_{m2}F_{2}+...+d_{mm}F_{m} \\[2ex] \end{cases}
⎩⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎧F1′=d11F1+d12F2+...+d1mFmF2′=d21F1+d22F2+...+d2mFm......Fm′=dm1F1+dm2F2+...+dmmFm
因子旋转系数矩阵求解以后补充。
3.3 因子得分及分析
因子分析求解是将原始特征变量做分解,表示成公共因子和特殊因子的线性组合,得到影响特征 X = ( X 1 , X 2 , . . . , X p ) X=(X_{1},X_{2},...,X_{p}) X=(X1,X2,...,Xp)的因素(公共因子 F 1 , F 2 , . . . , F m F_{1},F_{2},...,F_{m} F1,F2,...,Fm)。
而因子得分是将原始变量做线性组合,用此线性组合表示公共因子,用来解释特征 X = ( X 1 , X 2 , . . . , X p ) X=(X_{1},X_{2},...,X_{p}) X=(X1,X2,...,Xp)对因素公共因子 F 1 , F 2 , . . . , F m F_{1},F_{2},...,F_{m} F1,F2,...,Fm)的影响。
二者是影响与被影响的逻辑。
解决因子得分的方法是线性回归,以公共因子为因变量,原始特征变量为自变量:
F
j
=
β
j
1
X
1
+
β
j
2
X
1
+
.
.
.
+
β
j
p
X
1
,
j
=
1
,
2
,
.
.
.
,
m
F_{j}=\beta _{j1}X_{1}+\beta _{j2}X_{1}+...+\beta _{jp}X_{1}, j=1, 2, ... ,m
Fj=βj1X1+βj2X1+...+βjpX1,j=1,2,...,m
此处,原始变量和公共因子均为标准化变量,所以模型不存在常数项。
用最小二乘法得到回归系数
β
j
i
\beta _{ji}
βji估计值,回归系数就是公共因子在每一个原始变量上的得分。根据最小二乘法的思想,也可以直接计算出
(
F
1
,
F
2
,
.
.
.
,
F
m
)
=
A
T
R
−
1
X
(F_{1},F_{2},...,F_{m})=A^TR^{-1}X
(F1,F2,...,Fm)=ATR−1X
其中,
A
A
A为荷载矩阵,
R
R
R为原始变量的相关矩阵,
X
X
X为原始变量。
求出回归模型后,回归系数为 F j F_{j} Fj对每一个 X i X_{i} Xi的得分估计,线性组合后得到每一个公共因子的总得分(即 F j ^ \widehat{F_{j}} Fj , F j F_{j} Fj的预测值),用公共因子的总得分代替原始变量,达到降维的目的。
参考书:《多元统计分析》何晓群