# Question 1a
a = c(3,6,9,12,15,18,21,24,27,30)
pop_mean = mean(a)
print("Population Mean = ")
## [1] "Population Mean = "
print(pop_mean)
## [1] 16.5
# Question 1b
a = c(3,6,9,12,15,18,21,24,27,30)
pop_var = 0
for (i in 1:10) {
diff_sq = (a[i] - pop_mean)^2
pop_var = pop_var + diff_sq
}
pop_var = pop_var / 10
print("Population Variance = ")
## [1] "Population Variance = "
print(pop_var)
## [1] 74.25
# Question 1c
X=c(3,6,9,12,15,18,21,24,27,30)
d=expand.grid(X,X,X,X) #You can continue your calculations using this "d"
# Question 1d
d$X_bar = apply(d[, 1:4], 1, mean)
# Question 1e
freq_X_bar = table(d$X_bar)
proportion = prop.table(freq_X_bar)
print(proportion)
##
## 3 3.75 4.5 5.25 6 6.75 7.5 8.25 9 9.75 10.5
## 0.0001 0.0004 0.0010 0.0020 0.0035 0.0056 0.0084 0.0120 0.0165 0.0220 0.0282
## 11.25 12 12.75 13.5 14.25 15 15.75 16.5 17.25 18 18.75
## 0.0348 0.0415 0.0480 0.0540 0.0592 0.0633 0.0660 0.0670 0.0660 0.0633 0.0592
## 19.5 20.25 21 21.75 22.5 23.25 24 24.75 25.5 26.25 27
## 0.0540 0.0480 0.0415 0.0348 0.0282 0.0220 0.0165 0.0120 0.0084 0.0056 0.0035
## 27.75 28.5 29.25 30
## 0.0020 0.0010 0.0004 0.0001
# Question 1f
plot(proportion, type = "o")

# Question 1g
X_bar_mean = mean(d$X_bar)
print("Mean of 10000 numbers = ")
## [1] "Mean of 10000 numbers = "
print(X_bar_mean)
## [1] 16.5
# Question 1h
X_bar_var = 0
for (i in 1:10000) {
diff_sq = (d$X_bar[i] - X_bar_mean)^2
X_bar_var = X_bar_var + diff_sq
}
X_bar_var = X_bar_var / 10000
print("Variance of 10000 numbers = ")
## [1] "Variance of 10000 numbers = "
print(X_bar_var)
## [1] 18.5625
# Question 2a
sample_var_S_sq = apply(d[, 1:4], 1, var)
sample_var_sigma_sq = sample_var_S_sq * 3 / 4
given_pop_var = 74.25
expect_S_sq = mean(sample_var_S_sq)
expect_sigma_sq = mean(sample_var_sigma_sq)
bias_S_sq = expect_S_sq - given_pop_var
print("Bias[S^2] = ")
## [1] "Bias[S^2] = "
print(bias_S_sq)
## [1] 0
bias_sigma_sq = expect_sigma_sq - given_pop_var
print("Bias[sigma^2] = ")
## [1] "Bias[sigma^2] = "
print(bias_sigma_sq)
## [1] -18.5625
# Question 2b
variance_S_sq = 0
for (i in 1:10000) {
variance_S_sq = variance_S_sq + (sample_var_S_sq[i] - expect_S_sq)^2
}
variance_S_sq = variance_S_sq / 10000
print("Var[S^2] = ")
## [1] "Var[S^2] = "
print(variance_S_sq)
## [1] 1988.044
mse_S_sq = variance_S_sq + (bias_S_sq^2)
print("MSE[S^2] = ")
## [1] "MSE[S^2] = "
print(mse_S_sq)
## [1] 1988.044
variance_sigma_sq = 0
for (i in 1:10000) {
variance_sigma_sq = variance_sigma_sq + (sample_var_sigma_sq[i] - expect_sigma_sq)^2
}
variance_sigma_sq = variance_sigma_sq / 10000
print("Var[sigma^2] = ")
## [1] "Var[sigma^2] = "
print(variance_sigma_sq)
## [1] 1118.275
mse_sigma_sq = variance_sigma_sq + (bias_sigma_sq^2)
print("MSE[sigma^2] = ")
## [1] "MSE[sigma^2] = "
print(mse_sigma_sq)
## [1] 1462.841
# Question 3a
sample_unif_2=function(){
s=runif(2,min=0,max=5)
return(mean(s))
}
X_bar=replicate(10000,sample_unif_2())
plot(density(X_bar))

# Question 3b
sample_unif_5=function(){
s=runif(5,min=0,max=5)
return(mean(s))
}
X_bar=replicate(10000,sample_unif_5())
plot(density(X_bar))

# Question 3c
sample_chi_sq_1_5=function(){
s=rchisq(5,df=1)
return(mean(s))
}
X_bar=replicate(10000,sample_chi_sq_1_5())
plot(density(X_bar))

# Question 3d
sample_chi_sq_1_60=function(){
s=rchisq(60,df=1)
return(mean(s))
}
X_bar=replicate(10000,sample_chi_sq_1_60())
plot(density(X_bar))

# Question 3e
sample_chi_sq_60_5=function(){
s=rchisq(5,df=60)
return(mean(s))
}
X_bar=replicate(10000,sample_chi_sq_60_5())
plot(density(X_bar))
