因子分析(Factor Analysis)
因子分析与主成分分析相类似,同样用于降维,但因子分析具有更好的可解释性(因为相较于主成分分析,因子分析多了一个因子旋转),因此更适合降维,在这个程度上讲,因子分析是主成分分析的推广和扩展
需要进行特别讲述的是这里的因子和试验设计里的因子(或因素)不相同,得到的因子往往比较抽象,而且很难被单独测量
样例使用总平均、公共因子、特殊因子进行表示,如下公式,因为公共因子在每个案例都存在而且相同,故称之为公共因子,而特殊因子用来拟合那些不能被公共因子拟合的部分
{ x 1 = u 1 + a 11 f 1 + a 12 f 2 + ⋯ + a 1 m f m + ε 1 x 2 = u 2 + a 21 f 1 + a 22 f 2 + ⋯ + a 2 m f m + ε 2 ⋮ x p = u p + a p 1 f 1 + a p 2 f 2 + ⋯ + a p m f m + ε p ⇒ { f 1 = b 11 x 1 + b 12 x 2 + ⋯ + b 1 p x p f 2 = b 21 x 1 + b 22 x 2 + ⋯ + b 2 p x p ⋮ f m = b m 1 x 1 + b m 2 x 2 + ⋯ + b m p x p x = u + A f + ε \quad\left\{\begin{array} { c } { x _ { 1 } = u _ { 1 } + a _ { 1 1 } f _ { 1 } + a _ { 1 2 } f _ { 2 } + \cdots + a _ { 1 m } f _ { m } + \varepsilon _ { 1 } } \\ { x _ { 2 } = u _ { 2 } + a _ { 2 1 } f _ { 1 } + a _ { 2 2 } f _ { 2 } + \cdots + a _ { 2 m } f _ { m } + \varepsilon _ { 2 } } \\ { \vdots } \\ { x _ { p } = u _ { p } + a _ { p 1 } f _ { 1 } + a _ { p 2 } f _ { 2 } + \cdots + a _ { p m } f _ { m } + \varepsilon _ { p } } \end{array} \Rightarrow \left\{\begin{array}{c} f_{1}=b_{11} x_{1}+b_{12} x_{2}+\cdots+b_{1 p} x_{p} \\ f_{2}=b_{21} x_{1}+b_{22} x_{2}+\cdots+b_{2 p} x_{p} \\ \vdots \\ f_{m}=b_{m 1} x_{1}+b_{m 2} x_{2}+\cdots+b_{m p} x_{p} \end{array}\right.\right.\\ \\ x=u+A f+\varepsilon ⎩ ⎨ ⎧x1=u1+a11f1+a12f2+⋯+a1mfm+ε1x2=u2+a21f1+a22f2+⋯+a2mfm+ε2⋮xp=up+ap1f1+ap2f2+⋯+apmfm+εp⇒⎩ ⎨ ⎧f1=b11x1+b12x2+⋯+b1pxpf2=b21x1+b22x2+⋯+b2pxp⋮fm=bm1x1+bm2x2+⋯+bmpxpx=u+Af+ε
\quad\left\{\begin{array} { c }
{ x _ { 1 } = u _ { 1 } + a _ { 1 1 } f _ { 1 } + a _ { 1 2 } f _ { 2 } + \cdots + a _ { 1 m } f _ { m } + \varepsilon _ { 1 } } \\
{ x _ { 2 } = u _ { 2 } + a _ { 2 1 } f _ { 1 } + a _ { 2 2 } f _ { 2 } + \cdots + a _ { 2 m } f _ { m } + \varepsilon _ { 2 } } \\
{ \vdots } \\
{ x _ { p } = u _ { p } + a _ { p 1 } f _ { 1 } + a _ { p 2 } f _ { 2 } + \cdots + a _ { p m } f _ { m } + \varepsilon _ { p } }
\end{array} \Rightarrow \left\{\begin{array}{c}
f_{1}=b_{11} x_{1}+b_{12} x_{2}+\cdots+b_{1 p} x_{p} \\
f_{2}=b_{21} x_{1}+b_{22} x_{2}+\cdots+b_{2 p} x_{p} \\
\vdots \\
f_{m}=b_{m 1} x_{1}+b_{m 2} x_{2}+\cdots+b_{m p} x_{p}
\end{array}\right.\right.\\
\\
x=u+A f+\varepsilon
第 i i i 个因子的得分可写成 f i = b i 1 x 1 + b i 2 x 2 + ⋯ + b i p x p ( i = 1 , 2 , ⋯ , m ) f_{i}=b_{i 1} x_{1}+b_{i 2} x_{2}+\cdots+b_{i p} x_{p}(i=1,2, \cdots, m) fi=bi1x1+bi2x2+⋯+bipxp(i=1,2,⋯,m) b i j b_{i j} bij 就是第 i i i 个因子的得分对应于第 j j j 个变量 x j x_{j} xj 的系数
因子分析做出的假设:
{
E
(
f
)
=
0
E
(
ε
)
=
0
Var
(
f
)
=
I
Var
(
ε
)
=
D
=
diag
(
σ
1
2
,
σ
2
2
,
⋯
,
σ
p
2
)
cov
(
f
,
ε
)
=
E
(
f
ε
′
)
=
0
\left\{\begin{array}{l} E(f)=0 \\ E(\varepsilon)=0 \\ \operatorname{Var}(f)=I \\ \operatorname{Var}(\varepsilon)=D=\operatorname{diag}\left(\sigma_{1}^{2}, \sigma_{2}^{2}, \cdots, \sigma_{p}^{2}\right) \\ \operatorname{cov}(f, \varepsilon)=E\left(f \varepsilon^{\prime}\right)=0 \end{array}\right.
⎩
⎨
⎧E(f)=0E(ε)=0Var(f)=IVar(ε)=D=diag(σ12,σ22,⋯,σp2)cov(f,ε)=E(fε′)=0
\left\{\begin{array}{l}
E(f)=0 \\
E(\varepsilon)=0 \\
\operatorname{Var}(f)=I \\
\operatorname{Var}(\varepsilon)=D=\operatorname{diag}\left(\sigma_{1}^{2}, \sigma_{2}^{2}, \cdots, \sigma_{p}^{2}\right) \\
\operatorname{cov}(f, \varepsilon)=E\left(f \varepsilon^{\prime}\right)=0
\end{array}\right.
因子分析过程(使用SPSS)
1. 第一次因子分析
利用SPSS进行因子分析
“分析” -> “降维” -> “因子” -> 将需要进行因子分析的变量移到右面
在右侧的选项中,修改下列选项:
-
“描述” -> 勾选“单变量描述”(计算均值标准差等进行统计性分析)、“系数”(用来显示相关系数矩阵)、“显著性水平”、“KMO和巴特利特球形检验”(用来验证数据是否适合进行因子分析)
-
“提取” -> “方法”选择主成分(或最大似然法或主轴因子法) -> 勾选“碎石图”和“未旋转因子解”
-
“旋转” -> 勾选“最大方差法”和“载荷图”
-
“得分” -> 勾选“保存为变量”-> 将“回归”更改为“安得森-鲁宾” -> 勾选“显示因子得分系数矩阵”
得到结果
先验证原始数据是否通过KMO检验和巴特尔特球形检验
- KMO检验标准:
KMO>0.9 | 非常适合因子分析 |
---|---|
0.8<KMO<0.9 | 适合因子分析 |
0.7<KMO<0.8 | 一般 |
0.6<KMO<0.7 | 不太适合因子分析 |
KMO<0.5 | 不适合因子分析 |
- 巴特利特球形检验:
SPSS中得到的结果中,显著性就是P值
如果其统计量对应的p值小于用户心中的显著性水平(一般取0.05),那么应该拒绝原假设(相关系数矩阵是一个单位阵(不适合做因子分析,不适合降维,指标相关性太差)),认为相关系数不可能是单位阵,即原始变量之间存在相关性,适合于作因子分析;否则不适合作因子分析。
论文中如何叙述?举个例子:
用碎石图(scree test)确定因子的数目
第二次因子分析
重复上面的SPSS步骤,需要增加:“提取” -> 选择因子的固定数目 -> 输入因子数
这个选项,其余步骤不变
分析共性方差
共性方差——因子载荷矩阵行元素的平方和 h i 2 = ∑ j = 1 m a i j 2 h_{i}^{2}=\sum_{j=1}^{m} a_{i j}^{2} hi2=∑j=1maij2,表征了原始变量对公因子依赖的程度,数值越接近1,说明因子越能很好的解释原始变量
总方差解释
成分矩阵
旋转后的空间中的组件图
旋转后的空间中的组件图:是上面成分矩阵的可视化展示,根据“旋转后的成分矩阵”的两列数据所作(由于上面选择了两个因子,所以此图是二维的,如果有三个因子,那么画出来的图就是三维图)
因子得分
如果想要使用这些因子做其它的研究,比如把得到的因子作为自变量进行回归分析,对样本进行分类等等,就需要写出因子得分,因子得分的方法有回归方法、巴特莱特方法等,具体的可以在SPSS中进行选择。
根据成分得分系数矩阵表来写出因子得分:
和主成分分析一样,我们可以用因子得分f1和f2作为两个新的变量,来进行后续的建模(例如聚类、回归等)
注意:因子分析模型不能用于综合评价,尽管有很多论文是这样写的,但这是存在很大的问题的。例如变量的类型(中间型、递减型变量等没有进行处理)、选择因子的方法、旋转对最终的影响都是很难说清的。
参考:
清风数学建模
《数学建模算法与应用》——司守奎文章来源:https://www.toymoban.com/news/detail-450039.html
清风老师讲的课程很清晰,尤其是这次对于SPSS的使用讲解很清楚,清风老师的课程还是不错的,安利一下文章来源地址https://www.toymoban.com/news/detail-450039.html
到了这里,关于因子分析的过程(使用SPSS,提供部分公式的LATEX代码)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!