University of Texas at Dallas
School of Economic, Political, and Policy Sciences


Autumn 2009 Research Methods Short Course: "Multilevel Models in Quantitative Research: Bayesian Perspectives on Inference and Computation."

Jeff Gill (Center for Applied Statistics, Washington University)

Friday and Saturday 11/6-11/7 in Green 3.606.

  • Course Description:
    This course covers statistical model development with explicitly defined hierarchies. Such multilevel specifications allow researchers to account for different structures in the data and provide for the modeling of variation between defined groups. This short course begins with simple nested linear models and proceeds on to non-nested models, multilevel models with dichotomous outcomes, and multilevel generalized linear models. In each case, a Bayesian perspective on inference and computation is featured. The focus on the course will be practical steps for specifying, fitting, and checking multilevel models with much time spent on the details of computation in the R and bugs environments. Data will be drawn from the social and medical sciences.

  • Topics List:
    1. Introduction and Preliminaries
    2. Multilevel Structures and Data Issues
    3. Multilevel Linear Models: Varying Intercepts, Varying Slopes, and Non-Nested Models
    4. Multilevel Modeling in R
    5. Multilevel Regression for Dichotomous Outcomes
    6. Multilevel Modeling in the BUGS language
    7. Fitting Complex Multilevel Linear and Generalized Linear Models
    8. Bayesian Inference and Computation
    9. Understanding and Summarizing the Fitted Models
    10. Analysis of Variance for Multilevel Models


  • Motivation:
    Data that are recorded at different levels of aggregation are common across the social sciences. Consider survey research where geographic or demographic variables are provided, data on organizations, field experiments where subjects are subject to different treatments, or governmental jurisdictions. Yet insufficient attention has been paid to building flexible regression-style models in these fields, and much of it has been applied to linear outcomes. By considering multiple levels in our model specifications we not only get the right measure of variability from the data generating process, we also get an astonishingly broad set of possible specifications.

  • Potentially Useful Background Reading:
    • Gelman and Hill, Data Analysis Using Regression and Multilevel/Hierarchical Models, Cambridge University Press (2007).
    • Gill, Bayesian Methods: A Social and Behavioral Sciences Approach, Second Edition, Chapman and Hall/CRC (2007).
    • Steenbergen and Jones, "Modeling Multilevel Data Structures," American Journal of Political Science, 46:1 (Jan., 2002), pp. 218-237. Stable URL.
    • Peffly and Rohrschneider,"Democratization and Political Tolerance in Seventeen Countries: A Multi-Level Model of Democratic Learning," Political Research Quarterly, Vol:3 (Sep., 2003), pp. 243-257. Stable URL.
    • Weldon, "The Institutional Context of Tolerance for Ethnic Minorities: A Comparative, Multilevel Analysis of Western Europe," American Journal of Political Science, 50:2 (Apr., 2006), pp. 331-349. Stable URL.
    • Rosenberg, Andrews and Lenk, "A Hierarchical Bayesian Model for Predicting the Rate of Nonacceptable In-Patient Hospital Utilization," Journal of Business & Economic Statistics, 17:1 (Jan., 1999), pp. 1-8. Stable URL.


  • Some Slides:

  • Some of the Datasets:
    • smoking <- read.table("http://jgill.wustl.edu/data/smoke_pub.dat",header=TRUE)
    • srrs2 <- read.table("http://jgill.wustl.edu/data/srrs2.dat", header=TRUE, sep=",")
    • cty <- read.table("http://jgill.wustl.edu/data/cty.dat", header=TRUE, sep=",")
    • pbc.vote <- read.table("http://stats.wustl.edu/BMSBSA/Chapter06/pbc.dat",sep=" ")
    • teach.df <- data.frame(read.table("S.Dir/spector.mazzeo.data",col.names=c("GPA","TUCE","PSI","GRADE")))
    • caes.df <- read.table("http://jgill.wustl.edu/data/caesarian.dat",header=TRUE)
    • eu.pov <- read.table("http://jgill.wustl.edu/data/inc.pov.dat",row.names=1)
    • dp.97 <- read.table("http://jgill.wustl.edu/data/dp.data",header=TRUE)
    • scotland.df <- read.table("http://jgill.wustl.edu/data/scotvote.dat",header=TRUE)
    • committee.dat <- read.table("http://jgill.wustl.edu/data/committee.dat",header=TRUE,col.names=1)
    • copper.data <- read.table("http://jgill.wustl.edu/data/copper.dat",header=TRUE)
    • oecd <- read.table("http://jgill.wustl.edu/data/oecd.data",header=TRUE,row.names=1)
    • invest.df <- read.table("http://jgill.wustl.edu/data/investment.dat",header=TRUE)
    • polls <- read.dta ("http://jgill.wustl.edu/data/election88/polls.dta")
    • hiv.data <- read.csv("http://jgill.wustl.edu/data/allvar.csv")