因子分析系列博文: 

因子分析 factor analysis (一 ):模型的理论推导

因子分析 factor analysis (二 ) : 因子分析模型

因子分析 factor analysis (三) : 因子载荷矩阵的估计方法

因子分析 factor analysis (四) : 因子旋转(正交变换)

因子分析 factor analysis (五) : 因子得分

因子分析 factor analysis (六) :用因子分析法进行综合评价

因子分析 factor analysis (七) :因子分析法与主成分分析的异同


目录

一:因子分析简述           二:因子分析模型            三:因子旋转

3.1 考虑两个因子的平面正交旋转          3.2  公共因子数 m > 2的情形

四:结语

一:因子分析简述

1 . 因子分析(factor analysis)是由英国心理学家Spearman在1904年提出来的,他 成功地解决了智力测验得分的统计分析,长期以来,教育心理学家不断丰富、发展了因 子分析理论和方法,并应用这一方法在行为科学领域进行了广泛的研究。

因子分析可以看成主成分分析的推广,它也是多元统计分析中常用的一种降维方 式,因子分析所涉及的计算与主成分分析也很类似,但差别也是很明显的:

1)主成分 分析把方差划分为不同的正交成分,而因子分析则把方差划归为不同的起因因子;

2) 因子分析中特征值的计算只能从相关系数矩阵出发,且必须将主成分转换成因子。  因子分析有确定的模型,观察数据在模型中被分解为公共因子、特殊因子和误差三 部分。

2.  初学因子分析的大困难在于理解它的模型,我们先看如下几个例子。

例1  为了解学生的知识和能力,对学生进行了抽样命题考试,考题包括的面很广, 但总的来讲可归结为学生的语文水平、数学推导、艺术修养、历史知识、生活知识等五个方面,我们把每一个方面称为一个(公共)因子,显然每个学生的成绩均可由这五个 因子来确定,即可设想第i个学生考试的分数   能用这五个公共因子   的线性组合表示出来 :

线性组合系数  称为因子载荷(loadings),它分别表示第i个学生在这五个因子方面的能力; 是总平均,  是第i个学生的能力和知识不能被这五个因子包含的部分,称为特殊因子,常假定 。 不难发现,这个模型与回归模型在形式上是很相似的,但这里  的值却是未知的,有关参数的意义也有很大的差异。

  因子分析的首要任务就是估计因子载荷   的方差  ,然后给因子  一个合理的解释,若难以进行合理的解释,则需要进一步作因子旋转,希望旋转后能发现比较合理的解释。

特别需要说明的是这里的因子和试验设计里的因子(或因素)是不同的,它比较抽象和概括,往往是不可以单独测量的。

例2  诊断时,医生检测了病人的五个生理指标:收缩压、舒张压、心跳间隔、呼 吸间隔和舌下温度,但依据生理学知识,这五个指标是受植物神经支配的,植物神经又 分为交感神经和副交感神经,因此这五个指标可用交感神经和副交感神经两个公共因子 来确定,从而也构成了因子模型。

例3  Holjinger和Swineford在芝加哥郊区对145名七、八年级学生进行了24个心理 测验,通过因子分析,这24个心理指标被归结为4个公共因子,即词语因子、速度因子、 推理因子和记忆因子。

二:因子分析模型

其中残差矩阵可表示为   ;所以与相关系数矩阵R 比较接近时,则从直观上可以认为因子模型给出了数据较好的拟合。

在因子分析中,一般人们的重点是估计因子模型的参数,即载荷矩阵,有时公共因 子的估计,即所谓因子得分,也是需要的,因子得分可以用于模型诊断,也可以作下一 步分析的原始数据,需要指出的是,因子得分的计算并不是通常意义下的参数估计,它是对不可观测的随机向量   取值的估计。通常可以用加权小二乘法回归法来估计因子得分。

三:因子旋转

上面主成分解是不唯一的,因为对 A作任何正交变换都不会改变原来的  ,即设Q为m 阶正交矩阵, B = AQ则 ,载荷矩阵的这种不唯一性表明看是不利的,但我们却可以利用这种不变性,通过适当的因子变换,使变换后新的因子具有 更鲜明的实际意义或可解释性,比如,我们可以通过正交变换使B 中有尽可能多的元 素等于或接近于0,从而使因子载荷矩阵结构简单化,便于做出更有实际意义的解释。

由于正交变换是一种旋转变换,如果我们选取方差大的正交旋转,即将各个因子 旋转到某个位置,使每个变量在旋转后的因子轴上的投影向大、小两级分化,从而 使每个因子中的高载荷只出现在少数的变量上,在后得到的旋转因子载荷矩阵中,每 列元素除几个值外,其余的均接近于0。  

3.1 考虑两个因子的平面正交旋转

当 m=2 时,还可以通过图解法,凭直觉将坐标轴旋转一个角度 φ ,一般的做法是先对变量聚类,利用这些类很容易确定新的公共因子。 

3.2  公共因子数 m > 2的情形

可以每次考虑不同的两个因子的旋转,从m 个因子中每次选两个旋转,共有 种旋转,做完这  次旋转就算完成了一个循环,然后重新开始第二个循环,每经一个循环,A阵的各列的相对方差和V 只会变大,当第k 次循环后的与上一次循环的 比较变化不大时,就停止旋转。

四:结语

综上所述,因子分析的基本步骤可概括;

1)求样本相关系数矩阵R 的特征值(依大小次序)及其相应的特征向量。

 取前面k个特征值使其累积方差贡献率超过85%,并给出前k个特征值对应的特征向量。

2)求因子载荷矩阵 A 。(由(40)式即可算出)

3)对载荷矩阵 A作正交旋转 ,使得到的矩阵 的方差和最大。

例1:设某三个变量的样本相关系数矩阵R如下, 试从R 出发,作因子分析。

求解的MATLAB程序如下:

clc,clear
r=[1 -1/3 2/3;-1/3 1 0;2/3 0 1];
[vec,val,con]=pcacov(r);num=2;
f1=repmat(sign(sum(vec)),size(vec,1),1);
vec=vec.*f1;     %特征向量正负号转换
f2=repmat(sqrt(val)',size(vec,1),1);
a=vec.*f2   %载荷矩阵
[b,t]=rotatefactors(a(:,1:num),'method', 'varimax') 

因子分析系列博文: 

因子分析 factor analysis (一 ):模型的理论推导

因子分析 factor analysis (二 ) : 因子分析模型

因子分析 factor analysis (三) : 因子载荷矩阵的估计方法

因子分析 factor analysis (四) : 因子旋转(正交变换)

因子分析 factor analysis (五) : 因子得分

因子分析 factor analysis (六) :用因子分析法进行综合评价

因子分析 factor analysis (七) :因子分析法与主成分分析的异同

因子分析 factor analysis (一 ):模型的理论推导相关推荐

  1. 因子分析 factor analysis (七) :因子分析法与主成分分析的异同

    因子分析系列博文:  因子分析 factor analysis (一 ):模型的理论推导 因子分析 factor analysis (二 ) : 因子分析模型 因子分析 factor analysis ...

  2. 因子分析 factor analysis (五) : 因子得分

    因子分析系列博文:  因子分析 factor analysis (一 ):模型的理论推导 因子分析 factor analysis (二 ) : 因子分析模型 因子分析 factor analysis ...

  3. 因子分析 factor analysis (三) : 因子载荷矩阵的估计方法

    因子分析系列博文:  因子分析 factor analysis (一 ):模型的理论推导 因子分析 factor analysis (二 ) : 因子分析模型 因子分析 factor analysis ...

  4. 多模型算法理论推导过程

    多模型估计方法概述 第一次用markdown写东西,先试试水   由于目标机动状态或者系统模式不确定,用单个模型往往不足以描述目标运动.一种更为合理和强大的描述方法为混杂系统表述,包括两个部分:一个连 ...

  5. 浅谈因子分析(Factor Analysis)

    问题 之前我们考虑的训练数据中样例的个数m都远远大于其特征个数n,这样不管是进行回归.聚类等都没有太大的问题.然而当训练样例个数m太小,甚至m<<n的时候,使用梯度下降法进行回归时,如果初 ...

  6. 因子分析(Factor Analysis)

      1 问题 之前我们考虑的训练数据中样例的个数m都远远大于其特征个数n,这样不管是进行回归.聚类等都没有太大的问题.然而当训练样例个数m太小,甚至m<<n的时候,使用梯度下降法进行回归时 ...

  7. 因子分析(Factor Analysis) 最大似然法

    1 问题 之前我们考虑的训练数据中样例的个数m都远远大于其特征个数n,这样不管是进行回归.聚类等都没有太大的问题.然而当训练样例个数m太小,甚至m<<n的时候,使用梯度下降法进行回归时,如 ...

  8. 因子分析(factor analyis)

    转自:http://www.cnblogs.com/jerrylead/archive/2011/05/11/2043317.html 1 问题 之前我们考虑的训练数据中样例的个数m都远远大于其特征个 ...

  9. 第九讲:因子分析(Factor analysis)

    如果有一个多个高斯模型混合(a mixture of several Gaussians)而来的数据集 x ( i ) ∈ R n x^{(i)} ∈ R^n x(i)∈Rn ,那么就可以用期望最大化 ...

  10. MachineLearning 2. 因子分析(Factor Analysis)

    点击关注,桓峰基因 桓峰基因 生物信息分析,SCI文章撰写及生物信息基础知识学习:R语言学习,perl基础编程,linux系统命令,Python遇见更好的你 68篇原创内容 公众号 关注公众号,桓峰基 ...

最新文章

  1. 广泛的信号处理链如何让语音助理“正常工作”
  2. 中国合同环境服务行业规划可行性及运营动态分析报告2022-2028年
  3. mysql5.7.11源码安装_MySQL5.7.10最新版本源代码安装详细过程_MySQL
  4. SAP ABAP OData uri type为metadata的请求处理逻辑
  5. 演练 多班分数录入统计优秀人数
  6. 自动检查点(Automatic Checkpointing)
  7. nginx反代web页面没有正常显示_web漏洞-SSI注入漏洞深入详解
  8. android只有域名打包封装成apk,一个Android Studio工程根据网址打包出不同的apk
  9. Logback文件详解
  10. errors and 0 warnings potentially fixable with the `--fix` option
  11. 抖音python广告用的什么音乐_被抖音捧火的几首纯音乐,都是你们要的原版,太震撼人心!...
  12. 使用deepin 20作为开发环境
  13. html+css+js按键定位搜索框
  14. Xamarin.Android之绑定库教程
  15. 【Popper报错】Popper: modifier “undefined“ provided an invalid “fn“ property
  16. 计算任意年份之间的天数
  17. FFmpeg: 通过ffplay给视频加字幕
  18. 手把手搭建Java金融借贷系统【附源码】(毕设)
  19. 鸿学金信风控详细介绍
  20. 【jQuery案例】手风琴

热门文章

  1. oracle solaris翻译,详解Oracle云操作系统Solaris 11.2
  2. ul阻燃标准有几个等级_UL 阻燃标准
  3. Java之棋牌游戏——编写一个斗地主洗牌发牌的程序,要求按照斗地主的规则完成洗牌发牌的过程
  4. 农村三资管理平台app_中科农村三资管理信息系统下载
  5. Matlab经纬度坐标转换xy坐标,经纬度坐标系转换为UTM坐标系(matlab)
  6. 利用python爬取飞猪信息_Python实战:飞猪IP池爬虫(8)
  7. 飞猪IP教你如何网络互换:电信,联通,移动网络互换
  8. 程序员的五种不同寻常的特质
  9. 小熊在线一键重装系统教程
  10. Python菜鸟快乐游戏编程_pygame