Exponential distribution in R and comparison with the Central Limit Theorem. The exponential distribution can be simulated in R with rexp(n, lambda) where lambda is the rate parameter. The mean of exponential distribution is 1/lambda and the standard deviation is also 1/lambda. Set lambda = 0.2 for all of the simulations. You will investigate the distribution of averages of 40 exponentials. Note that you will need to do a thousand simulations.

# set seed
set.seed(31)
## follow instructions given:

lambda <- 0.2  #  set lambda to 0.2
n <- 40  # 40 samples
simulations <- 1000   # 1000 simulations

# simulation & Calculation of mean
simulated_exponential <- replicate(simulations, rexp(n, lambda))
means_of_exponentials <- apply(simulated_exponential, 2, mean) # col for 2

Questions

Qs1

analytical_mean <- mean(means_of_exponentials)
theoritical_mean <- 1/lambda
analytical_mean
## [1] 4.993867
theoritical_mean
## [1] 5
hist(means_of_exponentials, xlab = "mean", ylab = "Number / Freq" , main = "Exponential Simulations", col = "grey", breaks=20 )
abline(v = analytical_mean, col = "Blue" )
abline(v = theoritical_mean, col = "red")

# nearly identical

Qs2

standard_deviation_analytical <- sd(means_of_exponentials)
standard_deviation_theoritical <- (1/lambda)/sqrt(n)
variance_analytical <- standard_deviation_analytical^2
variance_theoritical<- ((1/lambda)*(1/sqrt(n)))^2
standard_deviation_analytical
## [1] 0.7931608
standard_deviation_theoritical
## [1] 0.7905694
variance_analytical
## [1] 0.6291041
variance_theoritical
## [1] 0.625

Results are nearly identical

Qs3

Show the dist. is approx. normal

x_fitting <- seq(min(means_of_exponentials), max(means_of_exponentials), length=100)
y_fitting <- dnorm(x_fitting, mean=1/lambda, sd=(1/lambda/sqrt(n)))
hist(means_of_exponentials,breaks=n,prob=T,col=600 ,xlab = "means",main="Density of means",ylab="density")
lines(x_fitting, y_fitting, col=100, lwd=5)

# compare the distribution of averages of 40 exponentials to a normal distribution
qqnorm(means_of_exponentials)
qqline(means_of_exponentials, col = 77)