SAS实验因子分析聚类分析.docx
- 文档编号:9240177
- 上传时间:2023-02-03
- 格式:DOCX
- 页数:21
- 大小:419.08KB
SAS实验因子分析聚类分析.docx
《SAS实验因子分析聚类分析.docx》由会员分享,可在线阅读,更多相关《SAS实验因子分析聚类分析.docx(21页珍藏版)》请在冰豆网上搜索。
SAS实验因子分析聚类分析
SAS
数据挖掘与应用
实验报告
实验要求:
1.选择经济领域中的一个问题,确定相关的分析变量,描述通过数据挖掘来探究(或解释、或解决)问题的逻辑思路,说明预期的结果(结论)等。
2.查询和搜集相关原始数据
3.整理、准备数据,建立数据集
4.采用二种或二种以上的挖掘方法,或进行对比分析,或先后进行多个阶段的分析。
5.对挖掘结果进行分析和说明。
6.总结研究结论或结果。
实验目的:
1.熟悉SAS软件操作
2.练习SAS编程
3.学习并练习描述性统计分析、因子分析、聚类分析等方法与实际操作
4.研究实际问题
问题描述:
“三农”问题是我国现阶段大力需要解决的问题之一,如何拉动农村经济发展,提高农民收入已成为社会关注的焦点。
为了解决三农问题,首先应当了解现阶段我国各地农民的生活水平,了解农村人均消费支出的情况。
因此,我们希望通过分析农村人均消费支出的各项指标,来研究各地农民的整体消费水平和消费结构,以及各地农村人口消费水平和结构的差异。
解决思路:
为了研究上述问题,我们应当以近年的各地区农村人均生活消费支出相关数据为数据源,通过描述性统计分析对整体数据进行初步了解;并在因子分析的基础上进行聚类分析,对各地区依据消费水平的高低进行分类;还可以参数检验判断不同地区的农民生活水平是否存在差异;若引入时序数据,则可进一步进行关联分析,预测某些地区未来的消费结构变化。
本人会在数据分析的基础上,结合实际进行分析,解释数据结果的实际意义。
由于精力有限,此次实验本人计划主要进行三项数据分析:
1.描述性分析
2.基于主成分法的因子分析
3.在因子分析的基础上,用Cluster和Tree过程进行聚类分析
注:
部分内容为参考教材自学,理解可能不甚透彻,若有错误恳请老师指出。
实验过程:
1.搜集数据
通过搜索相关数据库,得到2008年我国各地区农村人均生活消费支出的相关数据,共包括我国31个省市自治区,设计8个方面的人均消费支出。
2.数据准备和预处理
首先建立数据集,我将数据存在D:
\mydata.txt中。
此处编写SAS程序来实现INPUT数据。
解释:
将原始数据读入到SAS数据集中,并在结果窗格中显示。
我们建立了数据集expend,利用infile语句读入外部数据文件,假定数据包含在D盘根目录下的mydata.txt中,选项delimiter=’09’x表示分隔符为制表符,firstobs=2,表示从第二行开始读入,inputdistrict$,district表示地区,为字符型变量,x为总支出,x1-x8分别表示8项消费指标,再利用label语句加标签明确其含义。
最后用print在结果窗口中显示。
如图:
注:
右上角的制表时间是由于时间跳过程序修改造成的,后同。
3.描述性统计分析
①单变量分析:
首先要对数据的基本情况有一个初步的了解,因此先进行单变量分析。
再次我们利用means过程计算一些描述性统计量,编写程序如下:
解释:
proc语句指定运行means过程,并指出分析的数据集为expend,maxdec=2表示计算的描述统计量保留两位小数,然后指定要计算的统计量为:
均值、标准差、最大值、最小值、极差、变异系数、偏度。
之后指定要分析的变为量x,x1-x8。
运行结果如下:
分析:
(1)总支出为3807.82元,可以看出农民的生活水平总体来说还是较低的,改善农民生活仍然任重道远。
变量x的标准偏差为1578.54,然而最大值为9119.67,最小值为2165.70,极差达到6953.97元,说明各地区农民生活水平差异很大,贫富差距明显,地区发展不平衡。
变量x的偏度为2.08>0,说明为正偏态,均值左边集中右边分散,说明我国大部分地区的农村消费支出仍然处于中低水平,高消费支出的地区较少,但是消费额很高。
(2)从变异系数来看,x6文教娱乐的变异系数达到了61.53,x4家庭设备、x5交通通信、x7医疗保健的变异系数也都超过了50,说明各地区在文教、家庭设备、医疗保健等方面存在较大的相对差异。
②相关系数分析和P值检验
鉴于x是x1-x8的线性表示,之后我们只分析x1-x8。
此步利用corr过程计算变量间的相关系数,代码如下:
选中运行结果的第三张表,pearson相关系数检验表,如图:
分析:
x与其余8个变量均高度相关,相关系数都在0.8以上,而企鹅他很多变量之间的相关系数都在0.7以上,且显著性检验的p值多很小,表明各变量间存在较强的相关性,反应的信息有所重叠,这启发我们可以做聚类分析、关联分析,而在此之前,我们先利用主成分法做因子分析,对数据进行降维处理。
4.因子分析
①主成分分析模型与介绍:
用元变量的线性组合提取数据中的信息,当第一个线性组合不能提取足够多的信息时,再用第二个线性组合来继续提取,如此进行下去,知道所提取的信息与原变量反应的信息差不多为止。
判定条件是,利用变量的来描述,如果综合指标的方差接近于原来变量的方差,则认为他们较好地反映了原始数据的信息。
从而这样得到了一系列的线性组合,将它们作为综合指标去代替原来的变量,从而达到数据降维的目的,同时保存较多的信息。
具体方法如下:
1)原始指标数据的标准化采集p维随机向量x =(x1,X2,...,Xp)T)n个样品xi =(xi1,xi2,...,xip)T ,i=1,2,…,n,
n>p,构造样本阵,对样本阵元进行如下标准化变换:
其中
,得标准化阵Z。
2)对标准化阵Z求相关系数矩阵
其中,
。
3)解样本相关矩阵R的特征方程
得p个特征根,确定主成分
按
确定m值,使信息的利用率达85%以上,对每个λj,j=1,2,...,m,解方程组Rb =λjb得单位特征向量
。
4)将标准化后的指标变量转换为主成分
U1称为第一主成分,U2 称为第二主成分,…,Up 称为第p主成分。
5)对m个主成分进行综合评价
对m个主成分进行加权求和,即得最终评价值,权数为每个主成分的方差贡献率。
②分析过程
编写代码如下:
35procfactordata=expend;
36varx1-x8;
37run;
利用factor过程实现因子分析,计算得到相关矩阵的特征值、方差贡献率及累计方差贡献率:
分析:
从图中看出,第一列的特征值从大到小排列,第二列是相邻两行特征值的差异,第三列是是每个特征值占全部特征值之和的比例,第四列是累计比例。
从图中看出,前两个公共因子的累计方差贡献率已达9.9171,表明两个公共因子所代表的信息已经能够很充分地反应原变量了,因此我们下面制定两个公共因子来进行因子分析(n=2):
得到如图所示的而结果:
分析:
此步给出了一个载荷矩阵。
结合上一步的分析知道,两因子解释的方差占比较高,且x1-x8的共同度过都在0.85以上,表明该因子模型对原来每个变量的解释能力都较强,可以较好地代表原变量。
但是自吸查看发现,factor1在每个变量上的因子载荷基本都在0.9附近,factor2的因子载荷都小于0.4且出现较多的负值,这样很难对公公因子作出合理解释,因此必须进行旋转。
*注:
关于公共因子和共同度
求出因子载荷矩阵
,可以建立因子模型:
X=AF+e
其中因子载荷矩阵A中第i行元素的平方和h的平方称为变量Xi的共同度过,而由因子模型知Xi的方差包括:
1.共同度,描述了公共因子对变量Xi的方差贡献,也就是变量Xi的方差中能被公共因子所解释的部分;另一部分是特殊因子对变量Xi的方差贡献。
因此,变量的共同度越高,说明因子模型的解释能力越强。
接下来我们对载荷矩阵进行旋转,进行方差最大的正交旋转,得到旋转后的因子载荷矩阵,并将因子得分输出到数据集scoreout中。
代码如下:
结果如图:
分析:
从图中可以看出,factor1在x1食品,x3居住,x4家庭设备和x9其他商品及服务商有大于0.7的正载荷,结合实际该因子可以解释为基本物质生活支出;第二共因子factor2在x3衣着,x5交通通信,x6文教娱乐和x7医疗保健上有大于0.70的正载荷,可以理解为文化生活支出。
根据旋转后的载荷矩阵,我们可以建立旋转后的因子模型:
而当我们获得公共因子和因子载荷矩阵后,可以计算公共因子在每个样本上对应的数值,就是因子得分,然后我们就可以用这些公共因子去代替原来的变量,实现数据降维的目的。
计算因子得分就是用原变量X来表示公共因子F。
下面我们把因子得分排个序,建立新的查询,步骤如下:
Step1:
Step2:
(F2类似)
Step3:
结果:
分析:
(1)上海、广东、浙江在Factor1上的得分居前三位,说明这三个地区的基本物质生活支出较高,当然生活成本也高,而山西、甘肃、新疆排在最后三位,说明这三个地区基本物质生活支出很低,这些地区农民的基本生活水平急需改善。
(2)北京、浙江、上海在Facotr2上的得分分居前三位,说明这三个地区在文化生活上的支出较高。
而关系、海南和广东排在最后三位,说明这三个地区在文化生活上的支出较低。
(3)北京Factor1得分处于中游但是Facotr2处于帮手,且得分遥遥领先,说明北京的农民特别重视文化生活,在文化教育医疗等方面有很大的消费投入。
(4)黑龙江、吉林、内蒙古、山西等再Factor1上得分很低,在Factor2上得分较高,说明这几个地区的农民在基本物质生活上的支出不高,但是文化生活上的投入较多,可能和生活习俗有关。
(5)广东在Factor1上得分第二,在Factor2上排在最后,说明广东农民更重视物质上的消费,如食品、居住等,却在文化生活上消费不高,这是一种不甚合理的结构,应当积极引导。
5.聚类分析
此处先采用人工操作,进行cluster过程,之后再结合tree过程分类。
步骤如下:
Step1:
建立project,加入input节点,选择数据源。
此处只保留地区(ID)和F1和F2,其他全部rejected;当然也可以在在后面加cluster节点时再选don’tuse。
Step2:
加入cluster节点,联结,设置相关属性。
Step3:
运行
运行结果如下,这个结果本来我看起来十分诡异,31个地区,分了31类,看起来没有起到任何的聚类效果。
首先,Factor1和Factor2的贡献值都为0:
其次,画出来的散点图和最终的stat结果也如此显示:
在查阅了相关资料后,我从output入手,并结合tree过程进行人工分类。
output中所得分类过程如下:
分析:
(1)RSQ为R方统计量,R方总是随着分类个数的增多而变大,所以当第一步结束时R方最大接近于1,R方越大说明类内离差平方和越小,聚类效果也越好。
然而当某一步R方突然明显下降时,说明聚类效果不佳,应当谨慎考虑上一步的分类。
根据所得结果,我们看到在NCL(剩余类数)=5、4、3、2时,R方下降剧烈,所以应当认真考虑分为5、4、3、2类的可能。
(2)SPRSQ为半偏R方统计量,它是衡量合并类前后的类内离差平方和的变化,半偏R方越大说明这一步聚类效果越不好。
观察上表,当NCL=7、6、5、4、3、2时都比较大,在NCL>=之后已经超过0.7,所以应当尤其认真考虑分为5、4、3、2类的可能。
(3)PSF为伪F统计量,是类比与方差分析中的F统计量,它衡量了k个分类时的聚集效果,F越大说明分类效果越好。
因此NCL越大F一般是越大的,纵观所有的F统计量,并没有F统计量随着类个数减少反而增多的反常情况,但是在NCL=6时,其与其上的相邻F统计量差只有3.1;NCL=5时,与NCL=6的相邻F统计量差只有2.0,相比其他的相邻F统计量差值明显较小,应当引起注意,故应当考虑分类为5或6类的可能。
(4)PST2为伪t方统计量,类比方差分析中的t方统计量,用来衡量合并两个类的效果,如果t方较大,则说明合并两个类的效果不好,应该取合并前的那个分类。
观察商标,发现当NCL=2时t方最大,NCL=1时次大,NCL=4时第三大,其他的在NCL=7、9、13、16、20时也比较大,故应当考虑分类为2、3、5类的可能。
综合上述四个统计量的分析,我们暂时认为,分为5类可能是最佳选择。
现在我们进行tree过程,编写SAS程序重新聚类,将output存入数据集ot中,利用沃德最小方差法,standard表示根据标准化的数据进行聚类分析,pseudoccc表示相应的聚类统计量,var指定聚类分析两个变量factor1,factor2,id表明标示变量为各地名称district。
之后利用tree过程绘制聚类谱系图,用cluster过程输出的过程数据集ot,horizontal说明是横向谱系图。
得到结果:
这一步得到的聚类过程和我们刚才手动操作得到的是一样的。
谱系图如下(调整了半天还是不清晰,只能对着原先的排好序的表对照看地区名):
由此图,结合由Cluster输出的聚类统计量分析,我们最终认为分成5类较为合适,最终分类结果如下:
第一类:
北京
第二类:
上海、江苏、浙江
第三类:
天津、辽宁、山东、山西、内蒙古、吉林、黑龙江、河北、河南、山西、宁夏、青海、甘肃、新疆
第四类:
安徽、江西、四川、云南、重庆、西藏、贵州
第五类:
附件、湖北、湖南、广西、海南、广东
从聚类结果来看,类的划分还是体现出了一些地域的特征的。
南北部和东西部地区农民的消费结构和消费水平的差异比较明显。
北京单独为一类,上海、江苏、浙江处于东部最发达地区为第二类,第三类为北方大部分地区,第四类为西南地区,第五类为东南沿海地区。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SAS 实验 因子分析 聚类分析
![提示](https://static.bdocx.com/images/bang_tan.gif)