LDA Effect Size分析 LEfSe详解

LDA Effect Size分析 LEfSe详解LDAEffectSize分析LEfSe详解LEfSe的作用LEfSe的原理LEfSe的作用在介绍LEfSe的作用前,我们先解释一个概念——biomarker,维基百科给出的定义是Abio-marker,orbiologicalmarkerisameasurableindicatorofsomebiologicalstateorcondition.Biomarkersareoftenmeasuredandevaluatedtoexaminenorma

大家好,又见面了,我是你们的朋友全栈君。

LDA Effect Size分析 LEfSe详解

LEfSe的作用

在介绍LEfSe的作用前,我们先解释一个概念——biomarker,维基百科给出的定义是

A bio-marker, or biological marker is a measurable indicator of some biological state or condition. Biomarkers are often measured and evaluated to examine normal biological processes, pathogenic processes, or pharmacologic responses to a therapeutic intervention.

用我们搞数据的人能理解的话讲,biomarker就是非常强力的用来分类的特征,它可以是基因、细胞或者物种分类单元等。比如(瞎编的例子,不能当真)某个研究团队发现脚气会影响中央后回位于Sylvian Fissure附近的区域,从而影响舌头的知觉,于是这个团队打算进一步研究脚气怎么通过肠脑轴影响舌头的知觉,他们随机调查了一批志愿者,记录了志愿者的一些demographic information以及病理信息,并记录了他们肠道菌群的物种分类信息与物种丰度,于是他们有了一张数据表:

Group 有脚气 无脚气
界.门.纲.目.科.属1 丰度 丰度
界.门.纲.目.科.属2 丰度 丰度
。。。

他们想知道哪个属的细菌的丰度在有脚气与无脚气的志愿者之间是存在显著差异的,这个时候就需要LDA Effect Size分析了。

也就是说LDA Effect Size分析的作用是发现不同group之间存在显著差异的biomarker。下面我们介绍LDA Effect Size分析的原理。

LEfSe的原理

首先我们写出数据,用 i i i表示第 i i i个志愿者, i = 1 , 2 , ⋯   , n i=1,2,\cdots,n i=1,2,,n,用 y i y_i yi表示第 i i i个志愿者所在的group, y i ∈ { 1 , 2 , ⋯   , K } y_i \in \{1,2,\cdots,K\} yi{
1,2,,K}
(比如讨论有无脚气时 K = 2 K=2 K=2,我们可以用 y i = 1 y_i=1 yi=1表示志愿者 i i i有脚气,用 y i = 2 y_i=2 yi=2表示志愿者 i i i无脚气),用 x i x_i xi表示第 i i i个志愿者的肠道菌群物种分类信息,
x i = ( x i 1 , ⋯   , x i M ) T x_i = (x_{i1},\cdots,x_{iM})^T xi=(xi1,,xiM)T

比如 x i 1 x_{i1} xi1可以表示是Bacteroidaceae(拟杆菌科)、 x i 2 x_{i2} xi2可以表示Coriobacteriaceae(红蝽杆菌科);用 z i z_i zi表示第 i i i个志愿者的demographic information以及病理信息,
z i = ( z i 1 , ⋯   , z i L ) T z_i = (z_{i1},\cdots,z_{iL})^T zi=(zi1,,ziL)T

比如 z i 1 z_{i1} zi1可以表示性别、 z i 2 z_{i2} zi2表示种族、 z i 3 z_{i3} zi3表示BMI等。

第一步 Kruskal-Wallis检验
因为 M M M通常是一个非常大的数,也就是说肠道内包含的细菌属非常多,但我们只需要找到效果最好的那几个作为biomarker,所以在使用LDA分析前,我们最好先做一个预处理:选出在两个group间具有显著差异的属,筛掉那些不具有显著差异的属。

μ m j \mu_{mj} μmj表示第 j j j个group的第 K K K个细菌属的平均丰度, j = 1 , ⋯   , K j=1,\cdots,K j=1,,K m = 1 , ⋯   , M m=1,\cdots,M m=1,,M,我们想要检验:
H 0 : μ m 1 = μ m 2 = ⋯ = μ m K H a : 至 少 有 一 个 与 其 他 的 不 等 H_0:\mu_{m1} = \mu_{m2} = \cdots = \mu_{mK} \\ H_a:至少有一个与其他的不等 H0:μm1=μm2==μmKHa:

在介绍单因素试验设计的时候,我们介绍了检验多总体均值的方法——ANOVA,然而ANOVA需要总体服从正态分布,然而物种丰度通常会服从有偏的分布,所以我们并不能使用ANOVA来做这个检验,不过我们也讨论过,当总体的正态假设不满足时,我们可以使用非参的Kruskal-Wallis检验

第二步 Wilcoxon秩和检验
接下来我们再做一个数据预处理,我们希望菌群丰度差异是group不同造成的,(比如菌群丰度主要是由有无脚气造成的),那么我就需要证明其他因素不会造成菌群丰度的显著差异。

比如在完成第一步以后,如果我们发现有无脚气的志愿者他们肠道红蝽杆菌科的丰度具有显著差异,但又有研究者提出,红蝽杆菌科丰度的差异可能与性别有关,于是我们按照性别把第 j , 1 ≤ j ≤ K j,1 \le j \le K j,1jK个group每一个都分为2个subgroup,我们希望同一个group的两个subgroup之间的红蝽杆菌科丰度没有显著差异,但是不同group的subgroup之间红蝽杆菌科丰度存在显著差异。为了实现这个比较,我们需要给这 2 K 2K 2K个subgroup的红蝽杆菌科丰度做两两比较。在单因素试验设计中我们介绍过三种做两两比较的方法:Tukey检验、Fisher Least Significant Difference方法、Dunnett方法。遗憾的是,这三种方法都要求基于ANOVA的假设进行,因此在这个应用场景下,我们这三种方法同样一个也不能用。这时我们同样就需要非参数检验了,Wilcoxon秩和检验就可以在subgroup之间进行两两比较。

对第一步选出来的那些biomarker都使用Wilcoxon秩和检验,同一个group的两个subgroup之间没有显著差异,不同group的subgroup之间存在显著差异的biomarker我们可以保留下来,然后扔掉其他的biomarker。需要注意的是把group分成不同的subgroup是基于 z i z_i zi进行的,如果存在某个 z i l z_{il} zil它可能造成biomarker的显著差异,我们就按 z i l z_{il} zil的不同取值分subgroup。

比如我们按照性别把第 j , 1 ≤ j ≤ K j,1 \le j \le K j,1jK个group每一个都分为2个subgroup,但是我们发现某些group的两个subgroup之间的红蝽杆菌科丰度存在显著差异,这就说明group之间红蝽杆菌科丰度的显著差异可能并不是由group(有无脚气)导致的,而是由性别决定的,于是我们排除掉红蝽杆菌科丰度。如果我们发现某些group的两个subgroup之间的红蝽杆菌科丰度没有显著差异,那么我们可以留下红蝽杆菌科丰度,并将其作为指示脚气的一个重要biomarker。

要找存在显著影响的 z i l z_{il} zil也很简单,对丰度使用adonis,用 z i 1 , ⋯   , z i L z_{i1},\cdots,z_{iL} zi1,,ziL以及group作为feature, z i 1 , ⋯   , z i L z_{i1},\cdots,z_{iL} zi1,,ziL中显著的那些feature就应该用来做一下Wilcoxon秩和检验。

第三步 LDA
现在我们就有了质量还不错的数据了,这些数据就是显著的biomarker,并且它们的显著差异主要是由group不同造成的,而不会受其他confounding variable的显著影响。

那么最后我们要做的就是评估这些biomarker的重要性了,我们可以用LDA进行分析。简单解释一下LDA的原理,之前我没写完的统计学习的博客里推导了LDA的输赢比的公式:

ln ⁡ P ( Y = 1 ∣ X = x ) P ( Y = − 1 ∣ X = x ) = ln ⁡ π 1 exp ⁡ { − 1 2 ( x − μ 1 ) T Σ − 1 ( x − μ 1 ) } π 0 exp ⁡ { − 1 2 ( x − μ 0 ) T Σ − 1 ( x − μ 0 ) } = [ − 1 2 ( x − μ 1 ) T Σ − 1 ( x − μ 1 ) + ln ⁡ π 1 ] − [ − 1 2 ( x − μ 0 ) T Σ − 1 ( x − μ 0 ) + ln ⁡ π 0 ] \ln{\frac{P(Y=1|X=x)}{P(Y=-1|X=x)}} = \ln{\frac{\pi_1 \exp{\{-\frac{1}{2}(x-\mu_1)^T\Sigma^{-1}(x-\mu_1)\}}} {\pi_0 \exp{\{-\frac{1}{2}(x-\mu_0)^T\Sigma^{-1}(x-\mu_0)\}}}} \\ = \left[-\frac{1}{2}(x-\mu_1)^T\Sigma^{-1}(x-\mu_1) + \ln \pi_1 \right] – \left[-\frac{1}{2}(x-\mu_0)^T\Sigma^{-1}(x-\mu_0) + \ln \pi_0 \right] lnP(Y=1X=x)P(Y=1X=x)=lnπ0exp{
21(xμ0)TΣ1(xμ0)}
π1exp{
21(xμ1)TΣ1(xμ1)}
=[21(xμ1)TΣ1(xμ1)+lnπ1][21(xμ0)TΣ1(xμ0)+lnπ0]

每个中括号里面的式子具有一样的构造,它代表的是数据点到centroid的距离,这个式子的值越大,那么对应的biomarker的效果就越强。

比如还是在脚气的例子中,假设我们通过第一步和第二步筛选出 N N N个biomarker,那么 n n n个志愿者就可以表示成 n n n个在 N N N维空间中的点,点的第 a a a个坐标表示第 a a a种biomarker的丰度( 1 ≤ a ≤ N 1 \le a \le N 1aN)。这 n n n个点会集中在两个中心,这两个中心的坐标分别表示有脚气/无脚气的志愿者第 a a a种biomarker的平均丰度( 1 ≤ a ≤ N 1 \le a \le N 1aN),我们称这两个中心为centroid。我们可以把这 n n n个点投影到第 a a a个坐标轴上,就得到了 n n n个位于直线上的点,有脚气的会落在一些区域,没有脚气的会落在另一些区域,如果这两个区域几乎不重叠,那么第 a a a个biomarker就是一个非常重要的biomarker。我们可以用上面的对数输赢比来度量biomarker的重要性,比如设置对数输赢比大于2表示biomarker非常重要,那么我们就可以用对数输赢比的柱状图或者Cladogram等可视化方法来展示我们发现的biomarker的重要性以及它们的演化规律。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/134464.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • RSA加密算法解读

    RSA加密算法解读图为RSA公开密钥算法的发明人,从左到右RonRivest,AdiShamir,LeonardAdleman.照片摄于1978年  RSA加密算法是最常用的非对称加密算法,CFCA在证书服务中离不了它。但是有不少新来的同事对它不太了解,恰好看到一本书中作者用实例对它进行了简化而生动的描述,使得高深的数学理论能够被容易地理解。我们经过整理和改写特别推荐给大家阅读,希望能够对时间…

    2022年6月1日
    36
  • MySQL 拼接字符串_合并字符串的库函数是

    MySQL 拼接字符串_合并字符串的库函数是原文请查看MySQL拼接字符串函数CONCAT这里selectconcat(updatesale_personbodysetoldill_code=/,code,/,oldill_reportname=/,reportname,/,oldill_oldtitle=/,oldtitle,/whereoldill=)fromtj_oldill

    2022年9月1日
    2
  • unity3d游戏场景制作[通俗易懂]

    unity3d游戏场景制作[通俗易懂]运用unity3d熟练,不仅可以更巧妙的熟练制作出游戏更重要的是可以做到将自己完美的想象发挥的淋漓尽致。   UniSky是Unity3d的一款模拟环境天气的插件,使用它可以简单的实现呼风唤雨的各种功能。   使用起来也非常的方便。   引入Package后(注意路径必须是英文否则会出错)Project中会多一个文件夹:

    2022年5月18日
    39
  • 数据库mysql的执行顺序(sql语句大全实例教程)

    今天遇到一个问题就是mysql中insertinto和update以及delete语句中能使用as别名吗?目前还在查看,但是在查阅资料时发现了一些有益的知识,给大家分享一下,就是关于sql以及MySQL语句执行顺序:sql和mysql执行顺序,发现内部机制是一样的。最大区别是在别名的引用上。一、sql执行顺序(1)from(3)join(2)on(4)where…

    2022年4月13日
    92
  • 通过优启通制作U盘启动安装Windows系统「建议收藏」

    通过优启通制作U盘启动安装Windows系统「建议收藏」通过U盘启动安装Windows系统(一)制作启动项,拷贝镜像(EASYU软件)通过EASYU(优启通),制作启动盘,启动盘制作成功之后,在优启通主界面,模拟测试,选BIOS测试,若能进入,将win7的GHO镜像文件放入U盘.运行优启通点击“归还空间”,分区格式选择NTFS,点击“全新制作”。(UEFI和NTFS的区别在于,UEFI格式的启动盘不能放大于4G的GHO镜像文件,NTFS可以放大于4G的GHO镜像文件或者ISO镜像文件)制作完要检验一下启动盘是否制作成功,可

    2022年6月25日
    74
  • 2021山东安全员c证考试题库_安全管理员试题库C2

    2021山东安全员c证考试题库_安全管理员试题库C2题库来源:安全生产模拟考试一点通公众号小程序2022年山东省安全员C证考题为山东省安全员C证复训题库高频考题覆盖!2022年山东省安全员C证考试题模拟考试题库及在线模拟考试根据山东省安全员C证新版教材大纲编写。山东省安全员C证理论题库通过安全生产模拟考试一点通上练习全部题库。1、【多选题】动臂变幅幅度限制装置功能通过空载运动目测及査验计算书的方式进行。()査验计算书有此状态臂架防后翻能力验算。(ABDE)A、吊钩空载B、臂架内变幅到设计最大仰角C、臂架内变幅到设计最大幅度…

    2022年9月6日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号