Це може бути повчальним продемонструвати цей результат на основі перших принципів та основних результатів , використовуючи властивості кумулятивних функцій, що генерують (саме як у стандартних доказах теореми центрального граничного рівня). Це вимагає від нас розуміння швидкості приросту узагальнених гармонічних чисел для s = 1 , 2 , … . Ці темпи росту добре відомі та легко отримуються порівняно з інтегралами ∫ n 1 x - s
H(n,s)=∑k=1nk−s
s = 1 , 2 , … . : вони сходяться для
s > 1 і інакше розходяться логарифмічно для
s = 1 .
∫н1х- сгхs > 1s = 1
Нехай і 1 ≤ k ≤ n . За визначенням, функція генерації кумулянта (cgf) ( X k - 1 / k ) / B n єn ≥ 21 ≤ k ≤ n( Xк- 1 / к ) / Бн
ψk , n( t ) = журналЕ ( довід( Xк- 1 / кБнt ) ) =- tk Bн+ журнал( 1 + - 1 + досвід(t/Bn)k).
Серія розширення правої частини, отримана від розширення навколо z = 0 , приймає формуlog(1+z)z=0
ψk,n(t)=(k−1)2k2B2nt2+k2−3k+26k3B3nt3+⋯+kj−1−⋯±(j−1)!j!kjBjntj+⋯.
Чисельниками дробів є многочлени в з провідним членом k j - 1 . Тому що розширення журналу конвергується абсолютно для | - 1 + exp ( t / B n )kkj−1, це розширення конвергується абсолютно коли∣∣−1+exp(t/Bn)k∣∣<1
|exp(t/Bn)−1|<k.
(У випадку воно сходиться скрізь.) Для фіксованого k і збільшення значень n (очевидно) розбіжність B n означає, що область абсолютної конвергенції зростає довільно великою. Таким чином, для будь-якого фіксованого t і досить великого n це розширення зближується абсолютно.k=1knBntn
Отже, для досить великого , отже, ми можемо підсумовувати індивідуальну величину n k , n по k за терміном в потужностях t, щоб отримати cgf S n / B n ,nψk,nktSn/Bn
ψn(t)=∑k=1nψk,n(t)=12t2+⋯+1Bjn(∑k=1n(k−1−⋯±(j−1)!k−j))tjj+⋯.
k
b(s,j)=1Bjn∑k=1nk−s
j≥3s = 1 , 2 , … , j
Б2н= Н( п , 1 ) - Н( n , 2 ) ∼ журнал( n )
що
b ( 1 , j ) ∼ ( лог( n ) )1 - j / 2→ 0
s > 1
b ( s , j ) ∼ ( журнал( n ) )- j / 2→ 0
нψн( t )т2ψн( t )т2/2tSn/Bnt2/2: це стандартна змінна норма, QED .
tjO(n1−j/2)j≥3O(((log(n))1−j/2)
105nn=1000(log(n))−1/2≈0.380.35(log(n))−1/2t3
Ось R
код для тих, хто хотів би експериментувати далі.
set.seed(17)
par(mfrow=c(1,4))
n.iter <- 1e5
for(n in c(30, 100, 300, 1000)) {
B.n <- sqrt(sum(rev((((1:n)-1) / (1:n)^2))))
x <- matrix(rbinom(n*n.iter, 1, 1/(1:n)), nrow=n, byrow=FALSE)
z <- colSums(x - 1/(1:n)) / B.n
hist(z, main=paste("n =", n), freq=FALSE, ylim=c(0, 1/2))
curve(dnorm(x), add=TRUE, col="Red", lwd=2)
}