Testing Lyapunov's Central Limit Theorem by Simulation

170 Views Asked by At

Lyapunov's CLT states that the sum of $n$ independent (not necessarily i.i.d.) random variables converges to the normal distribution if the Laypunov's CLT condition is satisfied. I used simulation to verify this theorem:

import numpy as np
from scipy.stats import normaltest, gamma

s = np.zeros(1000)
a = np.random.uniform(size = 10000)
for i in range(1000):
    x = gamma.rvs(a,loc = 0)
    s[i] = np.sum(x)/100

k2, p = normaltest(s)

But when I test samples s for Gaussianity I get p-values around 0.25. I also tried verifying the classical CLT for i.i.d. random variables by setting a = 5 for all variables and got a p-value around $10^{-285}$.

What is the reason for seeing such a result for Lyapunov's case? Is it because the Lyapunov's condition is not satisfied or is it because Lyapunov's CLT converges much slower?