前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Z-score并不会影响很多统计学算法的结果

Z-score并不会影响很多统计学算法的结果

作者头像
生信技能树
发布2021-07-06 14:41:01
2K0
发布2021-07-06 14:41:01
举报
文章被收录于专栏:生信技能树
做教学我们是认真的,我们的马拉松授课(直播一个月互动教学)培养了超多优秀的知识整理和分享者,与十万人一起学生信,你值得拥有下面的学习班:

下面是2020第6期入门班优秀学员投稿笔记

先了解什么是z-score

**Z值(z-score)**又称标准数,能够将不同量级的数据转化为相同量级,实现标准化。

其公式表示为:

z = \frac{(x-μ)}{σ}

其中:x为实际测量值,μ为平均数,σ为标准差。

Z-score后的值本身没有实际意义,仅使数据标准统一化。实测值>平均值,则z为正值,实测值<平均值,则z为负值。

在R中实现计算z-score

R语言中默认利用函数scale实现 z-score 的变换,scale函数共有两个参数centerscale,并且两个参数均默认为TURE。其中center = T表示数据中心化,scale = T为真表示数据标准化。

z-score前后数据变化
代码语言:javascript
复制
x <- matrix(runif(100, 5.0, 7.5),nrow = 20)
b <- scale(x)

par(mfrow = c(2,2))
plot(x)
plot(b)
boxplot(x)
boxplot(b)
但是Z-score并不会影响很多统计学算法的结果

之所以说Z-score并不会影响很多统计学算法,是因为Z-score只改变了数据的量级并**未改变数据的分布,**比如,以降维为主的PCA分析:

代码语言:javascript
复制
library(FactoMineR)#画主成分分析图需要加载这两个包
library(factoextra) 
x1 <- PCA(x, graph = FALSE)
pca_x <- fviz_pca_ind(x1,geom.ind = "point",addEllipses = TRUE)

b1 <- PCA(b, graph = FALSE)
pca_b <- fviz_pca_ind(b1,geom.ind = "point",addEllipses = TRUE)

pca_x + pca_b

可以看到,使用zscore前后的矩阵去做pca,得到的结果并没有差异哦!

以相关性为基础的一系列分析(如WGCNA),R提供了cov()cor()函数分别用于计算协方差和相关系数:

代码语言:javascript
复制
x <- matrix(runif(150, 5.0, 7.5),ncol = 15)
b <- scale(x)
colnames(x) <- c(paste("A",1:15))
colnames(b) <- c(paste("B",1:15))

#协方差
par(mfrow = c(2,2))
boxplot(cov(x))
boxplot(cov(b))

#相关性
boxplot(cor(x))
boxplot(cor(b))

可以看到,也是没有差异的!

那么,灵魂拷问来了,如果你的芯片或者转录组测序表达量矩阵被Z-score了,那么会影响你进行差异基因的选择吗?

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-05-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 生信技能树 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 先了解什么是z-score
  • 在R中实现计算z-score
    • z-score前后数据变化
    • 但是Z-score并不会影响很多统计学算法的结果
    相关产品与服务
    云直播
    云直播(Cloud Streaming Services,CSS)为您提供极速、稳定、专业的云端直播处理服务,根据业务的不同直播场景需求,云直播提供了标准直播、快直播、云导播台三种服务,分别针对大规模实时观看、超低延时直播、便捷云端导播的场景,配合腾讯云视立方·直播 SDK,为您提供一站式的音视频直播解决方案。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档