相关性分析是指对两个或多个具备相关性的变量元素进行分析,从而衡量两个变量因素的相关密切程度。相关性的元素之间需要存在一定的联系或者概率才可以进行相关性分析。
有时候多组数据需要分析其关联性(是否有正向/反向线性关联关系),这个时候就可以借助关联性分析了。如果只是两组线性数据比较,那只要比出来一个关联度就好了。但是如果是两个表格(多对多组数据,两两比较,就需要相关度表 correlation matrix了。
关联分析可以用pearson、spearman或者kendall三种关联分析方法,一般比较常用的是pearson,这个会考虑具体数值大小。在这里因为数据差异比较大,所以我选用了spearman方法来进行相关性分析。
关于相关性分析的三个算法区分可以参考这篇文章:相关性分析
correlation的数值越接近1 或 -1,说明两组数据之间正向 或 反向 线性关联越强,但correlation总是要结合p-value一同考虑,才有意义。
PS: 协方差corvariant 也是计算两组数据线性关系的,但由于协方差受data scale 影响很大,所以只看结果的符号来判断正向或反向关系。相关性correlation由corvariant计算得到,同时考虑了data scale,所以结果的数值大小和符号都可以作为参考,可以运用correlation和X来预测Y,但效果一般般。 所以,又引入了R2(R平方,R=pearson相关系数),一个能更好表达用X来预测Y的度量标准,同时还能用于非线性关系,R=0.9时,R2=0.81,说明81%的预测结果可以由Y/X关系来解析。此处不深入讲了。
以R来实现,
关于相关系数散点图(一对一) ,注意,如果数据是RNA reads counts,需要先转换成log(TPM) 再进行画图,因为1)基因reads数基于基因长度进行标准化是最基础的,否则无法进行比较; 2)