卡方独立性检验chisq.test()

先引用一段R IN ACTION 的话:R提供了多种检验类别型变量独立性的方法。本节中描述的三种检验分别为卡方独立性检验、Fisher精确检验和Cochran-Mantel–Haenszel检验。

你可以使用chisq.test()函数对二维表的行变量和列变量进行卡方独立性检验。示例参见代码清单7-13。 

# Listing 7.13 - Chis-square test of independence
> library(vcd)
> mytable <- xtabs(~Treatment+Improved, data=Arthritis)    --这里是要检验的两个列属性:Treatment ,Improved,构建一个交叉相乘表。
> mytable
         Improved
Treatment None Some Marked                --这里显示交叉相乘的结果               
  Placebo   29    7      7
  Treated   13    7     21
> chisq.test(mytable)                     --下面使用了卡方函数测量两个变量是否对立。                     


        Pearson's Chi-squared test


data:  mytable
X-squared = 13.055, df = 2, p-value = 0.001463         --从结果显示, p-value非常小, 可认为是Treatment ,Improved不独立, 存在某种相关关系。


下面我们再用卡方独立检查函数检查一组相互独立的属性, 以进行对比学习:

> mytable <- xtabs(~Sex+Improved, data=Arthritis)
> mytable
        Improved
Sex      None Some Marked
  Female   25   12     22
  Male     17    2      6
> chisq.test(mytable)


        Pearson's Chi-squared test


data:  mytable
X-squared = 4.8407, df = 2, p-value = 0.08889      --从这个列在看出, Sex, Improved之间是相对独立的。


那么问题来类, 卡方函数是根据什么原理来判断两个属性是否相对独立的呢? 查了些资料, 卡方函数的计算原理如下:

首先我们介绍一下相关的一个重要概念: 变量类型。


一:分类变量(定性的变量)

扫描二维码关注公众号,回复: 3857755 查看本文章

该类变量如分类, 等级等等, 如男女, 用于表示变量的属性, 他的取值一定是离散的, 而且不同的取值, 代表不同的性质。


二:定量变量(定量的变量)

该类变量一般为实数, 表示大小不同的度量。


研究不同类型变量的相关性, 自然方法上也会用一些区别:

一:定量变量: 回归分析(三点图, 相关系数等等)

二:定性变量:独立性检查(卡方独立性检查等等)


显然, 卡方独立检测, 是针对分类变量(也叫定性)来使用的, 其基础原理也不复杂, 更多的是使用了概率算法, 如下:

Sex 与Improved到底是否相关? 

> addmargins(mytable)
        Improved
Sex          None   Some   Marked    Sum
  Female   25           12          22      59
  Male        17             2            6       25
  Sum        42           14          28      84


假设: 如果Sex与Improved相互独立, 那么Female的治愈比例和Male的治愈比例应该是大致相等的, 否则可以认为Sex与Improved之间存在某种关系, 影像了Improved的情况, 导致不同性别的Improved情况存在差异.

 用公式来表示关系如下:

     Female(Marked/SUM(Female)) = Male(Marked/sum(Male))

     22/59 = 6/25

     0. 37  =  0.24


当数据量巨大的时候, 上述等式应该与接近, 假设在大量数据下, 上述等式还是存在很大差异, 这说明两个变量之间不相互对立。


上述只是基本原理, 卡方检查在此基础上做了很多数学处理(用兴趣的可以查询详情), 建立了卡方检查表作为对立性检查的参考:

当 p-value < 0.1时就可以认为他们之间没有显著的相关性。

     








猜你喜欢

转载自blog.csdn.net/ForRubyDownLoad/article/details/50776526
今日推荐