1. Introduction to Monte Carlo Methods

Question 1

n=1e6 x=runif(n,-5,3) y=runif(n,-5,3) mean((2*x2+x*y)<4)

Answer is 0.385523

Question 2

u=runif(1e6,-2,2) 4*mean(exp(u+(u2)))

Answer is 93.41703

Question 3

u1=sqrt(runif(1e6)) hist(u,100,freq=F,col=“blue”)

u1=runif(1e6) u2=runif(1e6) hist(u1,break=u2,100,freq=F,col=“blue”)

Question 5

x=runif(1e6) y=runif(1e6); sum=x+y; hist(sum,100,freq=F,col=“blue”)

Question 6

x=runif(1e6,1,6); y=runif(1e6,1,6) hist(x+y,100)

Question 7

p=1/6 x=runif(1e6)<p mean(x==1)

2. Simulating Samples from Arbitrary Probability Distributions

Question 1

x=c(-3,0,2) p=c(0.45,0.3,0.25) cdf=cumsum(p) plot(x,p,“h”)

u=runif(1e6) sample=x[1](u<=cdf[1])+x[2](u>cdf[1]&u<=cdf[2])+x[3]*(u>cdf[2]&u<=cdf[3]) hist(sample,3,freq=F,col=“blue”)

I have to do the following on paper

mean(sample<2)

Answer is 0.750604

mean(sample<=2)

Answer is 1

mean(sample)

Answer is -0.852132

mean(((sample)2)-(2*sample))

Answer is 6.75462

Question 2

u=runif(1e6) sample=5*u1/3 hist(sample,freq=F,100,col=“blue”)

f=function(x){3/125*x2} curve(f,0,5,add=T,lwd=4,col=“red”)

mean(sample)

Answer is 3.748957

mean(exp((-sample)2-sample))

Answer is 31565967

mean(sample>2)

Answer is 0.935949

mean(1<sample & sample<4)

Answer is 0.504287

Question 3

u=runif(1e6) sample=((log(1-u))2)/9 hist(sample,100,freq=F,col=“blue”)

f=function(x){3*exp(-3*sqrt(x))/(2*sqrt(x))} curve(f,0,1,add=T,lwd=4,col=“red”)

#Question 4 u=runif(1e6) sample=-½+½*(sqrt(1+8*u)) hist(sample,100,freq=F,col=“blue”)

f=function(x){½+x} curve(f,0,1,add=T,lwd=4,col=“red”)

#Question 6 f=function(x){(x/24+2/24)} plot(f,2,6)

u=runif(1e6) sample=4*sqrt(1+3*u)-2 hist(sample,100,freq=F,col=“blue”) mean(sample)

Answer is 4.221868

f<-function(x){(((x-2)/12) -((x-6)/24))} x=runif(1e6,2,6) y=runif(1e6,0,f(0)) test=(y<=f(x)) sample=x[test] hist(sample,100,freq=F,col=“blue”) mean(sample)

Answer is 4.000738

var(sample)

Answer is 1.330839

3. Markov Chain Monte Carlo

#Question 1 p=1/6 sample=runif(1e6,1,7)<p mean(sample==3)