第一部分:因子分析的核心思想与基本模型
1.1 核心目标与哲学
因子分析(Factor Analysis, FA)是一种多元统计降维技术,其根本目的超越了简单的数据压缩。它的核心在于:
- 探索潜在结构 :假设观测到的多个原始变量(X1,X2,...,XpX_1, X_2, ..., X_pX1,X2,...,Xp)之所以彼此相关,并非偶然,而是因为它们共同受到少数几个不可直接观测的、潜在的"公共因子"(Common Factors) 的影响。
- 模型化数据生成过程 :FA试图建立一个解释性模型,将每个可观测的变量分解为其背后的共同原因(公共因子)和自身独有的、无法被共同原因解释的部分(特殊因子)。
1.2 基本数学模型(正交因子模型)
文档中明确给出了因子分析的数学表达式,这是理解一切的基础。
-
单个变量的分解 :
对于第 iii 个原始变量 XiX_iXi,其值可以表示为:
Xi=μi+ai1F1+ai2F2+...+aimFm+εiX_i = \mu_i + a_{i1}F_1 + a_{i2}F_2 + ... + a_{im}F_m + \varepsilon_iXi=μi+ai1F1+ai2F2+...+aimFm+εi其中:
- μi\mu_iμi 是变量 XiX_iXi 的均值。
- F1,F2,...,FmF_1, F_2, ..., F_mF1,F2,...,Fm (m<pm < pm<p) 是 mmm 个公共因子(Common Factors) 。这些是模型试图找出的、驱动多个变量协同变化的潜在维度 。它们是不可观测的。
- ai1,ai2,...,aima_{i1}, a_{i2}, ..., a_{im}ai1,ai2,...,aim 是 因子载荷(Factor Loadings) 。它量化了第 iii 个变量在第 jjj 个公共因子上的"权重"或"敏感度"。从统计角度看,因子载荷 aija_{ij}aij 等于变量 XiX_iXi 与公共因子 FjF_jFj 之间的协方差 。在标准化(使用相关矩阵)的情况下,它就等于相关系数。
- εi\varepsilon_iεi 是 特殊因子(Specific Factor) 或 唯一因子(Unique Factor) 。它代表了仅影响 XiX_iXi 自身的那部分变异,包括测量误差和该变量独有的、不与其他变量共享的信息。
-
矩阵形式 :
将所有 ppp 个变量的方程组合起来,可以写成简洁的矩阵形式:
X−μ=AF+ε\mathbf{X} - \boldsymbol{\mu} = \mathbf{A}\mathbf{F} + \boldsymbol{\varepsilon}X−μ=AF+ε其中:
- X=[X1,X2,...,Xp]T\mathbf{X} = [X_1, X_2, ..., X_p]^TX=[X1,X2,...,Xp]T 是原始变量向量。
- μ=[μ1,μ2,...,μp]T\boldsymbol{\mu} = [\mu_1, \mu_2, ..., \mu_p]^Tμ=[μ1,μ2,...,μp]T 是均值向量。
- A=(aij)p×m\mathbf{A} = (a_{ij})_{p \times m}A=(aij)p×m 是 因子载荷矩阵(Factor Loading Matrix)。这是因子分析的核心输出,包含了所有变量与所有因子的关系信息。
- F=[F1,F2,...,Fm]T\mathbf{F} = [F_1, F_2, ..., F_m]^TF=[F1,F2,...,Fm]T 是公共因子向量。
- ε=[ε1,ε2,...,εp]T\boldsymbol{\varepsilon} = [\varepsilon_1, \varepsilon_2, ..., \varepsilon_p]^Tε=[ε1,ε2,...,εp]T 是特殊因子向量。
-
关键模型假设 :
为了使模型可解且具有良好的统计性质,正交因子模型做了以下重要假设:
- 公共因子相互独立且标准化 :E(F)=0E(\mathbf{F}) = \mathbf{0}E(F)=0, Cov(F)=Im\text{Cov}(\mathbf{F}) = \mathbf{I}_mCov(F)=Im。这意味着公共因子之间互不相关(正交),并且各自的方差都为1。
- 特殊因子相互独立 :Cov(ε)=D=diag(σ12,σ22,...,σp2)\text{Cov}(\boldsymbol{\varepsilon}) = \mathbf{D} = \text{diag}(\sigma_1^2, \sigma_2^2, ..., \sigma_p^2)Cov(ε)=D=diag(σ12,σ22,...,σp2)。特殊因子之间也互不相关,但它们的方差 σi2\sigma_i^2σi2 可以不同。
- 公共因子与特殊因子不相关 :Cov(F,ε)=0\text{Cov}(\mathbf{F}, \boldsymbol{\varepsilon}) = \mathbf{0}Cov(F,ε)=0。公共部分和独特部分是完全分离的。
1.3 模型的协方差结构
基于上述模型和假设,原始变量的协方差矩阵 Σ\mathbf{\Sigma}Σ(或相关矩阵 R\mathbf{R}R,如果数据已标准化)可以被分解为:
Σ=AAT+D\mathbf{\Sigma} = \mathbf{A}\mathbf{A}^T + \mathbf{D}Σ=AAT+D
这个等式是因子分析的基石。它表明,观测到的变量间的协方差(或相关性)完全由两部分构成:
- AAT\mathbf{A}\mathbf{A}^TAAT : 由公共因子引起的公共方差(Common Variance) 部分。
- D\mathbf{D}D : 由特殊因子引起的唯一方差(Unique Variance) 部分。
第二部分:因子分析的关键概念与指标详解
2.1 因子载荷(Factor Loading)
- 定义 :如前所述,aija_{ij}aij 是变量 XiX_iXi 与因子 FjF_jFj 的协方差(或标准化后的相关系数)。
- 解释 :其绝对值大小衡量了变量 XiX_iXi 在因子 FjF_jFj 上的"负荷"程度。
- ∣aij∣≈1|a_{ij}| \approx 1∣aij∣≈1:表示 XiX_iXi 几乎完全由 FjF_jFj 决定。
- ∣aij∣≈0|a_{ij}| \approx 0∣aij∣≈0:表示 XiX_iXi 与 FjF_jFj 基本无关。
- 作用 :是进行因子命名 和理解因子含义的最直接依据。
2.2 共同度(Communality)
- 定义 :对于第 iii 个变量 XiX_iXi,其共同度 hi2h_i^2hi2 定义为该变量在所有 mmm 个公共因子上的载荷平方和:
hi2=∑j=1maij2h_i^2 = \sum_{j=1}^{m} a_{ij}^2hi2=j=1∑maij2 - 解释 :
- 共同度代表了变量 XiX_iXi 的总方差中,能够被所提取的 mmm 个公共因子共同解释的比例。
- 在使用相关矩阵(即变量已标准化,总方差为1)的情况下,hi2h_i^2hi2 的取值范围是 [0, 1]。
- hi2h_i^2hi2 越接近 1 ,说明该变量的信息几乎完全被公共因子捕捉,特殊因子 εi\varepsilon_iεi 的贡献很小(σi2=1−hi2≈0\sigma_i^2 = 1 - h_i^2 \approx 0σi2=1−hi2≈0)。
- hi2h_i^2hi2 越小,说明该变量的独特性越强,或者当前提取的因子数量不足以解释它。
- 文档示例:在数学成绩案例中,"几何"(x3)的共同度高达 0.997,意味着其成绩几乎完全由"逻辑思维"和"空间思维"这两个公共因子决定。
2.3 特殊因子方差(Specific Variance / Uniqueness)
- 定义 :σi2=Var(εi)\sigma_i^2 = \text{Var}(\varepsilon_i)σi2=Var(εi)。
- 解释 :在标准化情况下,σi2=1−hi2\sigma_i^2 = 1 - h_i^2σi2=1−hi2。它代表了变量 XiX_iXi 中无法被公共因子解释的那部分方差,即变量的独特信息和随机误差。
2.4 因子的方差贡献与特征值
- 定义 :第 jjj 个公共因子 FjF_jFj 对所有 ppp 个原始变量提供的方差总和,称为该因子的方差贡献 ,其数值上等于因子载荷矩阵第 jjj 列元素的平方和:
方差贡献j=∑i=1paij2\text{方差贡献}j = \sum{i=1}^{p} a_{ij}^2方差贡献j=i=1∑paij2 - 与特征值的关系 :在使用主成分法作为初始提取方法时,这个方差贡献值恰好等于对应因子的特征值(Eigenvalue) λj\lambda_jλj。
- 方差贡献率 :单个因子的方差贡献占所有变量总方差(在相关矩阵下为 ppp)的比例:
贡献率j=λjp\text{贡献率}_j = \frac{\lambda_j}{p}贡献率j=pλj - 累积方差贡献率 :前 kkk 个因子的方差贡献之和占总方差的比例:
累积贡献率k=∑j=1kλjp\text{累积贡献率}k = \frac{\sum{j=1}^{k} \lambda_j}{p}累积贡献率k=p∑j=1kλj - 作用 :这是决定提取多少个公共因子的关键指标。通常希望累积贡献率达到一个较高的水平(如80%以上),以保证保留了大部分原始信息。
第三部分:因子分析的完整实施步骤
文档清晰地列出了进行一次因子分析的标准流程。
3.1 步骤一:前提条件检验(是否适合做FA?)
在进行因子分析之前,必须检验数据是否满足基本前提,即变量间是否存在足够强的相关性。
- KMO (Kaiser-Meyer-Olkin) 检验 :
- 原理 :比较变量间的简单相关系数 与偏相关系数。如果变量间存在公共因子,那么控制了其他变量后,两个变量间的偏相关应该很小,而简单相关较大,此时KMO值会接近1。
- 判别标准 :
- KMO > 0.9:非常适合进行因子分析。
- 0.8 < KMO ≤ 0.9:适合。
- 0.7 < KMO ≤ 0.8:一般。
- 0.6 < KMO ≤ 0.7:不太适合。
- KMO ≤ 0.5:极不适合。
- Bartlett's 球形检验 (虽未在文档中明确提及,但常与KMO一同使用):检验相关矩阵是否为单位矩阵(即变量是否相互独立)。原假设是"变量相互独立",我们希望拒绝原假设(p值 < 0.05),表明变量间存在显著相关性,适合做FA。
3.2 步骤二:因子提取(确定初始因子载荷矩阵)
- 方法 :文档提到"基于主成分分析的方法"。这是最常用的主成分法(Principal Component Method) 。
- 对原始变量的相关矩阵 (推荐,尤其当变量量纲不同时)或协方差矩阵进行特征值分解。
- 选取前 mmm 个最大的特征值 λ1,λ2,...,λm\lambda_1, \lambda_2, ..., \lambda_mλ1,λ2,...,λm 及其对应的特征向量。
- 初始因子载荷矩阵 A\mathbf{A}A 的第 jjj 列为 λj⋅uj\sqrt{\lambda_j} \cdot \mathbf{u}_jλj ⋅uj,其中 uj\mathbf{u}_juj 是第 jjj 个特征向量。
- 确定因子个数 mmm :
- Kaiser准则:只保留特征值大于1的因子(在相关矩阵下,一个因子至少要能解释超过一个变量的平均方差)。
- 累积方差贡献率 :选择最小的 mmm,使得累积贡献率超过预设阈值(如80%)。
- 碎石图(Scree Plot):绘制特征值随因子序号变化的曲线,寻找"拐点"(elbow point),拐点之前的因子被保留。
3.3 步骤三:因子旋转(提升可解释性)
- 问题:初始提取的因子载荷矩阵往往难以解释,因为很多变量在多个因子上都有中等程度的载荷。
- 目的 :通过数学变换(旋转),使得载荷矩阵的结构更"清晰"------即让每个变量只在一个因子上有高载荷 ,而在其他因子上载荷接近0;同时,每个因子也只被一部分变量高载荷。这被称为"简单结构(Simple Structure)"。
- 旋转类型 :
- 正交旋转(Orthogonal Rotation) :
- 特点 :旋转过程中保持因子之间的正交性(不相关)。
- 常用方法 :方差最大法(Varimax),它最大化每个因子上载荷的方差,使高载荷更高,低载荷更低。
- 适用场景:当理论或先验知识认为公共因子应该是相互独立的时候。
- 斜交旋转(Oblique Rotation) :
- 特点 :放弃因子间必须正交的限制,允许因子之间存在相关性。
- 优点 :在现实中,潜在因子常常是相关的,斜交旋转有时能得到更具实际意义和更好拟合的模型。
- 缺点:解释稍微复杂一些,因为需要同时考虑因子本身和因子间的相关性。
- 正交旋转(Orthogonal Rotation) :
- 文档强调:"建立了因子分析数学目的不仅仅要找出公共因子...更重要的要知道每个公共因子的意义...由于因子载荷阵是不唯一的,所以应该对因子载荷阵进行旋转。"
3.4 步骤四:因子命名与解释
- 方法 :仔细检查旋转后的因子载荷矩阵。
- 过程 :
- 对于每个因子 FjF_jFj,找出在其上具有高载荷(通常 |载荷| > 0.4 或 0.5)的原始变量。
- 分析这些高载荷变量的共同主题或内涵。
- 基于这个共同主题,为因子 FjF_jFj 赋予一个有意义的名称。
- 文档案例 :
- 数学成绩:F1(代数、三角等载荷高)→ "逻辑思维和运算能力";F2(几何载荷极高)→ "空间思维和推理能力"。
- 十项全能:旋转前因子难以解释;旋转后清晰分为"短跑速度因子"、"爆发性臂力因子"、"长跑耐力因子"、"爆发腿力因子"。
3.5 步骤五:计算因子得分(Factor Scores)
- 目的:得到每个样本(观测对象)在各个公共因子上的具体数值(得分)。这些得分可以用于后续的多种分析。
- 应用 :
- 综合评价:例如,用F1和F2的加权得分对学生数学能力进行排名。
- 聚类分析:在因子得分构成的低维空间中进行聚类。
- 回归分析:用因子得分作为新的自变量,避免多重共线性问题。
- 计算方法 :有多种估计方法,如回归法(Thomson's method) 、Bartlett法等。软件通常会自动提供。
第四部分:因子分析与主成分分析(PCA)的深度对比
文档专门用一节(§4)来阐述两者的关系与区别,这是理解FA本质的关键。
| 对比维度 | 因子分析 (Factor Analysis) | 主成分分析 (Principal Component Analysis) |
|---|---|---|
| 1. 基本哲学 | 解释性模型(Exploratory Model) 假设数据是由潜在的、不可观测的公共因子生成的。目标是揭示数据背后的因果或潜在结构。 | 描述性变换(Descriptive Transformation) 不假设任何数据生成机制。目标是找到能最大程度保留原始数据方差的新坐标轴(主成分)。 |
| 2. 数学本质 | 分解(Decomposition) 将原始变量 XiX_iXi 分解 为公共部分(∑aijFj\sum a_{ij}F_j∑aijFj)和独特部分(εi\varepsilon_iεi)。 | 合成(Synthesis) 将原始变量 XiX_iXi 线性组合 成新的综合变量(主成分 Fj=∑ujiXiF_j = \sum u_{ji}X_iFj=∑ujiXi)。 |
| 3. 成分/因子性质 | 公共因子(FjF_jFj)是潜在的、不可观测的随机变量。它们是模型推断出的原因。 | 主成分(FjF_jFj)是原始变量的确定性线性组合。它们是数据变换的结果。 |
| 4. 唯一性 | 因子载荷矩阵不唯一。可以通过旋转得到无数个在统计上等价但解释性不同的解。这正是其优势所在。 | 主成分及其载荷是唯一确定的(除了符号可能相反)。第一个主成分方向是唯一的(最大方差方向)。 |
| 5. 特殊因子 | 显式包含特殊因子(εi\varepsilon_iεi)。模型明确区分了公共方差和唯一方差。 | 没有特殊因子的概念 。所有方差都被分配给了主成分。前 mmm 个主成分无法解释的方差被视为"残差",但不是模型的一部分。 |
| 6. 协方差结构 | 模型为 Σ=AAT+D\mathbf{\Sigma} = \mathbf{A}\mathbf{A}^T + \mathbf{D}Σ=AAT+D。目标是用尽可能少的因子近似重构 Σ\mathbf{\Sigma}Σ。 | 主成分是 Σ\mathbf{\Sigma}Σ 的谱分解。前 mmm 个主成分能精确解释 ∑j=1mλj\sum_{j=1}^m \lambda_j∑j=1mλj 的方差。 |
| 7. 应用侧重点 | 理论构建、量表开发、探索潜在构念(如心理学中的"智力"、市场研究中的"品牌态度")。 | 数据降维、可视化、去噪、解决多重共线性。 |
核心联系:文档指出"因子分析是主成分分析的推广,也是主成分分析的逆问题"。这体现在:
- PCA是FA的一种特殊情形 :当提取的公因子个数 mmm 等于原始变量个数 ppp,且特殊因子方差 D=0\mathbf{D} = \mathbf{0}D=0 时,FA模型就退化成了一个纯粹的变量变换,此时其结果与PCA一致。
- PCA常作为FA的初始提取方法:因为PCA提供了一种快速、有效的方式来获得初始的因子载荷估计。
第五部分:文档中的典型案例解析
5.1 案例一:学生数学成绩分析
- 变量:5门课程成绩(代数1, 代数2, 几何, 三角, 解析几何)。
- 分析过程 :
- 提取2个公共因子。
- 查看因子载荷矩阵和共同度。
- 结果解读 :
- F1 在所有代数、三角、解析几何上载荷都很高(>0.8),被解释为 "逻辑思维和运算能力"。
- F2 在"几何"上载荷极高(0.855),远超其他变量,被解释为 "空间思维和推理能力"。
- 所有变量的共同度都非常高(>0.88),尤其是"几何"(0.997),说明这两个因子几乎完美地解释了这5门课程成绩之间的相关性。
- 启示:展示了如何通过载荷模式对抽象因子进行具象化命名。
5.2 案例二:奥运会十项全能成绩分析
- 变量:10个运动项目的成绩。
- 分析过程 :
- 初始提取因子后,发现除第一个因子(一般运动能力)外,其他因子难以解释。
- 进行因子旋转。
- 结果解读 :
- 旋转后,因子结构变得非常清晰,成功识别出四个具有明确体育意义的维度:
- 短跑速度因子(百米跑、400米跑、百米跨栏)
- 爆发性臂力因子(铅球、铁饼、标枪)
- 长跑耐力因子(1500米跑)
- 爆发腿力因子(跳远、跳高、撑杆跳远)
- 旋转后,因子结构变得非常清晰,成功识别出四个具有明确体育意义的维度:
- 启示 :因子旋转对于获得可解释的、有意义的因子结构至关重要。没有旋转,分析可能失败。
总结
综上所述:因子分析
- 它始于一个深刻的假设:可观测变量的相关性源于少数不可见的公共因子。
- 它通过一个严谨的数学模型 (X=μ+AF+ε\mathbf{X} = \boldsymbol{\mu} + \mathbf{A}\mathbf{F} + \boldsymbol{\varepsilon}X=μ+AF+ε)来形式化这一假设,并定义了关键参数(载荷、共同度)。
- 它遵循一套标准的操作流程:从适用性检验(KMO)、因子提取(主成分法)、到至关重要的因子旋转,再到因子命名和得分计算。
- 它与PCA有着本质的区别:FA是解释性的、分解式的、关注潜在结构的模型;而PCA是描述性的、合成式的、关注数据压缩的变换。
- 它的价值最终体现在实际应用中:通过两个生动的案例(学业成绩、体育成绩),文档展示了如何将抽象的数学输出转化为有实际意义的洞察。