为什么模拟中的中心极限定理会崩溃?


21

假设我有以下数字:

4,3,5,6,5,3,4,2,5,4,3,6,5

我对其中一些采样,例如5个,并计算5个采样的总和。然后,我一遍又一遍地重复该操作,以获得许多总和,并在直方图中绘制总和的值,由于中心极限定理,该直方图将为高斯。

但是当他们跟随数字时,我只是用一些大数字代替了4:

4,3,5,6,5,3,10000000,2,5,4,3,6,5

这些样本中的5个样本的采样和不会在直方图中成为高斯,而更像是分裂,变成两个高斯。这是为什么?


1
如果您将其增加到n = 30左右,它将不会那样做...只是我的怀疑和更简洁的版本/在下面重申接受的答案。
oemb1905

@ JimSD,CLT是一个渐近结果(即,关于标准化样本均值的分布或随着样本量达到无穷大而达到极限的总和)。不是。您正在查看的东西(有限样本中的正态方法)严格来说不是CLT的结果,而是相关的结果。n n=5n
Glen_b-恢复莫妮卡

3
@ oemb1905 n = 30对于OP所建议的偏度是不够的。取决于值为污染的稀有程度,可能需要n = 60或n = 100甚至更多,才能使法线看起来像是合理的近似值。如果污染大约是7%(如问题所示),n = 120仍然有些偏斜107
Glen_b-恢复莫妮卡


认为永远不会达到(1,100,000,1,900,000)之类的值。但是,如果您以这些数额的可观的方式赚钱,那将是有效的!
David

Answers:


18

让我们精确地回忆一下中心极限定理说的话。

如果是独立且均布的随机变量,且(共享)均值和标准差,则的分布收敛到标准正态分布(*)。X1,X2,,XkμσX1+X2++XkkσkN(0,1)

这通常以“非正式”形式使用:

如果是独立的并且具有(共享的)均值和标准偏差均匀分布的随机变量,则 “在分布中”收敛到标准正态分布。X1,X2,,XkμσX1+X2++XkN(kμ,kσ)

由于“极限”分布会发生变化,因此没有什么好方法可以使CLT的数学形式精确,但是在实践中很有用。

当我们有一个静态的数字列表时

4,3,5,6,5,3,10000000,2,5,4,3,6,5

并且我们正在从此列表中随机抽取一个数字进行采样,以应用中心极限定理,我们需要确保我们的采样方案满足这两个独立性条件且分布均匀。

  • 完全相同地分布是没有问题的:列表中的每个数字均被选择的可能性相同。
  • 独立性更加微妙,取决于我们的采样方案。如果我们采样而不替换,那么就违反了独立性。只有当我们用替换采样时,中心极限定理才适用。

因此,如果我们在您的方案中使用替换抽样,那么我们应该能够应用中心极限定理。同时,您是对的,如果我们的样本大小为5,那么根据选择的样本数量是否很大,我们将看到非常不同的行为。

那是什么?好吧,收敛到正态分布的速率非常取决于我们从中采样的人口的形状,特别是如果我们的人口非常偏斜,我们希望它需要很长时间才能收敛到正态。在我们的示例中就是这种情况,因此我们不应期望大小为5的样本足以显示正常结构。

三种正态分布

在上面,我对5、100和1000大小的样本重复了您的实验(使用替代抽样)。您可以看到,对于非常大的样本,正常结构已经出现。

(*)注意这里需要一些技术条件,例如有限均值和方差。从清单示例中可以很容易地验证它们是真实的。


感谢您的快速而完美的答复。CLT的想法,替换,数据分布歪斜时需要更多样本,...现在非常清楚。正如您提到的那样,我最初的问题意图是包含一个大数目而不进行替换并且采样数固定的情况。它的行为截然不同,因此,对于大量采样的情况和未采样的情况,我们需要考虑“有条件的” CLT。我不知道是否有任何研究或先前的工作。。但是还是谢谢你。
JimSD

不知道是否适用于此,但CLT收敛定理由偏斜度en.wikipedia.org/wiki/Berry%E2%80%93Esseen_theorem
seanv507

Xkk

1
|Fn(x)Φ(x)|ρ/σ3

1
@Glen_b是的,我当时有点非正式(也许不应该这样),但是我今天下午可以解决这个问题,因为这引起了一些混乱。
Matthew Drury,

12

5305

pop <- c(4, 3, 5, 6, 5, 3, 4, 2, 5, 4, 3, 6, 5)
N <- 10^5
n <- 5
x <- matrix(sample(pop, size = N*n, replace = TRUE), nrow = N)
x_bar <- rowMeans(x)
hist(x_bar, freq = FALSE, col = "cyan")
f <- function(t) dnorm(t, mean = mean(pop), sd = sd(pop)/sqrt(n))
curve(f, add = TRUE, lwd = 2, col = "red")

在此处输入图片说明

30

pop <- c(4, 3, 5, 6, 5, 3, 10000000, 2, 5, 4, 3, 6, 5)
N <- 10^5
n <- 30
x <- matrix(sample(pop, size = N*n, replace = TRUE), nrow = N)
x_bar <- rowMeans(x)
hist(x_bar, freq = FALSE, col = "cyan")
f <- function(t) dnorm(t, mean = mean(pop), sd = sd(pop)/sqrt(n))
curve(f, add = TRUE, lwd = 2, col = "red")

在此处输入图片说明

100

pop <- c(4, 3, 5, 6, 5, 3, 10000000, 2, 5, 4, 3, 6, 5)
N <- 10^5
n <- 100
x <- matrix(sample(pop, size = N*n, replace = TRUE), nrow = N)
x_bar <- rowMeans(x)
hist(x_bar, freq = FALSE, col = "cyan")
f <- function(t) dnorm(t, mean = mean(pop), sd = sd(pop)/sqrt(n))
curve(f, add = TRUE, lwd = 2, col = "red")

在此处输入图片说明


3
问题不是差异。进行严格控制的一种方法是使用三次中心矩与三次方标准偏差的比值,就像Berry-Esseen定理一样。
家伙

完善。添加。Tks。

1
感谢您使用代码提供快速,直观和完美的答案。我很惊讶这么快!我不知道适当的采样数量。我在考虑固定采样数的情况。
JimSD

@guy,谢谢你。我不知道“第三中心矩与Berry-Esseen定理中求出的标准偏差之比”的想法。我只想解决分布中包含大量异常值的情况。我想,这种分布可以参考您提到的那样。如果您知道任何有关这种分配的先前工作,请告诉我,谢谢。
JimSD

2
ρ=E[|Xμ|3]μ3=E[(Xμ)3]

7

我只想解释一下,使用复杂的累积量生成函数,为什么每个人都将其归咎于歪斜。

μ+σZμσZ01Z12t2iγ16t3+o(t3)γ1Zκ3μ+σZγ1=σ3κ3

nZn

n(12(tn)2iγ16(tn)3)+o(t3)=12t2iγ16nt3+o(t3).
tnnγ12γ1


-1

简短的答案是,您没有足够大的样本来应用中心极限定理。


1
从以下观察中可以明显看出,这不是有效的解释:对于问题中的第一组数据,CLT给出了很好的近似值,该值也很小。

@whuber:我想您是说正态分布对第一组中的五个样本给出了一个相当不错的近似值。由于总和的值数量有限(13个可能的值不进行替换,而21个可能的值进行替换),因此对于大量的五个样本,近似值不会变得更好,而初始近似值更多地是由于最初的模式...
亨利

@whuber因为第一组的分布看起来是左偏斜的,所以我希望五个总数之和也偏左,而不是像我期望第二组的五个总数右偏一样。为了使偏度进一步降低,我本以为您需要更大的样本量
亨利·

1
@Henry谢谢您的评论。我不是在谈论这些特殊情况,而只是在回答这个逻辑,以希望可以进一步解释。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.