SAS入门——多元统计(因子分析) 初学者笔记(三)欢迎指正

主成分分析是归纳总结,从变量层面升高一层,这一层能包含所选变量。以原变量的线性组合将原变量综合成少数几个主成分;因子分析是从变量层面下降一层,这一层是变量的组成成分。将原变量分解成几个公因子的线性组合,从而更好的了解原变量的内在关系。(用较少的独立的因子变量代替原始变量包含的大部分信息。)

因子分析不是主成分分析的逆运算,相反和主成分分析类似,因子指的是多个变量都含有的影响力大的从变量中提取出来的东西,类似于共性因子。就比如我们正在进行一项关于学生学业表现的研究,收集了包括数学成绩、语文成绩、英语成绩、物理成绩和化学成绩等多个科目的成绩数据。通过因子分析,我们可能会发现这些成绩数据之间存在某种潜在的结构或共同特征。

在这个例子中,因子分析可能会提取出两个或几个公共因子。比如,一个公共因子可能代表了“语言能力”,它与数学成绩的相关性较低,但与语文成绩、英语成绩的相关性较高。这表示学生在语文和英语方面的表现可能受到某种共同因素的影响,这种因素可能就是“语言能力”。另一个公共因子可能代表了“理科能力”,它与物理成绩和化学成绩的相关性较高,而与语文和英语成绩的相关性较低。

这些公共因子并不是直接观测到的变量,而是通过对原始变量的相关系数矩阵进行数学运算得出的。它们代表了原始变量之间的共同特征或潜在结构,有助于我们更深入地理解学生学业表现的内在机制。

通过因子分析,我们不仅可以提取出公共因子,还可以得到每个原始变量在各个公共因子上的载荷(系数)。这些载荷反映了原始变量与公共因子之间的相关性程度,可以帮助我们理解每个原始变量在公共因子中的贡献和重要性。

步骤:

1)确认待分析的变量是否适合做因子分析:计算原有变量的相关系数矩阵,一般小于0.3不适合做因子分析。

2)构造因子变量
将原始变量标准化,以消除数量级和量纲(单位)上的不同;求标准化数据的相关矩阵;求相关矩阵的特征值和特征向量;计算方差贡献率和累计方差贡献率;确定因子(若前m个因子的累计贡献率不小于80%则可取前m个因子来反映原指标)

3)利用旋转方法使因子变量更具有可解释性

4)计算因子得分
用原指标的线性组合来求各因子得分。

左边变量,右边因子。

X为要分解的变量, F1,F2,...,Fm为公共因子,是不可观测的变量。L=(L_{ij})_{p*m} 称为因子载荷阵(原始变量与提取的因子之间的关系),L_{ij}表示第i个变量在第 j个因子上的载荷(系数)。\varepsilon _{i}是特殊因子,是不能被前m个公共因子包含的部分。并且满足cov(F,ε)=0,F,ε不相关。
说明:进行因子分析要求原始变量间存在较强的相关性,如果没有较强的相关性,则无法从中综合出能反映某些变量共同特征的少数因子变量。

步骤:1.找到潜在的公共因子F1、F2......Fm;2.计算因子载荷;3.解释变量间的关系。

1.找到潜在的公共因子

A就是a组成的矩阵,他是个正交阵,A的逆等于A的转置。

标准化,均值为零。

L_{ij}是第i个变量与第j个因子之间的相关系数,反映了第i个变量在第j个因子上的重要性,即表示变量X_{i}依赖于F_{i}的分量(比重)

例一:已知12个地区的5个经济指标:人口总数、学校总数、就业人口、服务业总数、房子个数。依据已知的5个经济指标,对12个地区的综合经济实力进行因子分析。

data ex842;
input objects$ pop school employ services house@@;
cards;
1 5700 12.8 2500 270 25000
2 1000 10.9 600 10 10000
3 3400 8.8 1000 10 9000
4 3800 13.6 1700 140 25000
5 4000 12.8 1600 140 25000
6 8200 8.3 2600 60 12000
7 1200 11.4 400 10 16000
8 9100 11.5 3300 60 14000
9 9900 12.5 3400 180 18000
10 9600 13.7 3600 390 25000
11 9600 9.6 3300 80 12000
12 9400 11.4 4000 100 13000
;
proc factor data=ex842 method=principal
percent=0.8 outstat=ex1;
var pop school employ services house;
run;
proc print data=ex1;
run;

$ 符号通常用于指示字符变量。在数据步中,如果在变量名后面加上符号通常用于指示字符变量数据步中,如果在变量名后面加上 符号,就表示该变量是一个字符型变量,而不是数值型变量。字符型变量通常用于存储文本数据,例如姓名、地址、描述等。

outstat输出统计量。

1。method是因子选择方法

2.outstat是输出数据集--用于存储因子分析的结果

通常确定因子个数时,要求因子累计贡献率大80%。结果表明应选取2个因子,记为F1,F2,贡献率分别为57.47%、35.93%。

当然有时因子载荷(系数)较均匀,不容易直接看出潜在因子对哪一个指标的影响最大,因而不容易赋予潜在因子一个合理的变量名称。
在这种情况下,需采用某种旋转(rotation)的方法,即使用某种线性变换初始潜在因子转换成一组新的潜在因子,使得新的潜在因子对每一个指标的因子载荷的绝对值向0或1两极分化,从而能清楚地看到每一个潜在因子对哪一个指标影响最大,进而给出更合理的潜在因子的实际意义的解释。

在因子旋转过程中,按照旋转坐标轴的位置不同,如果主轴相互正交,则称之为正交旋转;如果主轴相互间不是正交的,则称之为斜交旋转。
在sas系统中,可供选择的因子旋转方法主要有方差最大化法,四分位最大法、平衡法、正交旋转法常用的是方差最大化旋转法(rotate=varimax),rotate = 因子旋转方式名

修改一下原程序:(方差最大化旋转)

proc factor data=ex842 method=principal
rotate=varimax percent=0.8 score outstat=ex1;
/*载荷矩阵估计方法,正交旋转方法,累计贡献率,计算因子得分矩阵以便后面计算因子得分*/
var pop school employ services house;
run;
proc score data=ex842 score=ex1 out=ex2;
var pop school employ services house;
run;
proc print data=ex1; proc print data=ex2;
run;

第一公因子主要体现房子数、学校总数和服务总数,可归纳为“福利因子”
第二公因子主要体现就业人口和人口总数,可归纳为“***因子”

以上为12个样本的5个指标值,以及2个公共指标的得分,因子F1中J地区的得分最高,说明该地区的服务教育服务设施较好。因子F2中L地区的得分最高说明该地区的就业情况较好。

通过以上过程可以得知因子分析的用途:

1)寻找变量间的潜在结构
许多变量是无法直接观测到的,往往需要一个一系列可直接观测的相关变量来间接反映。运用因子分析可以将这些变量潜在的结构推导出来并加以利用,
2)评估问卷的结构效度
得出问卷中哪些问题用于研究哪些在的特征(因子),从而得出该问卷结构效度的评价
3)内在结构证实
根据某些理论或其他知识对可能的内在结构进行了假设,可以用因子分析来验证该假设是否成立

  • 11
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值