应用统计学与R语言实现学习笔记(十三)——因子分析

Chapter 13 Factor Analysis

本篇是第十三章,内容是因子分析。

1 因子分析概念

因子分析是一种数据简化的技术。它通过研究众多变量之间的内部依赖关系,探求观测数据中的基本结构,并用少数几个假想变量来表示其基本的数据结构。这几个假想变量能够反映原来众多变量的主要信息。原始的变量是可观测的显在变量,而假想变量是不可观测的潜在变量,称为因子。
即一种用来在众多变量中辨别、分析和归结出变量间的相互关系并用简单的变量(因子)来描述这种关系的数据分析方法。
寻求基本结构

  • 通过因子分析,找出几个较少的有实际意义的因子,反映出原来数据的基本结构。
  • 通常找出的这组观察不到的因子概括了原始的变量的大多数信息。

数据简化

  • 强相关问题会对分析带来困难。
  • 通过因子分析,可以用所找出的少数几个因子代替原来的变量做回归分析、聚类分析、判别分析等。

因子分析的用途

  • 产生新的、更少的变量以便为后续的回归和其他分析做基础。
  • 识别概念或产品的基本感知和特性。
  • 改善市场研究领域多元测量的结构与方法。

2 因子分析模型

数学模型
X i (i=1,2,,p)  p个变量,如果表示为:

X i =μ i +a i1 F 1 ++a im F m +ε i (mp) 


⎡ ⎣ ⎢ ⎢ ⎢ ⎢ X 1 X 2 X p  ⎤ ⎦ ⎥ ⎥ ⎥ ⎥ =⎡ ⎣ ⎢ ⎢ ⎢ ⎢ ⎢ μ 1 μ 2 μ p  ⎤ ⎦ ⎥ ⎥ ⎥ ⎥ ⎥ +⎡ ⎣ ⎢ ⎢ ⎢ ⎢ α 11 α 21 α p1  α 12 α 22 α p2   α 1m α 2m α pm  ⎤ ⎦ ⎥ ⎥ ⎥ ⎥ ⎡ ⎣ ⎢ ⎢ ⎢ ⎢ F 1 F 2 F m  ⎤ ⎦ ⎥ ⎥ ⎥ ⎥ +⎡ ⎣ ⎢ ⎢ ⎢ ⎢ ε 1 ε 2 ε p  ⎤ ⎦ ⎥ ⎥ ⎥ ⎥  

Xμ=AF+ε 

F 1 ,F 2 ,,F m   称为公共因子,是不可观测的变量,它们的系数称为因子载荷。 ε i   是特殊因子,是不可能被前m个公共因子包含的部分。并且满足:
cov(F,ε)=0  ,即 F,ε  不相关;
D(F)=⎡ ⎣ ⎢ ⎢ ⎢ ⎢ ⎢ 1 1  1  ⎤ ⎦ ⎥ ⎥ ⎥ ⎥ ⎥ =I 

F 1 ,F 2 ,,F m   互不相关,方差为1。
D(ε)=⎡ ⎣ ⎢ ⎢ ⎢ ⎢ ⎢ σ 2 1  σ 2 w   σ 2 p   ⎤ ⎦ ⎥ ⎥ ⎥ ⎥ ⎥  

ε i N(0,σ 2 i )  互不相关,方差不一定相等。
用矩阵的方式表达
Xμ=AF+ε 
E(F)=0 
E(ε)=0 
Var(F)=1 

cov(F,ε)=E(Fε  )=⎛ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ E(F 1 ε 1 )E(F 2 ε 1 )E(F p ε 1 ) E(F 1 ε 2 )E(F 2 ε 2 )E(F p ε 2 )  E(F 1 ε p )E(F 2 ε p )E(F p ε p ) ⎞ ⎠ ⎟ ⎟ ⎟ ⎟ ⎟ =0 

Var(ε)=diag(σ 2 1 ,σ 2 2 ,,σ 2 p ) 

因子分析模型的性质

1、原始变量X的协方差矩阵的分解

Σ x =AA  +D 

A是因子模型的系数
Var(ε)=D=diag(σ 2 1 ,σ 2 2 ,,σ 2 p ) 

D的主对角线上的元素值越小,则公共因子共享的成分越多。
2、模型不受计量单位的影响。
3、因子载荷不是惟一的:设T为一个p×p的正交矩阵,令A*=AT, F*=T’F也是一个满足因子模型条件的因子载荷。

因子载荷矩阵中的统计特征

  • 因子载荷 a ij   是第i个变量与第j个公共因子的相关系数。
  • 变量 X i   的共同度是因子载荷矩阵的第i行的元素的平方和。记为 h 2 i = m i=1 a 2 ij  
    所有的公共因子和特殊因子对变量 X i   的贡献为1。如果  m i=1 a 2 ij   非常靠近1, σ 2 i   非常小,则因子分析的效果好,从原变量空间到公共因子空间的转化性质好。
  • 因子载荷矩阵中各列元素的平方和 S j = p i=1 a 2 ij   称为 F j (j=1,2,,m)  对所有的 X i   的方差贡献和。衡量 F j   的相对重要性。

3 因子载荷矩阵的估计方法

  • 主成分分析法
    设随机向量 x=(x 1 ,x 2 ,,x p )    的均值为 μ  ,协方差为 Σ  λ 1 λ 2 λ p 0  Σ  的特征根, u 1 ,u 2 ,,u p   为对应的标准化特征向量,则:
    Σ=U⎡ ⎣ ⎢ ⎢ ⎢ ⎢ λ 1  λ 2   λ p  ⎤ ⎦ ⎥ ⎥ ⎥ ⎥ U  =AA  +D=[λ    1 u 1  λ    2 u 2   λ    p u p  ]⎡ ⎣ ⎢ ⎢ ⎢ ⎢ ⎢ λ    1 u  1 λ    2 u  2 λ    p u  p  ⎤ ⎦ ⎥ ⎥ ⎥ ⎥ ⎥ +D 

    上式给出的Σ表达式是精确的,然而,它实际上是毫无价值的,因为我们的目的是寻求用少数几个公共因子解释,故略去后面的p-m项的贡献。
    上式有一个假定:模型中的特殊因子是不重要的,因而从Σ的分解中忽略了特殊因子的方差。
    确定因子个数(特征根大于1所对应的特征向量;碎石原则:把特征根从大到小排列,把特征根减小速度变缓的特征根都删掉)。
  • 主因子法
    主因子方法是对主成分方法的修正,假定我们首先对变量进行标准化变换。则

    R=AA  +DR  =AA  =RD 

    R    为约相关矩阵, R    对角线上的元素是 h 2 i   ,而不是1。
    R  =RD ^ =⎡ ⎣ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ h ^  2 1 r 21 r p1  r 12 h ^  2 2 r p2   r 1p r 2p h ^  2 p  ⎤ ⎦ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥  

    直接求 R    的前p个特征根和对应的正交特征向量。得如下的矩阵:
    A=[λ  1  − −   u  1  λ  2  − −   u  2   λ  p  − −   u  p  ] 

    R    特征根: λ  1 λ  2 λ  p 0  ,正交特征向量: u  1 ,u  2 ,,u  p  
    当特殊因子 ε i   的方差已知:
    R  =R⎡ ⎣ ⎢ ⎢ ⎢ ⎢ ⎢ σ 2 1  σ 2 2   σ 2 p  ⎤ ⎦ ⎥ ⎥ ⎥ ⎥ ⎥ =[λ  1  − −   u  1  λ  2  − −   u  2   λ  p  − −   u  p  ]⎡ ⎣ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ λ  1  − −   u    1 λ  2  − −   u    2 λ  p  − −   u    p  ⎤ ⎦ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥  

    A=[λ  1  − −   u  1  λ  2  − −   u  2   λ  m  − − −   u  m  ] 

    D=⎛ ⎝ ⎜ ⎜ ⎜ ⎜ 1h ^  2 1 0  01h ^  2 p  ⎞ ⎠ ⎟ ⎟ ⎟ ⎟  

    在实际的应用中,个性方差矩阵一般都是未知的,可以通过一组样本来估计。估计的方法有如下几种:
    首先,求 h 2 i   的初始估计值,构造出R*
    1、取 h 2 i =1  ,在这个情况下主因子解与主成分解等价;
    2、取 h 2 i =R 2 i   R 2 i   x i   与其他所有的原始变量 x j   的复相关系数的平方,即 x i   对其余的p-1个 x j   的回归方程的判定系数,这是因为xi与公共因子的关系是通过其余的p-1个 x j   的线性组合联系起来的;
    3、取 h ^  2 i =max∣ ∣ r ij ∣ ∣ (ji)  ,这意味着取 x i   与其余的 x j   的简单相关系数的绝对值最大者;
    4、取 h 2 i =1p1  p j=1,ji r ij   ,其中要求该值为正数。
    5、取 h 2 i =1/r ii   ,其中 r ii   R 1   的对角元。

  • 极大似然估计法
    如果假定公共因子F和特殊因子 ε  服从正态分布,那么可以得到因子载荷和特殊因子方差的极大似然估计。设 x 1 ,x 2 ,,x n   为来自正态总体 N p (μ,Σ)  的随机样本。 Σ=AA  +Σ ε  

    L(μ ^ ,A ^ ,D ^ ) =f(X)=f(X 1 )f(X 2 )f(X n )= i=1 n (2π) p/2 |Σ| 1/2 exp[12 (x i μ)  Σ 1 (x i μ) ]=[(2π) p |Σ| n/2  ]exp[12  i=1 n (X i μ)  Σ 1 (X i μ) ]  

    用数值极大化的方法可以得到极大似然估计。

4 因子旋转(正交变换)

旋转因子的目的
因子分析的目的不仅仅是要找出公共因子以及对变量进行分组,更重要的是要知道每个公共因子的意义,以便进行进一步的分析。如果每个公共因子的含义不清,则不便于进行实际背景的解释。
初始因子的综合性太强,难以找出因子的实际意义。由于因子载荷阵是不唯一的,所以可以对因子载荷阵进行旋转,使因子载荷阵的结构简化,使其每列或行的元素平方值向0和1两极分化。
旋转方法
Γ  正交矩阵,做正交变换 B=AΓ 

  • 变换后各变量的共同度不会发生变化。
  • 变换后各因子的贡献会发生变化。

三种主要的正交旋转法

  • 方差最大法
    方差最大法从简化因子载荷矩阵的每一列出发,使和每个因子有关的载荷的平方的方差最大。当只有少数几个变量在某个因子上有较高的载荷时,对因子的解释最简单。 方差最大的直观意义是希望通过因子旋转后,使每个因子上的载荷尽量拉开距离,一部分的载荷趋于±1,另一部分趋于0。
    A=⎡ ⎣ ⎢ ⎢ ⎢ ⎢ a 11 a 21 a p1  a 12 a 22 a p2  ⎤ ⎦ ⎥ ⎥ ⎥ ⎥  

    X 1 =a 11 F 1 +a 12 F 2 X 2 =a 21 F 1 +a 22 F 2 X p =a p1 F 1 +a p2 F 2  

    设旋转矩阵: T=(cosφsinφ sinφcosφ ) 
    B =AT=A(cosφsinφ sinφcosφ )=⎛ ⎝ ⎜ ⎜ a 11 cosφ+a 12 sinφa p1 cosφ+a p2 sinφ a 11 sinφ+a 12 cosφa p1 sinφ+a p2 cosφ ⎞ ⎠ ⎟ ⎟ =⎛ ⎝ ⎜ ⎜ a  11 a  p1  a  12 a  p2  ⎞ ⎠ ⎟ ⎟   

    d ij =a  ij h i  ,i=1,2,,p;j=1,2 
    d ¯  j =1p  p i=1 d 2 ij   (这是列和)
    简化准则为: V(θ)= m j=1  p i=1 (d 2 ij d ¯  j ) 2 =max 
    即: V 1 +V 2 +V 3 ++V m =max 
    Vθ =0  ,则可以解出 θ 0  
    旋转矩阵为: T=(cosθ 0 sinθ 0  sinθ 0 cosθ 0  ) 
  • 四次方最大法
    四次方最大旋转是从简化载荷矩阵的行出发,通过旋转初始因子,使每个变量只在一个因子上有较高的载荷,而在其它的因子上尽可能低的载荷。 如果每个变量只在一个因子上有非零的载荷,这时的因子解释是最简单的。四次方最大法通过使因子载荷矩阵中每一行的因子载荷平方的方差达到最大。
    简化准则为: Q= p i=1  m j=1 (b 2 ij 1m ) 2 =max 
    Q = i=1 p  j=1 m (b 2 ij 1m ) 2 = i=1 p  j=1 m (b 4 ij 21m b 2 ij +1m 2  )= i=1 p  j=1 m (b 4 ij 2 i=1 p  j=1 m 1m b 2 ij + i=1 p  j=1 m 1m 2  )= i=1 p  j=1 m (b 4 ij 2 i=1 p  j=1 m 1m b 2 ij + i=1 p  j=1 m 1m 2  )= i=1 p  j=1 m (b 4 ij 2+pm )  

    最终的简化准则为: Q= p i=1  m j=1 b 4 ij =MAX 
  • 等量最大法
    等量最大法把四次方最大法和方差最大法结合起来求Q和V的加权平均最大。
    最终的简化准则为: E= p i=1  m j=1 b 4 ij γ m j=1 ( p i=1 b 2 ij ) 2 /p=MAX 
    权数 γ  等于 m/2  ,因子数有关。

5 因子得分

当解决了用一组公共因子的线性组合来表示一组观测变量后,有时我们需要使用这些因子做其他的研究。比如把得到的因子作为自变量来做回归分析,对样本进行分类或评价,这就需要我们对公共因子进行测度,即给出公共因子的值。
因子得分
因子分析的数学模型:

⎡ ⎣ ⎢ ⎢ ⎢ ⎢ X 1 X 2 X p  ⎤ ⎦ ⎥ ⎥ ⎥ ⎥ =⎡ ⎣ ⎢ ⎢ ⎢ ⎢ α 11 α 21 α p1  α 12 α 22 α p2   α 1m α 2m α pm  ⎤ ⎦ ⎥ ⎥ ⎥ ⎥ ⎡ ⎣ ⎢ ⎢ ⎢ ⎢ F 1 F 2 F p  ⎤ ⎦ ⎥ ⎥ ⎥ ⎥  

原变量被表示为公共因子的线性组合,当载荷矩阵旋转之后,公共因子可以做出解释,通常的情况下,我们还想反过来把公共因子表示为原变量的线性组合。
因子得分函数: F j =β j1 X 1 ++β jp X p ,j=1,,m 
可见,要求得每个因子的得分,必须求得分函数的系数,而由于p>m,所以不能得到精确的得分,只能通过估计。
巴特莱特因子得分(加权最小二乘法)
x i μ i   看作因变量;把因子载荷矩阵
⎡ ⎣ ⎢ ⎢ ⎢ ⎢ α 11 α 21 α p1  α 12 α 22 α p2   α 1m α 2m α pm  ⎤ ⎦ ⎥ ⎥ ⎥ ⎥  

看成自变量的观测;把某个个案的得分 F j   看作最小二乘法需要求的系数。
⎧ ⎩ ⎨ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ x i1 μ 1 =a 11 f 1 +a 12 f 2 ++a 1m f m +ε 1 x i2 μ 2 =a 21 f 1 +a 22 f 2 ++a 2m f m +ε 2 x ip μ p =a p1 f 1 +a p2 f 2 ++a pm f m +ε p   

由于特殊因子的方差相异,所以用加权最小二乘法求得分,每个个案作一次,要求出所有样品的得分,需要作n次。
 j=1 p [(x i μ i )(a i1 f ^  1 +a i2 f ^  2 ++a im f ^  m )] 2 /σ 2 i  

使上式最小的 f ^  1 ,,f ^  m   是相应个案的因子得分。
回归方法
⎡ ⎣ ⎢ ⎢ ⎢ ⎢ X 1 X 2 X n  ⎤ ⎦ ⎥ ⎥ ⎥ ⎥ =⎡ ⎣ ⎢ ⎢ ⎢ ⎢ α 11 α 21 α p1  α 12 α 22 α p2   α 1m α 2m α pm  ⎤ ⎦ ⎥ ⎥ ⎥ ⎥ ⎡ ⎣ ⎢ ⎢ ⎢ ⎢ F 1 F 2 F p  ⎤ ⎦ ⎥ ⎥ ⎥ ⎥ +⎡ ⎣ ⎢ ⎢ ⎢ ⎢ ε 1 ε 2 ε n  ⎤ ⎦ ⎥ ⎥ ⎥ ⎥  

F ^  j =b j1 X 1 ++b jp X p ,j=1,,m 

⎡ ⎣ ⎢ ⎢ ⎢ ⎢ ⎢ b 11 b 21 b m1  b 12 b 22 b m2   b 1p b 2p b mp  ⎤ ⎦ ⎥ ⎥ ⎥ ⎥ ⎥ =⎡ ⎣ ⎢ ⎢ ⎢ ⎢ b 1 b 2 b m  ⎤ ⎦ ⎥ ⎥ ⎥ ⎥  

α ij =γ x i F j  =E(X i ,F j ) =E[X i (b j1 X 1 ++b jp X p )]=b j1 γ i1 ++b jp γ ip =[γ i1  γ i2   γ ip  ]⎡ ⎣ ⎢ ⎢ ⎢ ⎢ ⎢ b j1 b j2 b jp  ⎤ ⎦ ⎥ ⎥ ⎥ ⎥ ⎥   

则,我们有如下的方程组:
⎡ ⎣ ⎢ ⎢ ⎢ ⎢ ⎢ γ 11 γ 21 γ p1  γ 12 γ 22 γ p2   γ 1p γ 2p γ pp  ⎤ ⎦ ⎥ ⎥ ⎥ ⎥ ⎥ ⎡ ⎣ ⎢ ⎢ ⎢ ⎢ ⎢ b j1 b j2 b jp  ⎤ ⎦ ⎥ ⎥ ⎥ ⎥ ⎥ =⎡ ⎣ ⎢ ⎢ ⎢ ⎢ ⎢ a 1j a 2j a pj  ⎤ ⎦ ⎥ ⎥ ⎥ ⎥ ⎥ ,j=1,2,,m 

⎡ ⎣ ⎢ ⎢ ⎢ ⎢ ⎢ γ 11 γ 21 γ p1  γ 12 

你可能感兴趣的:(R语言,统计学,统计学,r语言)