R语言独立性检验函数2021.3.9

1. 独立性检验

1.1 定义

独立性检验是根据频数信息判断两类因子彼此相关或相互独立的假设检验。所谓独立性就是指变量之间是独立的,没有关系。例如一种药只对男性起作用,不对女性起作用。则说明这药对男性和女性因子来说是独立的。
假设检验(Hypothesis Testing)是数理统计学中根据一定假设条件由样本推断总体的一种方法。

  • 原假设——没有发生;
  • 备择假设——发生了;

具体做法是:根据问题的需要对所研究的总体作某种假设,记作H0;选取合适的统计量,这个统计量的选取要使得在假设H0成立时,其分布为已知;由实测的样本,计算出统计量的值,并根据预先给定的显著性水平进行检验,作出拒绝或接受假设H0的判断。

1.2 p值

p-value就是Probability的值,它是一个通过计算得到的概率值,也就是在原假设为真时,得到最大的或者超出所得到的检验统计量值的概率。一般将p值定位到0.05,当p<0.05 拒绝原假设,二者相关;p>0.05,不拒绝原假设,二者不相关。也需要根据数据来调整p值,如果数据噪音比较大,可以将p值设置为0.1;对数据要求非常精细时,则只需要将值设置为0.01。

1.3 独立性检验算法

包括三种卡方检验,Fisher检验,Cochran-Mantel-Haenszel检验。


图1 独立性检验算法

1.3.1 卡方检验(单因素方差分析,用于定性变量相关分析)

library(vcd)
library(grid)
mytable<- table(Arthritis$Treatment,Arthritis$Improved)#计算这两列的频数
#方法二xtabs(formula=~Treatment+Improved,data=Arthritis)
chisq.test(mytable)#进行卡方检验,状态是否与用药水平相关,p<0.05则两者显著相关
图2 卡方检验结果

1.3.2 Fisher检验

library(vcd)
library(grid)
mytable<- table(Arthritis$Treatment,Arthritis$Improved)#计算这两列的频数
#方法二mytable<-xtabs(formula=~Treatment+Improved,data=Arthritis)
fisher.test(mytable)#进行fisher检验,状态是否与用药水平相关,p<0.05则两者显著相关

从结果可以看出,p值有一定区别,但得出的结论一致


图3 Fisher检验结果

1.3.3 Cochran-Mantel-Haenszel检验

library(vcd)
library(grid)
mytable<-xtabs(formula=~Treatment+Improved+Sex,data=Arthritis)#计算这三列的频数,变量顺序是有关系的,顺序不同,意义不同,结果不同。
mantelhaen.test(mytable)#进行Cochran-Mantel-Haenszel检验,药物治疗和改善情况在性别因子的每一个水平上是否独立,p<0.05则两者显著相关
图4 Cochran-Mantel-Haenszel检验结果
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容