数据分析中的严谨问题

  • A+
所属分类:生物信息学

数据分析中,不少人存在或多或少的不严谨操作。本文大致列举一些

关于Fold Change的计算

Fold Change是差异biomarker筛选的一个常用步骤,一般大家都使用两组的均值相除进行计算。但是,对于非正态分布,使用均值相除是否合理?以下找几个特殊案例进行分析

存在异常值时

A组:1, 2, 2, 3, 3, 3, 4, 4, 4, 5, 5, 6, 7, 10, 36, 均值为6.33, 中位数为4,且数据集中趋向于3-4附近.

B组:3, 4, 4, 5, 5, 5, 5, 6, 6, 7, 7, 8, 9, 10, 11, 均值为6.33, 中位数为6,且数据集中趋向于5-6附近

可见,存在异常值时(尤其是样本量不够大时),采用均值可能得出不够有表征能力的FC值。

存在偏态分布时

A组:1, 2, 2, 2, 3, 3, 3, 3, 3, 4, 4, 5, 5, 6, 8, 10, 均值为4.0, 中位数为3,且数据集中趋向于3附近.

B组:0, 1, 2, 2, 3, 4, 4, 5, 5, 5, 5, 5, 6, 6, 8, 10, 均值为4.4, 中位数为5,且数据集中趋向于5附近.

可见,存在偏态分布时,采用均值也可能得出不够有表征能力的FC值。

何去何从

虽然我们会遭遇上述情况,但是大多数情况下,均值与中位数的表征能力差别不会太大。当某组数据杂乱无章(双峰甚至多峰分布)时,这个特征可能并不是理想的特征。当数据存在偏态分布时,顶多只会稀释差距,而对于真正有价值的特征,这点稀释也还能接受。

GSEA官网中,gene rank采用的几种方式中,Fold Change默认采用的是通过均值计算(虽然可以修改成中位数计算方式)。建议对于一般情况,仍然可以采用均值计算FC值。以下摘自文字及截图GSEA官网:GSEAUserGuide

To use median rather than mean expression values, set the Median for metrics parameter to True, as described above.

      

GSEA官方推荐的是Signal2Noise来对gene进行排序。从公式上来看,Signal2Noise的正负性与log2FC的正负性是一致的。笔者基于强迫症,进一步使用R计算了基于均值的FC值,和GSEA软件Signal2Noise跑出来的基本一致(正负数个数一致,13K基因只偏差了1个,log2FC为0的有好几个,可能截点选取规则不同吧)。至少说明,GSEA做富集分析时,默认基于均值计算rank,这也是大家公认的。

GSEA富集分析的rank规则,是否可以自定义?比如采用模型权重w值?

 

关于Fold Change的界值

这个在之前的博客里讨论过。