大家应该很熟悉卡方检验,卡方检验作为非参数检验的一种主要应用大样本数据(样本量>40)。今天我们详细介绍R语言中卡方检验的实现与应用。
1. 我们看下理论基础
(1)检验某个连续变量的分布是否与某种理论分布相一致。如是否符合正态分布、是否服从均匀分布等
①提出原假设H0:变量符合F(x)分布(针对连续型变量),若针对离散型变量,则要假设其分布律
②将样本划分区间k个,每个区间样本数不小于5,区间互不相交,获得每个区间的实际频数fi
③根据假设分布的分布函数,求出每个区间的理论概率pi,得到理论频数npi(n为样本总数)
④计算卡方统计量
⑤计算自由度,即区间数减1,假设显著性α=0.05,得到x2(k-1)α临界值,如果卡方统计量大于临界值,说明理论与实际偏差过大,拒绝原假设
(2)检验某个分类变量各类的出现概率是否等于指定概率。如在36选7的彩票抽奖中,每个数字出现的概率是否各为1/36;掷硬币时,正反两面出现的概率是否均为0.5。
①提出原假设H0:假设该各类变量符合出现概率
②根据原假设得出理论频数,即对各分类变量其对应概率为pi,则理论频数为npi(n为样本总数)
③根据已有实际观测值fi,计算卡方统计量即
④计算自由度,为分类变量数目减去一,与再显著性α=0.05下的临界值比较,若大于临界值,则认为偏差过大,拒绝原假设
(3)检验某两个分类变量是否相互独立。如吸烟(二分类变量:是、否)是否与呼吸道疾病(二分类变量:是、否)有关;产品原料种类(多分类变量)是否与产品合格(二分类变量)有关。该问题针对列联表。
①提出原假设H0:两个分类变量之间无关
②再假设无关的条件下,应用其独立同分布特点,计算出每个格子的理论概率值,比如吸烟并且没有呼吸道疾病的概率值,利用样本数据,分别求出吸烟的概率和患呼吸道疾病的概率,两者相乘得到联合概率,再乘以样本总调查数,就得到了理论数,这里有一个前提很重要,就是我们假设了分类变量之间独立,再能将其概率相乘。
③根据样本,得到实际观测值,计算出卡方统计量
④列联表自由度为(列数-1)(行数-1),再与显著性α=0.05下的临界值比较,若大于,则拒绝原假设,认为有关。
2. R语言中卡方检验的函数chisq.test()
从参数来看,主要是correct = TRUE是默认的情况,意思对数据进行校正,如果你的数据中样本总量>40,并且每个格子中频数都不小于5,那么此参数就可以是FALSE。
函数执行结果如下:
我们主要是需要卡方值以及P-value值。
3. 结果的解释
卡方值越大,代表两者之间存在相关性的可能性越大。
P-value值,众所周知,一般都是认为小于0.05就有统计学意义。
欢迎大家学习交流:
领取专属 10元无门槛券
私享最新 技术干货