Ritter中的“抖动”功能是什么?

问题描述 投票:12回答:2

根据documentationjitter函数的解释是“向数字向量添加少量噪声”。

这是什么意思?

是一个随机数与向量中的每个数字相关联并添加到它中吗?

r
2个回答
16
投票

抖动确实意味着只是将随机噪声添加到数值向量中,默认情况下,这是通过从均匀分布中提取样本来在抖动函数中完成的。如果未提供量参数,则根据数据选择抖动中的值范围。

我认为术语“抖动”涵盖了除均匀之外的其他分布,并且通常用于更好地可视化重叠值,例如整数协变量。这有助于掌握观测密度高的地方。优良作法是在图例中提及某些值是否已被抖动,即使它是显而易见的。这是一个带有抖动函数的示例可视化以及正常分布抖动,其中我任意抛出值sd = 0.1:

n <- 500
set.seed(1)
dat <- data.frame(integer = rep(1:3, each=n), continuous = c(rnorm(n, mean=1), rnorm(n, mean=2), rnorm(n, mean=3))^2)

par(mfrow=c(3,1))
plot(dat, main="No jitter for x-axis", xlab="Integer", ylab="Continuous")
plot(jitter(dat[,1]), dat[,2], main="Jittered x-axis (uniform distr.)", xlab="Integer", ylab="Continuous")
plot(dat[,1]+rnorm(3*n, sd=0.1), dat[,2], main="Jittered x-axis (normal distr.)", xlab="Integer", ylab="Continuous")


2
投票

关于抖动效应及其必要性的一个非常好的解释可以在R中的回归模型的Swirl课程中找到。

需要弗朗西斯·高尔顿爵士关于父母和孩子身高之间关系的数据,并将其绘制在图表上,没有抖动,然后是抖动。

这是没有抖动的人(情节(孩子〜父母,加尔顿)):

enter image description here

这是一个有抖动的(请忽略回归线)(plot(jitter(child,4)〜parent,galton)):

enter image description here

课程说如果你没有抖动,很多人会有相同的高度,所以点数相互叠加,这就是为什么第一个情节中的某些圆圈看起来比其他圆圈更暗的原因。但是,通过在儿童身高上使用R的“抖动”功能,我们可以分散数据来模拟测量误差,并使高频高度更加明显。

© www.soinside.com 2019 - 2024. All rights reserved.