题外话——为质数而生的蝉

有些蝉会展现出令人吃惊的特征:它们集体探出土壤的时间通常都跟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

巴特利特球形检验和KMO检验

巴特利特球形检验

巴特利特球形检验用于检验相关阵是否是单位阵,即各变量是否独立。它是以变量的相关系数矩阵为出发点,零假设:相关系数矩阵是一个单位阵。如果巴特利球形检验的统计计量数值较大,且对应的相伴概率值小于用户给定的显著性水平,则应该拒绝零假设;反之,则不能拒绝零假设,认为相关系数矩阵可能是一个单位阵,不适合做因子分析。一般实证中,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

因子分析——流程与实现stata相关推荐

  1. stata软件不出图_请问stata软件怎样做出像revman软件一样的森林图

    一点之见即可成文 森林图的制作流程 Step1:Stata软件下载与安装 Step2:Meta面板加载 创建profile.do文件 创建profile.do文件 1.点击菜单栏Help→Search ...

  2. 主成分分析、因子分析及其有关的数学基础

    1.相关矩阵 2.单位矩阵 3.旋转 正余弦公式: https://baike.baidu.com/item/%E4%B8%89%E8%A7%92%E5%87%BD%E6%95%B0%E5%85%AC ...

  3. python实现因子分析

    新人,记录一下每一个经手的方法模型 背景 本文从4个维度选取9个主要财务指标对7家公司进行因子分析,主要采用因子分析对目前公司进行综合排名,进而对公司的授信额度进行考核. 注:本文是针对指定业务进行分 ...

  4. 《社会调查数据管理——基于Stata 14管理CGSS数据》一第2章 数据管理的流程及内容2.1 数据管理的工作流程...

    本节书摘来自异步社区<社会调查数据管理--基于Stata 14管理CGSS数据>一书中的第2章,第2.1节,作者 唐丽娜,更多章节内容可以访问云栖社区"异步社区"公众号 ...

  5. 双重差分法(DID):标准化流程和stata代码实现

    文章目录 标准化流程 平行假设检验 效果评估 安慰剂检验 标准化流程 此前的文章介绍了双重差分法(difference-in-differences,DID)的原理,并说明了其是算法策略效果评估的有效 ...

  6. 四十八、使用Python和Stata完成广西碳酸钙企业的主成分分析和因子分析

    @Author:Runsen 我希望读者可以看懂它 你对你的要求就是看懂它 在3月份,一个大四金融想找我帮她做一个主成分分析和因子分析,我看是女的,就答应,而且她还没给我钱,看作是女的,就算了. 数据 ...

  7. Stata实现DID(倍差法)全流程

    理论不介绍了,下面放一个之前做过的DID政策评估的项目. 一.背景介绍 研究环境约谈制度对PM2.5排放量的影响,采用55个地级市,2014-2018年5期面板数据,政策实施点是2016年,共5个处理 ...

  8. 计量实证Stata代码合集(覆盖论文全流程)

    1.数据来源:自主计算 2.时间跨度:无 3.区域范围:无 4.指标说明: 包含如下模型代码: 数据处理 描述性统计 相关性分析 实证模型分析 内生性解决办法 机制分析 部分数据如下: 相关研究: [ ...

  9. python假设检验平均_Python|Excel|SPSS|R|Stata|Eviews统计数据假设检验T|F|卡方检验

    拍价即为成交价,不按数据量.任务量收费,价格透明,不用询价,节省时间 现在不说专业高效这些话,相信我的认真负责能够赢得您的认可 使用各种统计数据分析软件提供数据分析服务,包含数据整理.处理.清洗.挖掘 ...

  10. r library car_基础方法 | 用R语言完成量化论文全流程示例!附超详细R脚本

    基础方法 ♪ Method R语言的优点 对于有一定数据分析基础的朋友们来说,要入门R语言并不是十分困难的.但是这毕竟是一门专业性很强的技术,我们当然希望投入精力掌握R语言之后能够得到相应的回报. 在 ...

最新文章

  1. 求单链表的最大值与原地逆转_江西师范大学硕士学位研究生入学考试数据结构试题(2003年)一.doc...
  2. 【Android 逆向】Linux 文件分类 ( 普通文件 | 目录文件 | 链接文件 | 字符设备文件 | 管道文件 | 块设备文件 )
  3. SharePoint开发 - Excel数据导入到SharePoint自定义列表(数据视图方式)
  4. 解决:-bash: telnet: command not found
  5. 【转】矩阵十大经典题目
  6. python爬虫怎么写多线程_Python爬虫【第3篇】【多线程】
  7. 关于C++中的继承感悟
  8. Git使用疑难问题分析
  9. 应朋友死皮白咧地邀请贴一个招聘广告
  10. 管理感悟:代码审查做哪些事情?
  11. Excel-工作周报(月报)【改良版】
  12. SSM框架面试题总结
  13. social-share,社会化分享组件之jquery版
  14. 基于MATLAB的R方计算
  15. Java程序员如何月薪达到两万,需要技术水平达到什么程度?
  16. 【图像去噪】基于matlab小波变换(硬阙值+软阙值)图像去噪【含Matlab源码 391期】
  17. css图像描边,纯CSS实现帅气的SVG路径描边动画效果
  18. sssdeeeeeeeeeeeee
  19. python外星人入侵游戏加随机游动_Python外星人入侵游戏(四):飞船左右移动
  20. 码农:在程序员节收到了橙子,是何寓意?网友调侃:年终奖黄了!

热门文章

  1. 天津春季高考历年计算机考试卷,最新春季高考历年真题-天津市春季高考语文试卷...
  2. Counting Bloom Filter
  3. 我辞去了年收入50万的工作,去做在线教育的老师
  4. CEPH OSD_SCRUB_ERRORS 错误处理
  5. jt808终端鉴权_JT808-1: JT808协议、GB808协议、道路运输车辆卫星定位系统-北斗兼容车载终端通讯协议...
  6. 山东航天九通车联网:大数据技术引领为智慧物流赋能
  7. CDUTCM OJ 2017第一次月赛
  8. 性能指标TP99介绍
  9. 二维码生成(带文字)
  10. 【滴滴拉屎】一款能按照坑型找厕所的神器!