Keywords:

Simulation, Distribution (pmf, pdf), Law of Large Number

Questions

  1. How does \(\bar{X} = \frac{1}{n} \sum_{i=1}^n X_i\) behave?
  2. How does median(\(X\)) behave?
  3. What are the assumptions, conditions and some issues we must take into account to answer these questions?
  4. What do we mean by $X_1, ,,,, X_n $ some distribution, say \(Bernoulli(p)\) or \(N(\mu, \sigma^2)\)?
  5. What is simulation? What is it for?
die <- 1:6
roll <- function(n) {
  mean(sample(die, size = n, replace = TRUE))
}
plot(sapply(1:1000, roll), type = "l", xlab = "# of dice", ylab = "average")
abline(h = 3.5, col = "red")

# Repeat the experiment 4 times
set.seed(12)
par(mfrow=c(2,2)); 
# Repeat it for 4 times
for (i in 1:4) # For loop, but ....
{plot(sapply(1:500, roll), type = "l", xlab = "# of dice", ylab = "average")
abline(h = 3.5, col = "red")}

For Bernoulli(p)

m<-1; p<-0.3;   
mean_rs <- function(n) {
  mean(rbinom(n,m,p))
}
set.seed(1234)
par(mfrow=c(2,2)); 
# Repeat it for 4 times
for (i in 1:4) # For loop, but ....
{plot(sapply(1:500, mean_rs), type = "l", ylim = c(0,1) ,xlab = "# of Bernoulli tosses", ylab = "average") 
abline(h = m*p, col = "red")}

Bin(m,p)

m<-10; p<-0.4;   
mean_rs <- function(n) {
  mean(rbinom(n,m,p))
}
set.seed(1234)
par(mfrow=c(2,2)); 
# Repeat it for 4 times
for (i in 1:4) # For loop, but ....
{plot(sapply(1:500, mean_rs), type = "l", ylim = c(m*p-2,m*p+2) ,xlab = "# of Binomial experiments", ylab = "average") 
abline(h = m*p, col = "red")}

Exercises:

  1. Produce the similar simulation for N(0,1), N(0,10); N(10,1), N(10,10)
  2. Produce the similar simulation for U(0,1), \(Y=Z^2\) where \(Z \sim N(0,1)\)
nmu<-0; nsd<-10;
mean_rs <- function(n) {
  mean(rnorm(n,nmu,nsd))
}
# c<-1; summary(rnorm(20,nmu,c*nsd))
set.seed(1234)
par(mfrow=c(2,2)); 
# Repeat it for 4 times
for (i in 1:4) # For loop, but ....
{plot(sapply(1:100, mean_rs), type = "l", ylim=c(-10,10), xlab = "# of normal samples", ylab = "average") 
abline(h = nmu, col = "red")}

Estimate \(E(Z^2)\) using LLN

Note that the theoretical value of \(E(Z^2)=E(\chi^2_1)=1\)

nmu<-0; nsd<-1;
mean_rs <- function(n) {
  mean(rnorm(n,nmu,nsd)^2)
}
# c<-1; summary(rnorm(20,nmu,c*nsd))
set.seed(1234)
par(mfrow=c(2,2)); 
# Repeat it for 4 times
for (i in 1:4) # For loop, but ....
{plot(sapply(1:100, mean_rs), type = "l", ylim=c(0,3), 
       xlab = "# of Z^2 samples", ylab = "average") 
abline(h = 1, col = "red")}

LS0tCnRpdGxlOiAiR2FtZSAxMDogU2ltdWxhdGlvbjpMYXcgb2YgTGFyZ2UgTnVtYmVycyAocmV2KSIKb3V0cHV0OiBodG1sX25vdGVib29rCi0tLQojI0tleXdvcmRzOgoKU2ltdWxhdGlvbiwgRGlzdHJpYnV0aW9uIChwbWYsIHBkZiksIExhdyBvZiBMYXJnZSBOdW1iZXIgCgojI1F1ZXN0aW9ucwoKICAxLiBIb3cgZG9lcyAkXGJhcntYfSA9IFxmcmFjezF9e259IFxzdW1fe2k9MX1ebiBYX2kkIGJlaGF2ZT8gCiAgMi4gSG93IGRvZXMgbWVkaWFuKCRYJCkgYmVoYXZlPwogIDMuIFdoYXQgYXJlIHRoZSBhc3N1bXB0aW9ucywgY29uZGl0aW9ucyBhbmQgc29tZSBpc3N1ZXMgd2UgbXVzdCB0YWtlIGludG8gYWNjb3VudCB0byBhbnN3ZXIgdGhlc2UgcXVlc3Rpb25zPwogIDQuIFdoYXQgZG8gd2UgbWVhbiBieSAkWF8xLCAsLCwsIFhfbiBcc2ltICQgc29tZSBkaXN0cmlidXRpb24sIHNheSAkQmVybm91bGxpKHApJCBvciAkTihcbXUsIFxzaWdtYV4yKSQ/CiAgNS4gV2hhdCBpcyBzaW11bGF0aW9uPyBXaGF0IGlzIGl0IGZvcj8KCmBgYHtyfQpkaWUgPC0gMTo2CnJvbGwgPC0gZnVuY3Rpb24obikgewogIG1lYW4oc2FtcGxlKGRpZSwgc2l6ZSA9IG4sIHJlcGxhY2UgPSBUUlVFKSkKfQoKcGxvdChzYXBwbHkoMToxMDAwLCByb2xsKSwgdHlwZSA9ICJsIiwgeGxhYiA9ICIjIG9mIGRpY2UiLCB5bGFiID0gImF2ZXJhZ2UiKQphYmxpbmUoaCA9IDMuNSwgY29sID0gInJlZCIpCmBgYApgYGB7cn0KIyBSZXBlYXQgdGhlIGV4cGVyaW1lbnQgNCB0aW1lcwpzZXQuc2VlZCgxMikKcGFyKG1mcm93PWMoMiwyKSk7IAojIFJlcGVhdCBpdCBmb3IgNCB0aW1lcwpmb3IgKGkgaW4gMTo0KSAjIEZvciBsb29wLCBidXQgLi4uLgp7cGxvdChzYXBwbHkoMTo1MDAsIHJvbGwpLCB0eXBlID0gImwiLCB4bGFiID0gIiMgb2YgZGljZSIsIHlsYWIgPSAiYXZlcmFnZSIpCmFibGluZShoID0gMy41LCBjb2wgPSAicmVkIil9CgpgYGAKCiMjIyBGb3IgQmVybm91bGxpKHApCmBgYHtyfQptPC0xOyBwPC0wLjM7ICAgCm1lYW5fcnMgPC0gZnVuY3Rpb24obikgewogIG1lYW4ocmJpbm9tKG4sbSxwKSkKfQoKc2V0LnNlZWQoMTIzNCkKcGFyKG1mcm93PWMoMiwyKSk7IAojIFJlcGVhdCBpdCBmb3IgNCB0aW1lcwpmb3IgKGkgaW4gMTo0KSAjIEZvciBsb29wLCBidXQgLi4uLgp7cGxvdChzYXBwbHkoMTo1MDAsIG1lYW5fcnMpLCB0eXBlID0gImwiLCB5bGltID0gYygwLDEpICx4bGFiID0gIiMgb2YgQmVybm91bGxpIHRvc3NlcyIsIHlsYWIgPSAiYXZlcmFnZSIpIAphYmxpbmUoaCA9IG0qcCwgY29sID0gInJlZCIpfQpgYGAKIyMjIEJpbihtLHApCmBgYHtyfQptPC0xMDsgcDwtMC40OyAgIAptZWFuX3JzIDwtIGZ1bmN0aW9uKG4pIHsKICBtZWFuKHJiaW5vbShuLG0scCkpCn0KCnNldC5zZWVkKDEyMzQpCnBhcihtZnJvdz1jKDIsMikpOyAKIyBSZXBlYXQgaXQgZm9yIDQgdGltZXMKZm9yIChpIGluIDE6NCkgIyBGb3IgbG9vcCwgYnV0IC4uLi4Ke3Bsb3Qoc2FwcGx5KDE6NTAwLCBtZWFuX3JzKSwgdHlwZSA9ICJsIiwgeWxpbSA9IGMobSpwLTIsbSpwKzIpICx4bGFiID0gIiMgb2YgQmlub21pYWwgZXhwZXJpbWVudHMiLCB5bGFiID0gImF2ZXJhZ2UiKSAKYWJsaW5lKGggPSBtKnAsIGNvbCA9ICJyZWQiKX0KYGBgCgojIyBFeGVyY2lzZXM6IAoxLiBQcm9kdWNlIHRoZSBzaW1pbGFyIHNpbXVsYXRpb24gZm9yIE4oMCwxKSwgTigwLDEwKTsgTigxMCwxKSwgTigxMCwxMCkKMi4gUHJvZHVjZSB0aGUgc2ltaWxhciBzaW11bGF0aW9uIGZvciBVKDAsMSksICRZPVpeMiQgd2hlcmUgJFogXHNpbSBOKDAsMSkkCmBgYHtyfQpubXU8LTA7IG5zZDwtMTA7Cm1lYW5fcnMgPC0gZnVuY3Rpb24obikgewogIG1lYW4ocm5vcm0obixubXUsbnNkKSkKfQoKIyBjPC0xOyBzdW1tYXJ5KHJub3JtKDIwLG5tdSxjKm5zZCkpCgpzZXQuc2VlZCgxMjM0KQpwYXIobWZyb3c9YygyLDIpKTsgCiMgUmVwZWF0IGl0IGZvciA0IHRpbWVzCmZvciAoaSBpbiAxOjQpICMgRm9yIGxvb3AsIGJ1dCAuLi4uCntwbG90KHNhcHBseSgxOjEwMCwgbWVhbl9ycyksIHR5cGUgPSAibCIsIHlsaW09YygtMTAsMTApLCB4bGFiID0gIiMgb2Ygbm9ybWFsIHNhbXBsZXMiLCB5bGFiID0gImF2ZXJhZ2UiKSAKYWJsaW5lKGggPSBubXUsIGNvbCA9ICJyZWQiKX0KYGBgCiMjIyBFc3RpbWF0ZSAkRShaXjIpJCB1c2luZyBMTE4gCk5vdGUgdGhhdCB0aGUgdGhlb3JldGljYWwgdmFsdWUgb2YgJEUoWl4yKT1FKFxjaGleMl8xKT0xJApgYGB7cn0gCm5tdTwtMDsgbnNkPC0xOwptZWFuX3JzIDwtIGZ1bmN0aW9uKG4pIHsKICBtZWFuKHJub3JtKG4sbm11LG5zZCleMikKfQoKIyBjPC0xOyBzdW1tYXJ5KHJub3JtKDIwLG5tdSxjKm5zZCkpCgpzZXQuc2VlZCgxMjM0KQpwYXIobWZyb3c9YygyLDIpKTsgCiMgUmVwZWF0IGl0IGZvciA0IHRpbWVzCmZvciAoaSBpbiAxOjQpICMgRm9yIGxvb3AsIGJ1dCAuLi4uCntwbG90KHNhcHBseSgxOjEwMCwgbWVhbl9ycyksIHR5cGUgPSAibCIsIHlsaW09YygwLDMpLCAKICAgICAgIHhsYWIgPSAiIyBvZiBaXjIgc2FtcGxlcyIsIHlsYWIgPSAiYXZlcmFnZSIpIAphYmxpbmUoaCA9IDEsIGNvbCA9ICJyZWQiKX0KYGBgCgojIyMgUmVmZXJlbmNlcwoxLiBbQW4gTExOIGV4YW1wbGUgaW4gU3RhY2tvdmVyZmxvd10oaHR0cDovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8zMzM3Mzg3Mi9pcy10aGVyZS1hLXNpbXBsZS1zaW11bGF0aW9uLW9mLXRoZS1sYXctb2YtbGFyZ2UtbnVtYmVycy1pbi1yKQoyLiBbTmljZSBSIENvZGVdKGh0dHBzOi8vbmljZXJjb2RlLmdpdGh1Yi5pby9ndWlkZXMvcmVwZWF0aW5nLXRoaW5ncy8pIAozLiBbRGVtb25zdHJhdGlvbiBvZiB0aGUgQ2VudHJhbCBMaW1pdCBUaGVvcmVtXShodHRwOi8vdmlzLnN1cHN0YXQuY29tLzIwMTMvMDQvY2VudHJhbC1saW1pdC10aGVvcmVtLykK