首页
TVP 最新优惠活动
学习
活动
专区
工具
返回腾讯云官网
大家好,我是架构君,一个会写代码吟诗的架构师。今天说一说因子分析过程_怎么得出公因子stata,希望能够帮助大家进步!!!
题外话——为质数而生的蝉
有些蝉会展现出令人吃惊的特征:它们集体探出土壤的时间通常都跟13和17这样的质数年同步,此时大概会有150万只以上的成蝉在短时间内同时出现在一英亩的土地上。来自-《The Math Book》
这样的特征可能带来两个好处:
1)根据质数的性质它只能被1和自身整除,那么它大概率会被生命周期是1和探出土壤年份的猎食者捕杀(可能不那么严谨哈),例如如果周期是12年的动物,可能被周期是1,2,3,4,6,12年的天敌捕杀。
2)13,17两个质数的最小公倍数是两个数乘积,意味着200多年后可能会有一次大面积的蝉探出土壤事件,根据上一推论他们的天敌最多增加1种即,1,13,17那么只要蝉一次没有被吃光就会继续存活下去。
因子分析法是指从研究指标相关矩阵内部的依赖关系出发,把一些信息重叠、具有错综复杂关系的变量归结为少数几个不相关的综合因子的一种多元统计分析方法。
基本思想是:根据相关性大小把变量分组,使得同组内的变量之间相关性较高,但不同组的变量不相关或相关性较低,每组变量代表一个基本结构一即公共因子。
(1)对数据样本进行标准化处理。
(2)计算样本的相关矩阵R。
(3)求相关矩阵R的特征根和特征向量。
(4)根据系统要求的累积贡献率确定因子个数。
(5)计算因子载荷矩阵A。
(6)确定因子模型。
(7)根据上述计算结果,对系统进行分析。
数据是否适合做因子分析,若变量间不存在相关性,或者相关性不大,就无法归纳,也就无法降维,这里就引入巴特利特球形检验和KMO检验,一下将以糖尿病数据集作为示例进行stata
上的因子分析过程。
该数据集源至美国国家糖尿病、消化及肾脏疾病研究所。 数据集的目的是根据已有诊断信息来预测患者是否患有糖尿病。 但该数据库存在一定局限性,特别是数据集中的患者都是年龄大于等于21岁的皮马印第安女性。
涉及字段如下:其中Outcome标注字段,代表是否是糖尿病人。
数据地址1: https://www.kaggle.com/uciml/pima-indians-diabetes-database
数据地址2: https://github.com/susanli2016/Machine-Learning-with-Python/blob/master/diabetes.csv
巴特利特球形检验
巴特利特球形检验用于检验相关阵是否是单位阵,即各变量是否独立。它是以变量的相关系数矩阵为出发点,零假设:相关系数矩阵是一个单位阵。如果巴特利球形检验的统计计量数值较大,且对应的相伴概率值小于用户给定的显著性水平,则应该拒绝零假设;反之,则不能拒绝零假设,认为相关系数矩阵可能是一个单位阵,不适合做因子分析。一般实证中,p值小于0.05就可以进行下去。
KMO检验
KMO统计值是通过比较各变量间简单相关系数和偏相关系数的大小判断变量间的相关性。相关性强时,偏相关系数远小于简单相关系数,KMO值接近1。
检测类别 | 值的范围 | 因子分析适合情况 |
---|---|---|
KMO值 | 大于0.9 | 非常适合 |
0.8~0.9 | 很适合 | |
0.7~0.8 | 适合 | |
0.6~0.7 | 勉强适合 | |
0.5~0.6 | 不太适合 | |
小于0.5 | 不适合 |
stata检验命令
factortest pregnancies glucose bloodpressure skinthickness insulin bmi diabetespedigreefunction age
只听到从架构师办公室传来架构君的声音: 暮从碧山下,山月随人归。有谁来对上联或下联?
结果如下:
H0假设:变量不相关,但是结果p值是0.000小于0.05,否定原假设,KMO值:0.589勉强适合做因子分析。
stata命令
factor pregnancies glucose bloodpressure skinthickness insulin bmi diabetespedigreefunction age, pcf
结果如下:
根据特征根大于1,共提取3个因子,累计贡献率为0.6069。
通过负荷矩阵可以看出因子1对所有变量都有解释力度,而因子2对pregnancies和age解释力度比较大即年龄与怀孕次数,因子3对glucose和diabetespedigreefunction解释力度大,即血液中葡萄糖浓度和糖尿病谱系功能。
通过负荷矩阵可以发现扰乱变量,若某个变量的uniqueness值过大,可以尝试剔除该变量来提升累计贡献率,此实验不做剔除操作,但是希望能够看清因子对原始变量的解释力度,希望因子走的更极端些。
stata命令
rotate
这下看的更加清晰了,那么可以对因子进行命名,比如因子1对怀孕次数和年龄解释力度大,这种无需测量直接能给出的值比较敏感;因子2对血压、皮厚、体重指标这些需要简单仪器不需要化验就能测量解释力度大,
因子3对葡萄糖浓度,胰岛素浓度,糖尿病谱系功能这些需要抽血化验结果的数据解释力度大。
stata命令
predict f1 f2 f3
有了这个得分,我们就可以计算因子了。例如样例1m
因子1(Factor1) = m.Pregnancies*0.45786+m.Glucose*0.21820+m.BloodPressure*0.17610+m.SkinThickness* -0.17504+m.Insulin* -0.09151+m.BMI* -0.00883+m.DiabetesPedigreeFunction*-0.02236 +m.Age* 0.49379 因子2(Factor1) = m.Pregnancies*-0.00065 ......因子3计算方式略
到目前为止再回到因子分析是做什么的主题,即把一些信息重叠、具有错综复杂关系的变量归结为少数几个不相关的综合因子的一种多元统计分析方法,实验结果已经做到了。
利用因子给每个样本一个综合得分
首先计算各因子的值,使用上面的步骤计算因子1,2,3的得分
其次计算各因子所占的比例,利用旋转后的结果如下:
每个因子所占比例分别是0.2193,0.1998,0.1879,累计贡献率是0.6069
则每个因子所占比例:
因子1权重 = 0.2193 / 0.6069
因子2权重 = 0.1998 / 0.6069
因子3权重 = 0.1879 / 0.6069
最后综合得分 = 因子1权重 * 因子1得分 + 因子2权重 * 因子2得分 + 因子3权重* 因子3得分
最终的综合得分到底如何使用,表达什么,只能仁者见仁智者见智了。
参考
https://wiki.mbalib.com/wiki/%E5%9B%A0%E5%AD%90%E5%88%86%E6%9E%90%E6%B3%95
https://zhuanlan.zhihu.com/p/111446098?from_voters_page=true
本文分享自 作者个人站点/博客 前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体分享计划 ,欢迎热爱写作的你一起参与!
代做工资流水公司兰州入职流水样本宜昌代开入职银行流水哈尔滨入职流水代办台州代做个人工资流水大庆购房银行流水开具许昌日常消费流水代开宜春工资流水账单代办泰安对公账户流水代办无锡工资流水单咸阳转账银行流水费用福州查薪资流水潮州入职流水办理常州企业银行流水费用德阳开企业贷流水泰州制作房贷银行流水南宁个人流水价格菏泽银行流水账图片银川房贷工资流水 查询菏泽入职工资流水许昌企业银行流水佛山工资代付流水打印淄博企业对公流水汕头代做签证工资流水新乡离职证明打印潍坊银行流水账单样本遵义离职证明图片肇庆办理个人工资流水西宁工资代付流水价格广州入职银行流水图片黄冈房贷银行流水 多少钱香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声卫健委通报少年有偿捐血浆16次猝死汪小菲曝离婚始末何赛飞追着代拍打雅江山火三名扑火人员牺牲系谣言男子被猫抓伤后确诊“猫抓病”周杰伦一审败诉网易中国拥有亿元资产的家庭达13.3万户315晚会后胖东来又人满为患了高校汽车撞人致3死16伤 司机系学生张家界的山上“长”满了韩国人?张立群任西安交通大学校长手机成瘾是影响睡眠质量重要因素网友洛杉矶偶遇贾玲“重生之我在北大当嫡校长”单亲妈妈陷入热恋 14岁儿子报警倪萍分享减重40斤方法杨倩无缘巴黎奥运考生莫言也上北大硕士复试名单了许家印被限制高消费奥巴马现身唐宁街 黑色着装引猜测专访95后高颜值猪保姆男孩8年未见母亲被告知被遗忘七年后宇文玥被薅头发捞上岸郑州一火锅店爆改成麻辣烫店西双版纳热带植物园回应蜉蝣大爆发沉迷短剧的人就像掉进了杀猪盘当地回应沈阳致3死车祸车主疑毒驾开除党籍5年后 原水城县长再被查凯特王妃现身!外出购物视频曝光初中生遭15人围殴自卫刺伤3人判无罪事业单位女子向同事水杯投不明物质男子被流浪猫绊倒 投喂者赔24万外国人感慨凌晨的中国很安全路边卖淀粉肠阿姨主动出示声明书胖东来员工每周单休无小长假王树国卸任西安交大校长 师生送别小米汽车超级工厂正式揭幕黑马情侣提车了妈妈回应孩子在校撞护栏坠楼校方回应护栏损坏小学生课间坠楼房客欠租失踪 房东直发愁专家建议不必谈骨泥色变老人退休金被冒领16年 金额超20万西藏招商引资投资者子女可当地高考特朗普无法缴纳4.54亿美元罚金浙江一高校内汽车冲撞行人 多人受伤