分类变量、有序变量与数值变量相关性分析方法总结及 R 语言应用

article/2025/10/14 23:58:11

文章目录

  • 一、分类 & 分类·相关性分析
  • 二、有序 & 有序·相关性分析
  • 三、数值 & 数值·相关性分析
  • 四、分类 & 有序·相关性分析
  • 五、分类 & 数值·相关性分析
  • 六、有序 & 数值·相关性分析

  • 本文全部假设显著性水平为0.05,特殊说明的除外。

一、分类 & 分类·相关性分析

分类变量分析方法的选取与数据状态有较大相关性,计数据样本量为n,两变量交叉单元格数据为T。

  1. 卡方检验
    卡方检验科用于对二维列联表的行变量和列变量的相关性检验,只能反应相关统计学意义,无法分析相关性强度
    · 当所有T≥5并且总样本量n≥40,用Pearson卡方进行检验
    · 当T<5但T≥1,并且n≥40,用连续性校正的卡方进行检验
    「R语言」> chisq.test(x1,x2)
    样本量不够会提示检测结果可能不准确(Chi-squared approximation may be incorrect):
    在这里插入图片描述
    样本量够大后正常。p值小于0.05,str1与str2之间有显著相关关系。在这里插入图片描述

  2. Fisher精确检验
    可以用于检验任何 R × C R\times C R×C 数据之间的相关关系(也可用于分析2*2数据)。与卡方检验只能拟合近似分布不同的是,Fisher精确检验可以分析精确分布,更适合分析小样本数据。
    · T<1或n<40,则用Fisher’s检验
    「R语言」> fisher.test(x1,x2)
    · R 中fisher.test()可以在任意行列数大于等于2的二维列联表中使用,但不能用于2×2的列联表,2(a/b)×2(s/t)报错如下:
    在这里插入图片描述
    2(a/b)×4(a/b/c/d)可以。p值小于0.05,str1与str3有显著相关性
    在这里插入图片描述
    2(a/b)×3(a/b/c)也行。p值大于0.05,str1和str4没啥关系在这里插入图片描述

  3. Cochran-Mantel-Haenszel检验
    Cochran-Mantel-Haenszel检验的原假设为:两个名义变量(x1,x2)在第三个变量(x3)的每一层中都是条件独立的
    「R语言」> mantelaen.test(x1,x2,x3)

二、有序 & 有序·相关性分析

(一)当有序分类不能认为是定距时(比如三等奖和二等奖的差异与二等奖和一等奖的差异一般不同):

  1. Spearman相关
    Spearman相关又称Spearman秩相关,用于检验有序变量(相关性检验对象中至少一个是定序的)或不满足正态分布假设的等间隔数据的关联强度和关联性质。
    「R语言」> cor.test(x1, x2, method = “spearman”) x1, x2均为数值形式变量,为原变量的秩数。
  2. Kendall’s tau-b(肯德尔)等级相关系数
    Kendall’s tau-b 相关系数是用于检验至少有一个有序分类变量关联强度和方向的非参数分析方法。该检验与Spearman相关的应用范围基本一致,但更适用于存在多种关联的数据(如列联表)。

(二)当可以认为是定距时:

  1. Mantel-Haenszel 趋势检验
    该检验也被称为Mantel-Haenszel 卡方检验、Mantel-Haenszel 趋势卡方检验。该检验根据研究者对有序分类变量类别的赋值,判断两个有序分类变量之间的线性趋势

三、数值 & 数值·相关性分析

  1. Pearson相关系数
    Pearson相关系数度量了两个连续变量之间的线性相关程度
    「R语言」> cor( x1,x2,method=‘pearson’)

  2. Spearman相关系数
    Spearman等级相关系数可以衡量非线性关系变量间的相关系数,是一种非参数的统计方法,可以用于定序变量或不满足正态分布假设的等间隔数据;
    「R语言」> cor( x1,x2,method=‘spearman’)

  3. KKendall秩相关系数
    Kendall秩相关系数也是一种非参数的等级相关度量,类似于Spearman等级相关系数。
    「R语言」> cor( x1,x2,method=‘kendall’)

  • 「R」stata包:chisq.test() , fisher.test(), mantelhaen.test() , cor()
    -cor() 函数最重要的参数为 X,use,method。
    ---- X即指定分析的变量;
    ---- use指定缺失值处理的方法:all.obs则假设不存在缺失数据,遇到缺失数据时将会报错;everything遇到缺失数据时,结果将返回missing;complete.obs进行行删除;pairwise.complete.obs则成对删除
    ---- method指明计算相关系数的方法:pearson、spearman、kendall

四、分类 & 有序·相关性分析

(一)有序变量 X 1 X_1 X1 & 二分类变量 X 2 X_2 X2

  1. 无因果关系:
    1.1 Biserial秩相关:
    Biserial秩相关可以用于分析二分类变量和有序分类变量之间的相关性。在用二分类变量预测有序分类变量时,该检验又称为Somers’ d检验。此外,Mann-Whitney U检验也可以输出Biserial秩相关结果。

  2. 有序变量为因变量:
    2.1 有序Logistic回归
    有序Logistic回归在本质上并不是为了分析二分类变量和有序分类变量之间的相关性。但我们仍可以用有序logistic回归及其对应的OR值判断这两类变量之间的统计学关联。

  3. 二分变量为因变量:
    3.1 Cochran-Armitage 检验
    Cochran-Armitage 检验又称Cochran-Armitage 趋势检验,常用于分析有序分类自变量和二分类因变量之间的线性趋势。该检验可以判断随着有序分类变量的增加,二分类因变量比例的变化趋势,是对其线性趋势的统计学分析。
    3.2 Mantel-Haenszel卡方检验:
    Mantel-Haenszel卡方检验也称线性趋势检验(Test for Linear Trend)或定序检验(Linear by Linear Test)。要求一个变量是有序的,另一个变量可为二分类也可为多分类。
    3.3 Cochran-Armitage趋势检验:
    Cochran-Armitage 趋势检验要求一个变量是有序分类变量,另一个变量是二分类变量。

(二)有序变量 X 1 X_1 X1 & 多分类变量 X 2 X_2 X2

  1. Mantel-Haenszel卡方检验:
    Mantel-Haenszel卡方检验也称线性趋势检验(Test for Linear Trend)或定序检验(Linear by Linear Test)。要求一个变量是有序的,另一个变量可为二分类也可为多分类。

五、分类 & 数值·相关性分析

(一)数值变量 X 1 X_1 X1 & 二分类变量 X 2 X_2 X2 t t t 检验等

  1. Point-biserial 相关性分析
    Point-biserial相关是Pearson相关的一种特殊形式,适用于分析二分类变量和连续变量之间的相关性
  2. t t t 检验 :
    相当于检验不同 X 2 X_2 X2对应的 X 1 X_1 X1是否有差异,有显著差异则相关,无显著差异则无法说明其相关(运用假设检验的原因不能直接说不相关)。注意这里的 p 值代表检验结果显著程度,与相关程度无直接关系。

(二)数值变量 X 1 X_1 X1 & 多分类变量 X 2 X_2 X2:单因素方差分析等

  1. ANOVA:
    跟 t 检验一个原理,就是分类变量的类别超过2类后也适用。p 值小于显著水平则两变量具有一定的相关性,若 p 值大于显著性水平则无法证明两变量具有相关性(运用假设检验的原因不能直接说不相关),同样 p 值代表检验结果显著程度,与相关程度无直接关系。

六、有序 & 数值·相关性分析

没有专门针对有序变量和数值变量相关性分析的方法,一般将连续变量视为有序变量,按照有序 & 有序的方法进行分析

  • 相关关系不是因果关系,相关关系是对称的。如果a和b是正相关关系,a会随着b的增加而增加,那么反过来b也会随着a的增加而增加,无论发现哪种现象,都能说明a和b之间存在正相关关系。本文评论中很多朋友纠结于x是什么,y是什么,实际上如果只是研究相关关系,x与y是可以互换的,关于相关关系的结论不会受影响。但如果朋友们研究的是因果关系,那么单纯相关分析是不足够的,需要更为进阶的模型来辅助研究。

http://chatgpt.dhexx.cn/article/nXNhW6SD.shtml

相关文章

数据分析方法和思维—相关性分析法

01 写在前面 在数据分析的问题中, 经常会遇见的一种问题就是相关的问题, 比如抖音短视频的产品经理经常要来问留存(是否留下来)和观看时长, 收藏的次数, 转发的次数, 关注的抖音博主数等等是否有相关性, 相关性有多大。 因为只有知道了哪些因素和留存比较…

python相关性分析_python实践统计学中的三大相关性系数,并绘制相关性分析的热力图...

本文首发地址: https://yishuihancheng.blog.csdn.net/article/details/83547648 欢迎关注我的博客【Together_CZ】,我是沂水寒城! 今天我简单地使用了scipy模块进行了统计学中三大相关性分析方法(皮尔森相关性系数、斯皮尔曼相…

数据相关性分析笔记

一、数据相关性的含义 数据类型 数据可以是连续的值,比如声音、图像,称为模拟数据。也可以是离散的,如符号、文字,称为数字数据。(ppt)数值型数据、分类型数据、定序数据。 数据相关性 数据相关性是指数据之间存在某种关系&#…

ArcGIS栅格数据图层空间相关性分析方法

ArcGIS栅格数据图层空间相关性分析方法 也不知道严谨不严谨,先Mark吧欸。 矢量的空间相关分析可以通过Spatial Join以后,导出属性表到EXCEL中,进行相关分析Correlation Analysis.  而两个栅格数据图层直接能不能直接在ArcMap中进行相关分…

IBM SPSS Statistics常用的相关性分析方法

灵活运用IBM SPSS Statistics做数据的统计和分析是每个数据分析师都应该掌握的技能,这款软件为用户提供了全面的数据分析方法,可以解决我们在数据分析过程中遇到的各种难题。 接下来小编就为大家介绍一下SPSS相关性分析的方法。 图1:SPSS软件…

神经网络相关性分析方法,神经网络相关性分析图

1、bp神经网络怎么确定输入与输出是正相关还是负相关? 想了解输入输出关系你可以求协方差,进而求peason相关系数 当然你也可以求spearman 等,看他们的相关度即可,正负就代表是正相关还是负相关,具体值代表相关性度量 …

重剑无锋!15种相关分析算法,总有一款适合你!

相关系数(Correlation coefficient)可用于评估两个变量之间的线性关系,它的值在-1到1之间,-1或1代表完美的负相关和正相关,0表示不存在线性关系。 计算相关系数的方法种类繁多,各有自己的定义以及适用情况…

Keil MDK5中对结构体变量使用结构体成员运算符.后不自动显示结构体成员

MDK5在对结构体变量使用结构体成员运算符.时是会显示结构体成员的,如图所示: 但是有时候使用结构体成员运算符.时并不会出现结构体成员,导致这个问题的原因是没有将自己写的文件添加到工程之中,解决办法如下: 检查是…

【C语言】结构体的创建和使用与结构体内存对齐

结构体创建 前言结构体的声明全局声明特殊声明 结构体变量定义与成员初始化成员类型变量定义匿名结构体变量定义 结构体的自引用结构体成员的访问成员初始化操作符结构体传参 结构体内存对齐对齐数对齐规则 前言 在生活中我们要描述一个人时是不是要知道他的名字、性别、年龄啊…

C语言struct结构体内存

对齐规则: (i)结构体内 成员存储位置 的起始地址为成员自身长度与默认对齐值 中的较小者的整倍数。 (ii)结构体A嵌套在结构体B内,则A在B内存储位置起始地址为 A内成员最长长度 的整数倍。 (iii&…

嵌入式系统开发:C语言中的位结构体

在嵌入式开发中,经常需要表示各种系统状态,位结构体的出现大大方便了我们,尤其是在进行一些硬件层操作和数据通信时。但是在使用位结构体的过程中,是否深入思考一下它的相关属性?是否真正用到它的便利性,来…

keil中,编写结构体成员运算符(.)后不能自动弹出结构体成员

keil中,编写结构体成员运算符(.)后不能自动弹出结构体成员 解决办法: 1、确保源文件里面包含sys.h/stm32f10x.h文件(或者源文件里面的头文件也行) 2、把源文件路径加载到keil里面(魔术棒->C/…

c++中的结构体案例

结构体案例一 案例描述:学生做毕设项目,每名老师有5个学生,总共有3个老师,需求如下: 设计学生和老师的结构体,在老师的结构体中,有老师的姓名和一个存放了5名学生的数组作为成员学生的成员有姓…

C语言:位结构体

位结构体是一种特殊的结构, 在需按位访问一个字节或字的多个位时, 位结构体比按位运算符更加方便。 一、位结构—简介 有些信息在存储时,并不需要占用一个完整的字节, 而只需占几个或一个二进制位。 例如在存放一个开关量时,只有0和1 两种状…

C 语言编程 — 构造数据类型 — 结构体(struct)

目录 文章目录 目录结构体声明一个结构体类型定义一个结构体类型的变量定义一个结构体类型的指针变量结构体的成员结构体的内存分布 结构体 结构体(Structure)是一种由不同类型的数据成员组成的数据类型。通过定义结构体,我们可以将多个不同…

C语言结构体和其他构造数据类型详解

结构体和其他构造数据类型 结构体 “结构”是一种构造类型,它是由若干“成员”组成的。 每一个成员可以是一个基本数据类型或者又是一个构造类型。 结构既然是一种“构造”而成的数据类型,那么说明和使用之前必须先定义它,也就是构造它。 结…

C的实用笔记38——结构体的引入和定义

1.为什么要用结构体? 0、原因:实际开发中,我们需要将不同类型的数据组合成一个整体,这就是结构体。结构体是自创的类型。 1、查找一名学生信息的两种方案:在EXCEL表格和数据库中经常有这种情况,比方说一个…

7.IDA-创建结构体

结构体分类 结构体的一个显著特点在于,结构体中的数据字段是通过名称访问,而不是像数组那样通过索引访问。不好的是,字段名称被编译器转换成了数字偏移量。结果,在反汇编代码清单中,访问结构体字段的方式看起来与使用…

结构体的初步认识以及其内存的计算

目录 前言 结构体的定义 结构体的自引用 结构体的初始化 结构体内存的计算 前言 我们知道,通过不同的数据类型我们可以表达不同意义的数据,如长度宽度面积只需要定义一个 int 类型的数据就可以符合大部分的需求。但是,有些东西自存在就是一…

IDA创建结构体方法

1. ida是最好用的逆向分析工具 2.问题 如果你在使用IDA分析时遇到大量的结构体指针偏移形式的变量,肯定想根据自己的分析重命名结构体各项。 3.定义结构体 这是需要先找到结构体初始化的地方 这里记录了每一项的偏移量,记录了结构体总大小Ox110uLL。 …