前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >孟德尔随机化之IVW和MR-Egger方法简介

孟德尔随机化之IVW和MR-Egger方法简介

作者头像
生信与临床
发布2022-08-21 16:32:33
6.7K1
发布2022-08-21 16:32:33
举报

今天和大家简单介绍一下孟德尔随机化研究中最常用的两种方法:逆方差加权法(inverse-varianceweighted,IVW)和MR-Egger法。

在讲述之前,我想先和大家介绍一下我们进行MR分析的必要数据,这个数据必须至少包括5列信息:SNP列;暴露的beta值;暴露的se值;结局的beta值;结局的se值。这里的beta值就是SNP对表型(暴露或者结局)的效应量,se是beta值的标准误(standarderror)。这里或许有人会问,为什么我们不需要P值呢?这主要是因为我们可以用beta和se来直接计算P值,具体R语言代码如下:

代码语言:javascript
复制
pval <- 2 * pnorm(abs(b/se), lower.tail=FALSE)

这里b表示beta值,se表示标准误。

当然我们必须要保证暴露和结局的效应等位基因(effect allele)一致。对MR研究特别熟练的朋友可以只使用这5列信息进行分析,但是如果是新手的话,我推荐大家使用“TwoSampleMR”这个R包提供的分析流程,这个我会在后续推送中详细介绍。

IVW法

该方法中文叫做逆方差加权法,它的特点是回归时不考虑截距项的存在并且用结局方差(se的二次方)的倒数作为权重来进行拟合,具体的R语言代码如下:

代码语言:javascript
复制
fit <- summary(lm(b_out ~ -1 +b_exp,  weights = 1/se_out^2))

代码里的b_out表示结局的beta值,b_exp表示暴露的beta值,se_out就是结局的标准误,se_out^2就代表结局beta值的方差,而模型中的-1表示的就是去除截距项。R语言里lm()函数表示拟合线性模型(linear model),summary()函数是用来汇总回归模型拟合的结果。关于R语言的相关信息,请参考往期推送R语言入门系列R语言进阶系列。那么这次回归得出来的beta,se和P值就是MR分析的结果。

MR-Egger法

MR-Egger法与IVW最大的区别就是回归时考虑截距项的存在,另外它也使用结局方差(se的二次方)的倒数作为权重来进行拟合,具体的R语言代码如下:

代码语言:javascript
复制
fit <- summary(lm(b_out ~ b_exp,  weights = 1/se_out^2))

这个代码和IVW的非常相似,区别就在于少了-1,这是因为R函数lm()里默认回归模型保留截距项。同样地,这次回归得出来的beta,se和P值就是MR分析的结果。

其实我们不难看出,IVW和MR-Egger这两个的核心算法都是很简单的,两者最大的区别就是回归时是否考虑截距项的存在。

在IVW的假设中,我们认为这些SNP(也称IV)是没有多效性的,同时考虑到GWAS的结果多为表型标准化后做出来的,所以我们认为结局和暴露之间是正比例关系。因此,我们在使用IVW方法必须要保证这些SNP没有多效性,否则结果会有很大的偏倚。

在MR-Egger的假设中,我们考虑截距项的存在,并用它来评估多效性。如果该截距项和0非常接近,那么MR-Egger回归模型就和IVW非常接近,但是如果截距项和0相差很大,那就说明这些IV间可能有水平多效性存在。

不知大家有没有明白这两个计算方法?如果还是不太明白的话,可以后台留言提问,米老鼠会及时为大家解答的。另外,如果想加入孟德尔随机化交流群的朋友,也可以私信米老鼠。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-09-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 生信与临床 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档