美文网首页
2021-11-16

2021-11-16

作者: 小白兔和小毛驴 | 来源:发表于2021-11-15 15:51 被阅读0次

         为什么表达矩阵要进行归一化和标准化,因为去除极端值,异常值。原始的raw counts矩阵是一个离散型的变量,离散程度很高。有的基因表达丰度比较高,counts数为10000,有些低表达的基因counts可能10,甚至在有些样本中为0。如果对表达量去一下log10,发现10000变成了4,10变成了1,这样之前离散程度很大的数据就被集中了。

          取log值就是一种归一化的方法,z-score是常用的标准正态分布化的方法。        归一化:将每个样本的特征值(在转录组中,特征值就是表达量)转换到同一量纲下,把表达量映射到特定的区间内,区间的上下限由表达量的极值决定,这种区间缩放法是归一化的常用方法

           标准化:按照表达矩阵中的一个基因在不同样本中的表达量处理数据,每个样本点都能对标准化产生影响,通过求z-score值,转换为标准正态分布,经过处理的数据的均值为0,标准差为1,因此z-score也称为零-均值规范化。

           判断GEO芯片数据表达矩阵是否需要log2转换:最简单粗暴的方法就是,根据数值大小粗略估计:

    1.肉眼识别

           如果表达量的数值在50以内,通常是经过log2转化后的。如果数字在几百几千,则是未经转化的。因为2的几十次方已经非常巨大,如果2的几百次方,则不符合实际情况。

    2.根据标准化处理方法推算

    GSE数据下载界面中的SOFT文件和Series Matrix File(s)文件中均有描述该系列的数据是如何进行标准化处理的,常见的标准化处理方法有3种:RMA算法、GC-RMA算法、MAS5算法,其中前两中算法的返回值已经经过log2转换,可直接进行差异表达分析,第三种算法返回值未经过log2转换,需要自行进行log2转换

    3.使用脚本自动判断是否需要log转换

    之前整理的geo数据程序可判断。

           有时当表达量为0时,取log会出现错误,可以log(counts+1)来取log值。当x=1时,所有的log系列函数值都为0。这样原本表达量为0的值,取log后仍为0。

    这也就是UCSC的XENA下载到的表达矩阵的形式。

    z-score对表达量的影响

           log对每个样本的表达量的处理标准是一样,而z-score考虑到了不同样本对表达量的影响,计算z-score时,消除到了表达的平均水平和偏离度的影响。

           转换后表达量符合正态分布分布,Z-score只是一个临界值,是标准化的结果,本身没有意义,有意义的在于在标准正态分布模型中它代表的概率值。

    所以只要知道Z值, 查对应的正态分布表,就可以知道表达量偏离平均水平的程度。

    表达量log归一化和z-score标准化的使用范围

    如果对表达量的范围有要求,用归一化。

    如果表达量较为稳定,不存在极端最大最小值,使用归一化。

    如果表达量离散程度很大,存在异常值和较多噪音,用标准化可以避免异常值和极端值的影响。

    在分类、聚类、PCA算法中,使用z-score值的结果更好。

    数据不太符合正态分布时,可以使用归一化。

    机器学习的算法(SVM、KNN、神经网络等)要求归一化/标准化

    剔除异常值

    大家看群主代码绘制热图,里面经常看到z-score以及去除极端值的:

    pheatmap(dat)

    n=t(scale(t(dat)))

    n[n>2]=2#限定上限,使表达量大于2的等于2

    n[n<-2]=-2#限定下限,使表达量小于-2的等于-2

    n[1:4,1:4]

    pheatmap(n,show_colnames=F,show_rownames=F)

    ac=data.frame(group=cluster)

    rownames(ac)=colnames(n)

    pheatmap(n,annotation_col=ac,

    show_colnames=F,show_rownames=T)

    n[n<-1]=-1# 重新限定下限,使表达量小于-2的等于-2

    n[1:4,1:4]

    pheatmap(n,annotation_col=ac,show_colnames=F,show_rownames=T)

    总结

    在一些公共数据库如TCGA、GEO中,会提供取log值、z-score后的表达量矩阵,这些值都是count矩阵的另一种表示形式。了解这些值背后的含义及应用范围,针对不同的数据挖掘模型,选取适合的表达量的表示形式来达到预期的结果。

    相关文章

      网友评论

          本文标题:2021-11-16

          本文链接:https://www.haomeiwen.com/subject/rvphtrtx.html