原文连接:https://zhuanlan.zhihu.com/p/356713157 本来这篇文章是想讲 cFIT 的,但是在群里分享,经张世华老师指点,告诉我几篇非常相关的文章,其实 LIGER 的 idea 是源自 Integrative non-negative matrix factorization (iNMF), 然后更早就是张老师做的 joint non-negative matrix factorization (jNMF),之后的后续是 Common and Specific patterns via Matrix Factorization (CSMF)。感觉都是很好的文章,于是就一并在这一篇中整理归纳了。才疏学浅,写的混乱的地方评论区大家随意评
首先我们回顾一下这个系列的几篇文章,以及这几篇文章到底说了什么事情。
Rethinking batch effect removing methods—CCA
Rethinking batch effect removing methods—MNN
Rethinking batch effect removing methods—LIGER
下面先介绍 cFIT, JNMF, INMF, JSCM 这几种方法,并在最后回归到这个模型上去。
在之前中我们认为两个 batch 的数据可以写成如下形式,表达谱可分为 biological 信息和 technical 信息的加和。(写成 factor 是为了显示 Bio, tech 空间本身的intrinsic dimension 其实是低维的) 引用一下张老师 JCSM 的图。
而我们之前知道 LIGER 的模型是
目标函数是
我们来看 iNMF 中的目标函数为
其实 LIGER 就是从 iNMF 中来的,一模一样的hhh。但是值得说明的是, iNMF 原文目的是为了多组学的数据,也就是同一个 sample 测了多种组学,但是 LIGER 将整合多组学的方法顺延到了整合不同 batch 上(当然其实也非常明显,不同组学的区别就是 technology 不同, single cell中的 batch effect 当然也可以看做是这个)
而 iNMF 其实是建立在张老师 2009年这篇 JNMF 的基础上的一个延伸。
我们来看两者的目标函数就可以非常清楚的看出这个延伸在哪。
相比之下 JNMF 只考虑两个数据集之间共享的部分信息,对于各自特有的没有考虑,而 iNMG 考虑了这部分异质性的信息,但在优化的时候又对其做了约束,希望这个异质性的信息尽可能的小,也就是共享的信息尽可能大。(共享的信息其实是说在这个 W 张成的 common space 能尽可能的重构原来的表达谱)。
Common and Specific patterns via Matrix Factorization ,顾名思义就同时考虑了共享的和异质性两部分。但是和 iNMF 最大的区别是,iNMF 假设了在 bio space(W张成),以及 tech space(V 张成的空间)坐标是相同的,或者两者是共享一套 factor loading 的。CSMF 去掉了这个限制。但是同时也去掉了对于 specific 部分的惩罚。话不多说直接看目标函数!
可以看到区别就是
也就是上文中说到的 iNMF 假设了在 bio space (W 张成的空间),以及 tech space( V 张成的空间)坐标是相同的,或者两者是共享一套 factor loading 的。而 CSMF 去掉了这个限制。且同时在目标函数中也去掉了对于 specific 部分的惩罚。(这个我感觉不是很合理其实,但是不知道是不是处于优化的考虑)。
cFIT 的核心如下图
可以看到关键就是在于 cFIT 认为
这是什么意思呢,其实就是认为最后的
都是由
这个代表生物真实表达量通过一个线性变化得到的。其中
代表线性变换的 scale,
表示一个 offset。一句话总结, cFIT 认为batch effect 的影响是一个 gene specific 的 线性变换。
为 noise 乍一看 cFIT 和之前所述的分解为两部分的 model 并没有什么关系。但是只要稍作变换就可以看出其实还是原始模型的变种。
也就是说认为 batch effect 带来的表达谱
是线性于
的。
最后偷个懒,把之前写过的复制过来总结一遍。
从上面几个式子可以看出来最关键的部分就是怎么处理这个
。但是这个模型下,MNN 和所谓的 CCA 其实是没那么显式可以纳入的,最近还要好好想想。直觉上是把非负的条件变成正交就行,但具体形式还没搞出来。