 This post verifies central limit theorem with the help of simulation in R for distributions of Bernoulli, uniform and poisson.

## Central Limit Theorem

Mathematicaly, in $X_1, X_2, …, X_n$ are random samples taken from a popualaton with mean $\mu$ and finte variance $\sigma^2$ and $\bar{X}$ is the sampe mean, then $Z = \frac{\sqrt{n}(\bar{X}-\mu)}{\sigma} \to N(0,1)$.

## Simulation

#### Pseudocode

N # Number of trials (population size)
n # Number of simulations
standardized_sample_mean = rep(0,n)
EX #Expectation
VarX #Variance
for (i in 1:n){
samp #Sample from any distribution
sample_mean <- mean(samp) # Sample mean
standardized_sample_mean[i] <- sqrt(N)*(sample_mean - EX)/sqrt(VarX)
#Standardized Sample Mean
}
hist(standardized_sample_mean,prob=TRUE) #Histogram
qqnorm(standardized_sample_mean) #QQPlot

### Bernoulli $\frac{1}{2}$

N <- 2000 # Number of trials (population size)
n <- 1000 # Number of simulations
standardized_sample_mean = rep(0,n)
EX <- 0.5
VarX <- 0.25
for (i in 1:n){
samp <- rbinom(1, size = N, prob = 0.05)
sample_mean <- mean(samp) # sample mean
standardized_sample_mean[i] <- sqrt(N)*(sample_mean - EX)/sqrt(VarX)
}
par(mfrow=c(1,2))
hist(standardized_sample_mean,prob=TRUE)
qqnorm(standardized_sample_mean)

## Uniform $(0,1)$

N <- 2000 # Number of trials (population size)
n <- 1000 # Number of simulations
standardized_sample_mean = rep(0,n)
EX <- 0.5
VarX <- 0.25
for (i in 1:n
){
samp <- runif( N, 0, 1)
sample_mean <- mean(samp) # sample mean
standardized_sample_mean[i] <- sqrt(N)*(sample_mean - EX)/sqrt(VarX)
}
par(mfrow=c(1,2))
hist(standardized_sample_mean,prob=TRUE)
qqnorm(standardized_sample_mean)

## Poission(1)

N <- 2000 # Number of trials (population size)
n <- 1000 # Number of simulations
standardized_sample_mean = rep(0,n)
EX <- 1
VarX <- 1
for (i in 1:n){
samp <- rpois(N,1)
sample_mean <- mean(samp) # sample mean
standardized_sample_mean[i] <- sqrt(N)*(sample_mean - EX)/sqrt(VarX)
}
par(mfrow=c(1,2))
hist(standardized_sample_mean,prob=TRUE)
qqnorm(standardized_sample_mean)

## Exercise

Try for other distributions and mixtures and play around and verify yourself.

Stay Tuned! Stay Blessed!