## Simulate Data reps = 1e5 y.vec = cos(runif(n=reps, min=-pi/2, max=pi/2)) hist(y.vec) ## plot f(x) = cos(x) x=seq(from=-pi/2, to=pi/2, by=0.01) fx = cos(x) plot(x, fx, type="l") est.mean = mean(y.vec) est.mean est.var = var(y.vec) est.var ## plot f(x) = cos(x) and g(x) = 1-0.5 x^2 x=seq(from=-pi/2, to=pi/2, by=0.01) fx = cos(x) gx = 1-0.5*x^2 hx = array(1, length(x) ) plot(x, fx, type="l", lty = 1) lines(x, gx, lty=2) lines(x, hx, lty=3) legend(x=1, y=1, legend=c("f(x)", "g(x)", "h(x)"), lty=c(1,2,3)) reps=1e5 A=0 E = var(cos(runif(n=reps, min=-pi/2, max=pi/2))) rel.err = abs((A-E)/E) reps=1e5 A=cos(0) E = mean(cos(runif(n=reps, min=-pi/2, max=pi/2))) c(A,E) reps=1e5 A=1-pi^2/24 E = mean(cos(runif(n=reps, min=-pi/2, max=pi/2))) c(A,E) ## Variance Approximation/Exact with relative error reps=1e5 A= (1/12)*(1/5.5)^2 E = var(log(runif(n=reps, min=5, max=6))) rel.err = abs((A-E)/E) c(A,E) rel.err ## Crude Expected Value Approximation reps=1e5 A=log(5.5) E = mean(log(runif(n=reps, min=5, max=6))) c(A,E) ## Second order Expected Value Approximation reps=1e5 A=log(5.5) + 0.5*(1/12)*(-1/(5.5)^2) E = mean(log(runif(n=reps, min=5, max=6))) c(A,E)