Rethinking batch effect removing methods—MNN
原文链接:https://zhuanlan.zhihu.com/p/353400937
Introduction
首先在另一个 batch 之中寻找和自己互为 nearest neighbor 的(互为 K 近邻),这边距离采用 cos 余弦距离(记住这个距离,因为是这个 Cos 余弦距离将 CCA 和 MNN 统一在了一起)
找到配对的 neighbor 之后,我们认为这些配对的 cells 的差别是由 batch effect 导致的,因此可以借此了来刻画 batch effect,并计算 correction vector。
但这样就有一个问题,那没有配对的细胞该怎么校正呢?其实也非常简单,类似于使用局部近似,利用其周围有配对的 cells 得到的 correction vector 的线性组合来计算他本身 correction vector。离它越近的配对细胞所占的权值就越大,越远的则越小。(具体实现是使用 kernel method 来计算权重)
Experiment
,我们可以发现相同细胞类型可以明显的聚成一类。从而可以利用这个找到 mutual nearest neighbor 来进行 mapping(至少可以在某种程度上说 mutual near neighbor 大概率是同 Cell type 的细胞)
Theory part
。
上的距离关系能够跨 batch 得到保留,从而在
上表现出来。
,我们有下式。
表示 gene expression 的内在维度(类比 Factor analysis 中的 Factor),
就是在真实维度中的坐标,而因为同享相同的 gene 所以这个 Factor 应该是一样的,对应生物也就是所谓的 Gene expression program/ module 是一样的。而 batch effect 也同样可以由低维的 factor 来刻画,但是因为他们的 batch effect 对应的不同所以可以 Factor
是不同的。
上最近的细胞就是在
上最近的。
Assumption:
Biology variance 和 batch effect 所代表的的方向相互正交,也就是
正交
Cell 之间的差异远大于 Batch 之间的差异时。也就是
时
Conclusion:
-
中距离最近的细胞也就是
最接近的。
Proof
做了
normalization 的话,欧式距离和余弦距离相同。(差一个常数倍) 证明也非常简单,如下:
) 从而将原空间中的距离拆分成独立两部分,证明如下。
对距离求导,可以得到
) 上也是最近的,所以如果要找跨 batch 对应的细胞可以直接在原空间寻找。
MNN and CCA
做 SVD 分解得到
,此时低秩近似为
,于是选取 embedding
,可以得到
在低维空间上 sample similarity matrix 是原矩阵的一个低秩近似。
(
)得到
,然后找到互为近似的 anchor pair 来消除 batch effect。
,然后
均非负。