卡方检验关联性

2021-05-15  本文已影响0人  吴十三和小可爱的札记

简介

关联分析就是统计分析每个变异与目标性状之间的关联性大小,选出最相关的遗传变异进行验证,并根据验证结果最终确认其与目标性状之间的相关性。一般来说,最直接的方法就是直接用卡方检验检测对照和实验组的SNP allele。


Lecture 12 - Deep Learning in Life Science (Spring 2021)

R语言实现

卡方检验(Chi-Squared Test或 χ2 test) 是一种非参数检验,用于推断总体分布与期望分布是否有显著差异,或比较两个或两个以上样本及两个分类变量之间是否相关,其根本思想是统计样本的实际观测值与理论推断值之间的偏离程度。

卡方分布本身是连续分布,而实际应用中我们接触的大多是非连续的整型的频数,此时任何一个栏位的期望次数小于5,均会使“近似于卡方分配”的假设不可信,导致统计值会系统性地偏高。

在R语言中,我们一般依照以下规则:

  1. 所有栏位的理论数T≥5并且总样本量n≥40,用Pearson卡方进行检验。
  2. 如果有栏位的理论数T<5但T≥1并且n≥40,用连续性校正的卡方进行检验。
  3. 如果有理论数T<1或n<40,则用Fisher’s检验。
  4. 用Fisher's exact test 替代2 x 2 列联表的卡方独立性检验。
  5. 用Binomial test 替代2 x 1 列联表的卡方拟合优度检验。

在这里是推断两个分类变量是否相关(independence):
H0:两个变量之间相互独立,观测值中差异是随机产生的(p越小,越有理由拒绝H0)

table_snp <- matrix(c(22, 68, 976, 932), 
                    nrow = 2, 
                    ncol = 2)
chisq.test(table_snp)

# X-squared = 23.467, df = 1, p-value = 1.271e-06

解释: X-squared 值与图中相近,但是p值有很大差异,通过调取期望值可以发现两边的期望值是不同的,可能由此导致X-squared 值有微弱差异。

chisq.test(table_snp)$expected

由于这是一个2 x 2 列联表的卡方检验,我们可以看到Fisher's exact test的结果与图中是相似的。

fisher.test(table_snp)
# p-value = 7.199e-07

Reference

Chi-squared_test
Disease Circuitry Dissection GWAS - Lecture 12 - Deep Learning in Life Science (Spring 2021)
Fisher's exact test

上一篇下一篇

猜你喜欢

热点阅读