To illustrate inference about a normal mean, suppose we are interested in learning about the mean math ACT score for the students who are currently taking business calculus. I take a random sample of 20 students and put the values in the R vector y.
 20 22 22 19 27 17 21 21 20 19 17 18 20 21 20 17 18 21 17 20
I compute some summary statistics.
The definition of the log posterior of (mean, variance) with a noninformative prior is stored in the R function normchi2post. I construct a contour plot of this density by use of the mycontour function.
> mycontour(normchi2post, c(17,23,1.8,20),y)
To simulate draws of (mean, variance), I first simulate 1000 draws of the variance parameter from the scale times inverse chi-square density, and then simulate draws of the mean parameter. I plot the simulated draws on top of the contour density
> sigma2 = S/rchisq(1000, n – 1)
> mu = rnorm(1000, mean = ybar, sd = sqrt(sigma2)/sqrt(n))
Suppose we are interested in inferences about the 90th percentile of the population curve that is given by Q = mu + sigma z, where z is the 90th percentile of the standard normal. One can obtain a simulated sample from this posterior by simply computing Q on the simulated draws of (mu, variance).