从 R 中的正态分布采样 100000 次:样本标准差的奇怪分布

机器算法验证 r 正态分布 标准差 模拟 样本
2022-03-27 22:28:17

我在 R 中从均值为零和单位标准差的正态分布中生成了十万个随机样本,并记录了每个均值和标准差,以希望更好地了解它们的分布。

moy <- c()
std <- c()
N <- 100000
for(i in 1:N){
    print((i/N))
    sam <- rnorm(10)
    moy <- c(moy,mean(sam))
    std <- c(std,sd(moy))
}
hist(std, n=10000, xlim=c(0.312,0.319))

我没有预料到的是样本标准偏差的直方图,它显示了样本的 SD 估计值在/周围比预期更多的清晰分组:

样本 SD 的直方图

那么我的问题是,样本 SD 的这种奇怪分布是否有任何合乎逻辑的原因?

实际上,我期待某种正态分布(或非常接近正态分布)。除了 R 的随机数生成器没有生成完全随机数之外,我看不出这种奇怪分布的任何原因。但也许这里观察到的有一些数学原因?

提前致谢。

1个回答

你有一个错误;你正在接受sdmoy不是sam. 我敢打赌你的代码也很慢;更类似于 R 的方法如下。

N <- 100000
n <- 10
d <- matrix(rnorm(N*n), nrow=10)
m <- colMeans(d)
s <- apply(d, 2, sd)

hist(s, 10000)