分类变量和连续变量的相关性度量
本文主要参考《R语言实战》中第七章内容。
首先来看一下分类变量的探索。R提供了多种检验类别型变量(因子)独立性的方法,主要有卡方独立性检验、Fisher精确检验和Cochran-Mantel-Haenszel检验。
卡方检验
卡方独立性检验可以使用chisq.test()函数对二维列联表的行变量和列变量进行卡方独立性检验。
图中显示:病人的治疗方式与改善情况间不独立,即存在某种相关性;而病人的性别与治疗的改善情况间是独立的,认为治疗的改善情况与病人的性别没有关系。
Fisher精确检验
可以使用fisher.test()函数进行Fisher精确检验,该检验的原假设是:边界固定的列联表中行和列是相互独立的。与许多统计软件不同的是fisher.test()函数可以在任意行列数大于等于2的二维列联表中使用,但不能用于2×2的列联表。
Cochran-Mantel-Haenszel检验
可以通过mantelhaen.test()函数进行Cochran-Mantel-Haenszel检验(如果不记得该检验函数,可以尝试使用apropos('test')查询所有可用的各种检验,其中就包含M-H检验)。该检验的原假设为:两个名义变量在第三个变量的每一层中都是条件独立的。
上图结果显示,在不同的性别下,治疗方式与改善情况间不是独立的,仍然存在一定的相关性。
分类变量相关程度度量
如果已知某些类别型变量之间(因子)不独立,即存在一定的相关性。那如何得到相关性的大小。这里可以使用vcd包中的assocstats()函数计算二维列联表的phi系数、列联系数(contingency coefficient)和Cramer's V系数。
连续变量的相关性度量
对于连续变量的相关性,使用相关系数来描述变量间的关系。相关系数的符号表示正相关或负相关,其值的大小表示关系的强弱。
R中可以计算多种相关系数,包括Pearson相关系数、Spearman相关系数、Kendall相关系数、偏相关系数等。
Pearson相关系数度量了两个连续变量之间的线性相关程度;
Spearman等级相关系数可以衡量非线性关系变量间的相关系数,是一种非参数的统计方法,可以用于定序变量或不满足正态分布假设的等间隔数据;
Kendall秩相关系数也是一种非参数的等级相关度量,类似于Spearman等级相关系数。
可以通过cor函数计算这三种相关系数。cor()函数中最重要的三个参数为X,use,method:
X为指定分析的矩阵或数据框;
use指定缺失数据的处理办法(all.obs则假设不存在缺失数据,遇到缺失数据时将会报错;everything遇到缺失数据时,结果将返回missing;complete.obs进行行删除;pairwise.complete.obs则成对删除);
method指明计算相关系数的方法,可以使pearson相关系数、spearman相关系数和kendall相关系数。
attach(women)
a <- height
b <- weight
c <- a^2 #a和c之间不存在线性关系
cor(a,b,method = 'pearson')
cor(a,b,method = 'spearman')
cor(a,b,method = 'kendall')
cor(a,c,method = 'pearson')
cor(a,c,method = 'spearman')
cor(a,c,method = 'kendall')
对于有缺失的数据集,通过use参数的设定,将会产生不同计算的结果:
偏相关系数
偏相关系数指在控制一个或多个定量变量时,另外两个定量变量之间的相互关系。可以使用ggm包中的pcor函数计算偏相关系数。其中pcor函数中的两个重要参数是u和S:
u为一个数值向量,前两个数值表示要计算相关系数的变量下标,其余的数值为条件变量的下标;
S为所有变量的协方差矩阵。
结果表明:在控制收入、文盲率和高中毕业率的影响下,人口和谋杀率之间的相关系数为0.346。偏相关系数常用于社会科学的研究中。
总结:本文涉及到的R包和函数
stats包
chisq.test()
fisher.test()
mantelhaen.test()
cor()
cov()
vcd包
assocstats()
ggm包
pcor()
gmodels包
CrossTable()
这里说明一下,gmodels包中的CrossTable()函数可以实现列联表分析,其结果类似于SAS中的PROC FREQ过程。
分类变量和连续变量的相关性度量相关推荐
- 如何用python进行相关性分析_使用 Python 查找分类变量和连续变量之间的相关性...
在表格数据集上创建任何机器学习模型之前, 通常我们会检查独立变量和目标变量之间是否存在关系.这可以通过测量两个变量之间的相关性来实现.在 python 中, pandas 提供了一个函数 datafr ...
- Pandas描述性分析分类变量及连续变量,Matplotlib简易制图
一 单分类变量描述频数,例如:value_counts()描述分类变量 柱形图 二 单连续变量描述统计量(均值,中位数,四分位数,总和等),例如:聚合函数agg()描述价格变量 直方图 三 分类变量与 ...
- Python笔记-相关性分析(连续变量和分类变量)
概念 相关性分析:两个连续变量之间的关系检验. Pearson相关系数:衡量两个变量的线性相关关系: Spearman相关系数:衡量两个变量的线性相关关系,部分非线性的也可以衡量: Kendall相关 ...
- 如何用python进行相关性分析_如何在python中检查连续变量和分类变量之间的相关性?...
将分类变量转换为虚拟变量,并将变量放在numpy.array中.例如: data.csv:age,size,color_head 4,50,black 9,100,blonde 12,120,brow ...
- python分类变量相关性分析_如何在python中检查连续变量和分类变量之间的相关性?...
将分类变量转换为伪变量here,并将变量放入numpy.array中.例如: data.csv:age,size,color_head 4,50,black 9,100,blonde 12,120,b ...
- 分类变量、有序变量与数值变量相关性分析方法总结及 R 语言应用
文章目录 一.分类 & 分类·相关性分析 二.有序 & 有序·相关性分析 三.数值 & 数值·相关性分析 四.分类 & 有序·相关性分析 五.分类 & 数值·相 ...
- 2×3卡方检验prism_分类变量的相关性:五分钟掌握卡方检验「从理论到Python实战」...
卡方检验 当衡量两个连续变量间的线性关系时,我们可以使用Pearson相关系数.那么当我们面对的数据是两个分类变量呢?没错,看过下面这张图的应该还记得,我们可以用列联表结合卡方检验来分析分类变量间的相 ...
- python分类变量相关性分析_Python数据科学:相关分析
目前手上有两本书,一本<利用Python进行数据分析>,一本<Python数据科学>.app 对于学习什么东西,都有它的「道」和「术」.「道」即原理,「术」即技巧.dom 经过 ...
- 二分类变量相关性分析spss_spss:两个有序分类变量的相关分析『kendallstau-b相关系数』...
SPSS :两个有序分类变量的相关分析 『 Kendall''''s tau-b 相关系数』 一.问题与数据 某研究者开展了一项人们对税收看法的调查,拟调查人们对 "本国税收过高" ...
最新文章
- java 庖丁解牛api_Java Restful API Best Practices
- 【NLP】文本自动摘要任务的心得总结
- SharePoint 2007 SDK v1.5
- C++引用(Reference)
- 反射(reflect)机制
- JVM调优:G1垃圾回收器
- 【2012百度之星/资格赛】C: 易手机的套餐
- mysql generaton_Mysql 集成随机唯一id mysql unique number generation
- sketchup边线设置_春天花花天桥,SketchUp草图大师快速建模!
- css-阴影和超链接伪类
- 没有一个产品,竟捞金200亿!2021年最大胆设想,已沦为圈钱工具
- Java编程:将五子棋棋盘内容用稀疏矩阵存储至磁盘,并从中重新读取内容——稀疏数组和算法
- python中的颜色及其编码
- 关于《windows游戏编程大师技巧》的源代码
- 保护板测试仪上位机软件,蓄电池性能测试仪放电部分与上位机软件设计
- 烂到不想考研!大学糟糕宿舍大盘点!
- 【系统测试报告】苏科大App系统测试报告
- Matlab中将横纵坐标改为自定义标签(set(gca,xtick)set(gca,xticklabel))
- 考过HCIP入职心仪公司,分享华为认证学习经历及心得
- 崩坏3水晶计算 关于日期的计算篇 下