1 因子分析
1.1 因子
因子分析的目的是在尽量减少信息丢失的情况下,将众多原始变量归结为较少的综合指标(即因子)。设有
p
p
p个原始变量
x
1
,
x
2
,
⋯
,
x
p
{x_1},{x_2}, \cdots ,{x_p}
x1,x2,⋯,xp,每个变量的均值为0,标准差为1。通过
k
(
k
<
p
)
k(k < p)
k(k<p)个因子
f
1
,
f
2
,
⋯
,
f
k
{f_1},{f_2}, \cdots ,{f_k}
f1,f2,⋯,fk的线性组合表示每个变量,可用矩阵形式表示为:
X
=
A
F
+
ε
X = AF + \varepsilon
X=AF+ε
F称为因子,由于它们均出现在每个原有变量的线性表达式中,因此也称为公共因子。
因子通常具有以下特点。
①因子数量远少于原始变量:因子分析和主成分分析通过“降维”思想简化数据,减少维度,因子数量要明显少于原始变量,以便提高模型效率和简化分析;
②因子保留大部分原始信息:因子并非简单取舍,而是对原始变量的重组,能够代表大部分原始信息,从而保证数据精度;
③因子之间的线性关系不显著:原始变量间的相关性可能导致信息重叠,因子分析通过减少这种相关性,使得重组后的因子间线性关系不显著,降低了分析复杂度;
④因子具有命名解释性:因子分析的结果通常可以通过合理方式进行命名解释,这对理解分析结果和后续应用具有重要意义。
1.2 因子载荷
因子模型:
x
i
=
a
i
1
f
1
+
a
i
2
f
2
+
a
i
3
f
3
+
⋯
+
a
i
k
f
k
+
ε
i
(
i
=
1
,
2
,
⋯
,
n
)
{x_i} = {a_{i1}}{f_1} + {a_{i2}}{f_2} + {a_{i3}}{f_3} + \cdots + {a_{ik}}{f_k} + {\varepsilon _i}(i = 1,2, \cdots ,n)
xi=ai1f1+ai2f2+ai3f3+⋯+aikfk+εi(i=1,2,⋯,n)
a
i
j
{a_{ij}}
aij为因子载荷,表示第
i
i
i个变量在第
j
j
j个因子上的负载(
j
=
1
,
2
,
…
,
k
j=1, 2, \ldots, k
j=1,2,…,k);
在分析
x
i
{x_i}
xi和因子
f
j
{f_j}
fj的协方差时,对标准化后的
x
i
{x_i}
xi(标准差为1)和
f
j
{f_j}
fj(标准差为1)进行处理,得到的相关系数为:
r
x
,
f
j
=
C
o
v
(
x
i
,
f
j
)
D
(
x
i
)
D
(
f
j
)
=
C
o
v
(
x
i
,
f
j
)
=
a
i
j
{r_{x,f}}_j = \frac{{Cov({x_i},{f_j})}}{{\sqrt {D({x_i})} \sqrt {D({f_j})} }} = Cov({x_i},{f_j}) = {a_{ij}}
rx,fj=D(xi)D(fj)Cov(xi,fj)=Cov(xi,fj)=aij
因此,对于标准化后的
x
i
{x_i}
xi,因子载荷
a
i
j
{a_{ij}}
aij实际反映了变量
x
i
{x_i}
xi与因子
f
j
{f_j}
fj之间的相关程度。在因子不相关的前提下,因子载荷可视为变量与因子之间的相关系数。因子载荷越大,表示第
i
i
i个变量与第
j
j
j个因子关系越密切;相反,载荷越小则关系越疏远。此外,因子载荷也体现了因子
f
j
{f_j}
fj对变量
x
i
{x_i}
xi的重要性。
1.3 变量共同度
设因子载荷矩阵为A,则变量的共同度(Communality,即变量方差)可以定义为:
h
i
2
=
∑
j
=
1
k
a
i
j
,
(
i
=
1
,
2
,
⋯
,
p
)
h_i^2 = \sum\limits_{j = 1}^k {{a_{ij}},(i = 1,2, \cdots ,p)}
hi2=j=1∑kaij,(i=1,2,⋯,p)
在标准化条件下,变量
x
i
{x_i}
xi的方差由两部分组成:第一部分是共同度,表示全部公共因子对变量
x
i
{x_i}
xi方差的解释比例,即因子对
x
i
{x_i}
xi贡献的大小。共同度越接近1,说明因子解释了
x
i
{x_i}
xi的大部分方差,信息丢失较少;第二部分是特殊因子
ε
i
{\varepsilon_i}
εi对方差的贡献,表示因子未能解释的部分。
ε
i
2
{\varepsilon_i^2}
εi2越小,说明
x
i
{x_i}
xi丢失的信息越少。
因此,变量
x
i
{x_i}
xi的共同度衡量因子全体对
x
i
{x_i}
xi的解释程度,是评价信息丢失的重要指标。如果大部分变量的共同度较高(如高于0.7),说明提取的因子能够解释大部分信息(如70%以上),从而因子分析效果良好。
1.4 因子的方差贡献
设因子载荷矩阵为
A
A
A,则第
j
j
j列元素的平方和:
g
i
2
=
∑
i
=
1
k
a
i
j
2
,
(
j
=
1
,
2
,
⋯
,
k
)
g_i^2 = \sum\limits_{i = 1}^k {a_{ij}^2,(j = 1,2, \cdots ,k)}
gi2=i=1∑kaij2,(j=1,2,⋯,k)
表示因子
f
j
{f_j}
fj对变量
x
i
{x_i}
xi的贡献,即
g
j
2
g_j^2
gj2表示因子
f
j
{f_j}
fj对各变量方差贡献的总和,反映了因子
f
j
{f_j}
fj对原有变量总方差的解释能力。
因子的方差贡献越大,说明该因子的相对重要性越高。因此,因子的方差贡献和贡献率是衡量每个因子相对重要性的关键指标。
在主成分分析中,将
p
p
p个原始变量
x
1
,
x
2
,
⋯
,
x
p
{x_1},{x_2}, \cdots ,{x_p}
x1,x2,⋯,xp的总方差分解为
p
p
p个独立的变量
y
1
,
y
2
,
⋯
,
y
p
{y_1},{y_2}, \cdots ,{y_p}
y1,y2,⋯,yp的方差之和。其中,
k
k
k个主成分
Y
k
{Y_k}
Yk的方差贡献率可表示为:
φ
k
=
λ
k
∑
k
=
1
p
λ
k
{\varphi _k} = \frac{{{\lambda _k}}}{{\sum\limits_{k = 1}^p {{\lambda _k}} }}
φk=k=1∑pλkλk
其中,第一主成分贡献率最大,表示
Y
1
{Y_1}
Y1在综合原始变量的能力最强,其他主成分
y
2
,
⋯
,
y
p
{y_2}, \cdots ,{y_p}
y2,⋯,yp的综合能力依次递减。
如果只选取前
m
m
m个主成分(m<p),则其累积贡献率为:
ψ
m
=
∑
k
=
1
m
λ
k
∑
k
=
1
p
λ
k
{\psi _m} = \frac{{\sum\limits_{k = 1}^m {{\lambda _k}} }}{{\sum\limits_{k = 1}^p {{\lambda _k}} }}
ψm=k=1∑pλkk=1∑mλk
累积贡献率表明了前
m
m
m个主成分综合原始变量
x
1
,
x
2
,
⋯
,
x
p
{x_1},{x_2}, \cdots ,{x_p}
x1,x2,⋯,xp的能力,通常选取
m
m
m使累积贡献率达到某个较高的百分数。
因子分析的步骤:分析>降维>因子
①数据标准化:数据进行标准化处理,尤其是在变量的量纲不一致的情况下,标准化可以确保变量的均值为0,标准差为1;
②计算相关矩阵或协方差矩阵:因子分析通常基于相关矩阵或协方差矩阵,分析各个变量之间的相关性。根据相关性,确定潜在因子的数量;
③提取因子:常用的因子提取方法包括主成分法和最大似然法。这些方法通过分析数据的方差结构来提取解释最大方差的潜在因子;
④旋转因子:提取因子后,通常通过因子旋转技术(如Varimax旋转、Promax旋转)来优化因子结构,使得每个因子更加独立且具有更清晰的解释意义;
⑤解释因子:研究者根据因子载荷矩阵,解释各因子代表的潜在概念。载荷较高的变量会聚集在某一个因子上,这些变量通常代表某个潜在的共同维度;
⑥计算因子得分:因子分析可以根据提取的因子计算每个个体的因子得分,从而用于后续的分析。
2 主成分分析
主成分分析(PCA, Principal Component Analysis)是一种常用的降维方法,旨在减少数据集中的变量数量,同时保留尽可能多的原始信息。PCA通过将原始变量转化为一组新的线性组合变量(称为主成分),这些主成分之间相互不相关,并依次解释数据集中方差的最大部分。
主成分分析的基本思想:主成分分析就是研究如何通过原始变量的少数几个线性组合来解释原始变量的绝大部分信息。第一个主成分(PC1)是解释数据集中方差最大的线性组合,尽可能多地保留数据中的信息;第二个主成分(PC2)解释剩余的方差,且与第一个主成分正交(即不相关);依此类推,后续的主成分依次解释剩余的方差,每个主成分都是与之前的主成分不相关的。
主成分分析的数学模型,在矩阵形式中,PCA可表示为:
Y
=
U
X
Y = UX
Y=UX
主成分分析的步骤:
①因子分析:计算“总方差解释(特征值+提取平方)”和“成分矩阵(旋转前的因子负荷矩阵)”;根据特征值的大小,选择解释方差较大的前几个主成分。通常使用累积解释方差的比例来判断应该保留多少个主成分。比如,如果前两个主成分可以解释90%的总方差,那么我们可能会选择保留这两个主成分。
②特征向量矩阵:利用“成分矩阵”数据计算特征向量矩阵;
③主成分表达式:利用“特征向量矩阵”形成主成分表达式;
④数据标准化:如果不同变量的量纲差异很大,通常需要对数据进行标准化(即将均值调整为0,标准差调整为1)。这一步可以确保PCA不会因为某些变量的量纲过大而偏向这些变量。
⑤主成分表:利用主成分表达式将原始数据标准化后的数据转换到一个新的坐标系中,形成主成分表。主成分表反映了每个样本在不同主成分上的得分,解释数据中的主要变异方向。通过对这些得分的解读,研究者可以理解样本在主成分空间中的分布,并分析其背后潜在的结构和模式。