我想模拟N个独立标准正态变量的总和。
sums <- c(1:5000)
for (i in 1:5000) {
sums[i] <- sum(rnorm(5000,0,1))
}
我试图绘制N = 5000标准法线并求它们。重复5000个模拟路径。
我预计和的期望值为0,总和的方差为5000。
> mean(sums)
[1] 0.4260789
> var(sums)
[1] 5032.494
模拟的期望太大了。当我再次尝试时,我的平均值为1.309206。
答案 0 :(得分:4)
@ilir是正确的,你得到的值基本上为零。 如果你看一下情节,你会得到-200到200之间的值.0.42适用于所有意图和目的0。
您可以使用t.test
进行测试。
> t.test(sums, mu = 0)
One Sample t-test
data: sums
t = -1.1869, df = 4999, p-value = 0.2353
alternative hypothesis: true mean is not equal to 0
95 percent confidence interval:
-3.167856 0.778563
sample estimates:
mean of x
-1.194646
没有证据表明您的平均值与零不同(假设零假设为真)。
答案 1 :(得分:4)
这很平常,平均值并不完全落在0上,因为它是一个经验均值,是根据随机变量的“仅”5000个实现计算的。
但是,sums
向量中包含的实现的分布应该“看起来”为高斯。
例如,当我尝试绘制直方图和qqplot获得的10000个高斯定律之和(以这种方式创建的sums <- replicate(1e4,sum(rnorm(5000,0,1)))
)的实现时,它看起来很正常,正如你在以下数字:
hist(sums)
qqnorm(sums)
答案 2 :(得分:3)
独立法线的总和也是正常的,平均值是均值和方差之和,是方差之和。因此sum(rnorm(5000,0,1))
相当于rnorm(1,0,sqrt(5000))
。法线的样本平均值也是正常变量。在您的情况下,您采用5000个独立正态变量的样本平均值,零均值和方差5000.这是一个零均值和单位方差的正常变量,即标准法线。
因此,在您的情况下,mean(sums)
与rnorm(1)
相同。因此,间隔(-1.96,1.96)
的任何值都会在95%的时间内出现。