网站营销活动策划,培训人员网站建设,wordpress 小视频模板,网站怎么做伪静态iis7.0内容摘要#xff1a; 本文系统解析因子分析的核心原理与MATLAB实战#xff0c;涵盖数学模型、载荷矩阵估计、因子旋转及得分计算。通过上市公司盈利能力、消费者偏好等案例#xff0c;演示数据标准化、因子提取与解释的全流程#xff0c;并提供完整代码实现。深入对比因子分…内容摘要 本文系统解析因子分析的核心原理与MATLAB实战涵盖数学模型、载荷矩阵估计、因子旋转及得分计算。通过上市公司盈利能力、消费者偏好等案例演示数据标准化、因子提取与解释的全流程并提供完整代码实现。深入对比因子分析与主成分分析的异同助力读者掌握高维数据降维与潜在结构挖掘的关键技术。
关键词因子分析 因子载荷 因子旋转 MATLAB实现 主成分分析—
1. 因子分析概述
因子分析Factor Analysis是一种多元统计方法旨在通过研究变量间的内部依赖关系提取潜在公共因子以简化数据结构。由心理学家Spearman于1904年提出广泛应用于心理学、经济学、生物学等领域。其核心目标是通过少数几个不可观测的公共因子Latent Factors解释原始变量的主要信息解决高维数据分析中的维度灾难问题。
与主成分分析PCA的区别
目标不同PCA是变量变换因子分析是构建潜在因子模型。解释性因子分析强调因子含义的可解释性PCA侧重信息保留。数学基础PCA基于协方差矩阵分解因子分析基于变量协方差结构建模。 2. 因子分析数学模型
2.1 基本模型
设原始变量为 X 1 , X 2 , … , X p X_1, X_2, \dots, X_p X1,X2,…,Xp标准化后为 Z 1 , Z 2 , … , Z p Z_1, Z_2, \dots, Z_p Z1,Z2,…,Zp因子分析模型可表示为 Z i a i 1 F 1 a i 2 F 2 ⋯ a i m F m U i ( i 1 , 2 , … , p ) Z_i a_{i1}F_1 a_{i2}F_2 \dots a_{im}F_m U_i \quad (i1,2,\dots,p) Ziai1F1ai2F2⋯aimFmUi(i1,2,…,p) 其中
公共因子 F 1 , F 2 , … , F m F_1, F_2, \dots, F_m F1,F2,…,Fm m p m p mp解释变量间的共同变异。特殊因子 U i U_i Ui表示变量特有变异满足 U i ∼ N ( 0 , σ i 2 ) U_i \sim N(0, \sigma_i^2) Ui∼N(0,σi2)。因子载荷 a i j a_{ij} aij反映变量 Z i Z_i Zi 与因子 F j F_j Fj 的相关性。
矩阵形式为 Z A F U Z AF U ZAFU 其中 Z Z Z 为标准化变量向量 A A A 为因子载荷矩阵 F F F 为公共因子向量 U U U 为特殊因子向量。
2.2 模型假设
公共因子与特殊因子独立 Cov ( F , U ) 0 \text{Cov}(F, U) 0 Cov(F,U)0。公共因子协方差矩阵为单位阵 Cov ( F ) I m \text{Cov}(F) I_m Cov(F)Im。特殊因子协方差矩阵为对角阵 Cov ( U ) diag ( σ 1 2 , … , σ p 2 ) \text{Cov}(U) \text{diag}(\sigma_1^2, \dots, \sigma_p^2) Cov(U)diag(σ12,…,σp2)。
2.3 核心指标
变量共同度 h i 2 ∑ j 1 m a i j 2 h_i^2 \sum_{j1}^m a_{ij}^2 hi2∑j1maij2反映公共因子对变量 Z i Z_i Zi 的解释程度。因子贡献率 S j ∑ i 1 p a i j 2 S_j \sum_{i1}^p a_{ij}^2 Sj∑i1paij2衡量因子 F j F_j Fj 的重要性等价于特征值 λ j \lambda_j λj。 3. 因子载荷矩阵的估计方法
3.1 主成分分析法
基于相关系数矩阵 R R R 的特征分解提取前 m m m 个主成分作为公共因子
特征分解 R Q Λ Q T R Q \Lambda Q^T RQΛQT其中 Λ diag ( λ 1 , … , λ p ) \Lambda \text{diag}(\lambda_1, \dots, \lambda_p) Λdiag(λ1,…,λp)。载荷矩阵 A ( λ 1 η 1 , … , λ m η m ) A (\sqrt{\lambda_1} \eta_1, \dots, \sqrt{\lambda_m} \eta_m) A(λ1 η1,…,λm ηm) η j \eta_j ηj 为特征向量。
MATLAB代码示例
[vec, val, con] pcacov(R); % 特征分解
A vec(:,1:m) * diag(sqrt(val(1:m))); % 构造载荷矩阵3.2 主因子法
通过约相关系数矩阵 R ∗ R − D R^* R - D R∗R−D D D D 为特殊方差矩阵估计载荷矩阵
初始估计假设 h i 2 max j ≠ i ∣ r i j ∣ h_i^2 \max_{j \neq i} |r_{ij}| hi2maxji∣rij∣ 或复相关系数平方。特征分解对 R ∗ R^* R∗ 进行分解得到载荷矩阵。
特点适用于特殊方差已知或可估计的场景。
3.3 极大似然估计法
假设数据服从多元正态分布通过最大化似然函数迭代求解载荷矩阵和特殊方差。 优点统计性质优良缺点计算复杂度高。 4. 因子旋转
为提高因子解释性对载荷矩阵进行正交旋转如方差最大法使因子结构更清晰。
4.1 方差最大法Varimax
目标最大化因子载荷平方的方差使每列载荷值两极分化。 旋转矩阵 Q ( cos ϕ − sin ϕ sin ϕ cos ϕ ) Q \begin{pmatrix} \cos \phi -\sin \phi \\ \sin \phi \cos \phi \end{pmatrix} Q(cosϕsinϕ−sinϕcosϕ) 通过优化 ϕ \phi ϕ 使旋转后载荷矩阵的方差最大。
MATLAB实现
[b, T] rotatefactors(A, method, varimax); % 旋转载荷矩阵4.2 案例消费者偏好分析
对5项食品评价指标进行因子分析旋转后载荷矩阵如下
指标旋转因子1常闭因子旋转因子2滞缺因子味道0.0270.9854价格0.87340.0034风味0.13290.9705快餐0.81780.4035能量0.9734-0.0179
结论因子1反映价格与能量属性因子2反映味道与风味属性。 5. 因子得分计算
5.1 巴特莱特因子得分
通过加权最小二乘法估计因子得分 F ^ ( A T D − 1 A ) − 1 A T D − 1 Z \hat{F} (A^T D^{-1} A)^{-1} A^T D^{-1} Z F^(ATD−1A)−1ATD−1Z 其中 D D D 为特殊方差对角矩阵。
5.2 回归法
利用回归系数矩阵估计因子得分 F ^ Z R − 1 A \hat{F} Z R^{-1} A F^ZR−1A
MATLAB代码示例
coef inv(R) * A; % 得分系数矩阵
score Z * coef; % 计算因子得分 6. 因子分析步骤
数据标准化消除量纲影响。计算相关系数矩阵评估变量相关性。提取公共因子根据特征值或累积贡献率选择因子数。因子旋转优化载荷矩阵结构。解释因子结合业务背景命名因子。计算因子得分用于后续分析如回归、聚类。 7. 实战案例上市公司盈利能力分析
7.1 数据与指标
16家上市公司的4项盈利指标销售净利率、资产净利率、净资产收益率、销售毛利率。
7.2 分析步骤
标准化数据消除量纲差异。计算相关系数矩阵验证变量相关性。提取主因子选择累积贡献率85%的因子前2个。因子旋转方差最大法优化解释性。计算综合得分 F 0.531 Z 1 0.1615 Z 2 − 0.1831 Z 3 0.5015 Z 4 F 0.531Z_1 0.1615Z_2 - 0.1831Z_3 0.5015Z_4 F0.531Z10.1615Z2−0.1831Z30.5015Z4
结果烟台万华、五粮液等公司盈利能力领先方正科技、湖北宜化等排名靠后。 8. MATLAB核心函数详解
8.1 pcacov主成分分析
[vec, val, con] pcacov(R); % R为相关系数矩阵
% vec: 特征向量val: 特征值con: 贡献率 8.2 rotatefactors因子旋转
[b, T] rotatefactors(A, method, varimax);
% b: 旋转后载荷矩阵T: 正交变换矩阵 8.3 factoran因子分析需谨慎使用
[Lambda, Psi, T, stats, F] factoran(X, m, rotate, varimax);
% Lambda: 旋转载荷矩阵F: 因子得分 9. 总结
因子分析优势降维、提取潜在结构、提升模型解释性。关键步骤因子提取、旋转、得分计算。应用场景消费者行为研究、财务指标分析、社会科学调查。