Course Syllabus

  • Instructor: Rob Hicks

  • Office: 252 Chancellors Hall

  • Term: Spring 2024

  • E-mail:

  • Class Time: MW 5:00-6:20 pm

  • Class Room: 219 Chancellors Hall

Course Summary

This course examines the use of Bayesian estimation methods for a wide variety of settings in applied economics. After a brief primer on Bayesian statistics, we will examine the use of the Metropolis-Hastings algorithm for parameter estimation via Markov Chain Monte Carlo methods. The student will write their own Metropolis-Hastings estimation algorithm for an ordinary least squares model. Building on this foundation, we will explore heirarchical and other models, and how they are implemented in Python PyMC.


ECON 308 (Econometrics) is required for this course. It is also highly recommended that you have had ECON 408 (Cross Section) or are willing to learn independently maximum likelihood estimation. It is also advantageous to have some programming skills and a working knowledge of linear algebra. This class is a very serious undertaking and if you aren’t willing to go the extra mile and get up to speed, it will make for a long semester.

Software Resources

There are various ways you can perform the modeling excercises for this course- all using python and the pymc package. These include

  • and choosing the SciPy with PyMC image

  • and installing software to enable pymc

  • Running anaconda python on your own pc and installing software to enable pymc

These are all acceptable to me provided your jupyter notebook executes on my computing environment (identical to


Students are advised to use with the SciPy with PyMC image.

Use of other software packages for Bayesian analysis (e.g. Stata, BUGS, Stan, etc.) is neither recommended or accepted without prior permission.

Important Dates

Item Date
First day of class January 24
Spring Break March 9-17
Mid-Term Due March 8
Last day of this class May 1
Final Project Due May 7 (Midnight)


  • Office Hours : I am available on Tuesday 3:30 - 4:30pm, or by appointment.

  • Email Policy : I will respond to emails but only if they contain the tag [BAYESIAN] in the subject line. If they do not, the google will likely delete your email. Emails must contain concise questions no longer than what would be amenable to respond to email. If you have a coding problem, use gitlab (see next point).

  • Asking Questions: Substantive questions about course material (but not specifics about assignments) or coding in python must be submitted to the Bayesian Econometrics issue tracker at Part of Problem Set 1 requires you to file an issue at this site.

  • Grades: Your grade will be based on a few short (shorter than cross-section problem sets) weekly (or bi-weekly) assignments during the first half of the course (20% of course total grade), a take home mid-term (25%), an oral presentation for your final project (15%), and a final project (40%).

    • The homework assignments will consist of hands-on problem solving assignments. In each, you will be given a dataset and will need to conduct an econometric analysis thinking critically about which technique to employ as well as key tests that should be run. The write-up must use the Jupyter Notebook that you will be submitting via blackboard. A good problem set will include clear interpretations of your results, tables with clear variable names, and be well-formatted with code, tables, and writeup combined in a convenient (for me) way. You will have at least 1 week to complete the assignment once you receive it from me. If I can’t execute (run) the worksheet, the assignment is not completed. The assignments can be worked on in groups of two (although this isn’t mandatory). If you choose to work in a group, turn in separate Jupyter notebooks and at the top include your teammates name and the grade you would assign for their contribution to the group work.

    • The mid-term is due on March 8. Unfortunately, I can’t reschedule either the mid-term or the final the exam, so if this time doesn’t work for you please drop the course. If you you are forced to miss the mid-term for medical reasons, the 25% weight will be proportionally allocated to all other future assignments. Under no circumstances will a make-up mid-term be granted, except as specified in the illness policies outlined below.

    • Oral presentations for your final project will occur during the final two weeks of class. This will summarize your idea, data sources, and any results you may have.

    • The final project will be your application of a Bayesian Econometric Technique to a problem of your choosing. You should plan on meeting with me no later than Spring Break to refine your project idea. The project, to be turned in as an ipython notebook on blackboard, is due at the time of the final exam.

  • Illness:

    • This class will abide by campus-wide mask/distancing policy if applicable

    • If you are diagnosed with, come in close contact with, or are having symptoms consistent with the flu/Covid please follow all university policies for these cases. You are not required to document your illness for missing classes nor will I be taking attendance. More details about absences:

      • Missing Classes: If you miss class due to Covid note that each day we will be covering topics very closely aligned with the distributed presentation, written lecture notes, and/or jupyter notebook. It is your responsibility to contact me within one week of missing class if you have questions about what content you may have missed.

      • Missing Problem Set Deadlines: In addition to the policies about missing assignments outlined below, note that the problem sets in this class involve take home work that can be submitted digitally. In the hopefully highly unlikely event that your flu/Covid-related illness prohibits you from meeting these deadlines please contact me ASAP.

  • Policy on Late Assignments : University policy will not allow me to reschedule the due date for the final exam (see the Dean of Students for exceptions). Course assignments must be turned in on time. Late work will be accepted for up to two additional days (with Saturday and Sunday counting as 1 day in total) with a letter grade deduction for each late day. After two days, late assignments will not be accepted. See below for some examples:

Due Date

Turned in

Your Grade

Your Grade after Penalty






Saturday or Sunday






F (not accepted)




F (not accepted)

Exceptions to this policy based on COVID-related illness will proceed as outlined above.

  • Hardcopy Policy : No hardcopies are accepted under any circumstances.

  • Grade Discrepancies and Grade Questions : I am happy to discuss questions you have about your grade on class assignments. Any questions you have regarding a potential grade change on an assignment must be cleared up within 1 week of receiving your work back from me. The only exception to this policy is if I made a data entry or error in adding your score up.

  • Course Materials All course materials are available on my website for this course at the links listed below. I will only be using blackboard for posting grades and for you to submit assignments.





  • Book : The highly recommended book (although not required) for the class is Bayesian Data Analysis, 3rd edition by Gelman et al.

  • A note on COLL400 requirements: In various assigments in this class you will be required to communicate statistical concepts to various audiences. As this is a core College-wide requirement under the Curriculum, your work communicating these concepts will be evaluated as an important part of your score for assignments.

  • A note on coding : Some of you don’t have alot of coding experience outside of stata. You will find the early parts of this class frustrating as you struggle to translate your logic into workable code. The curious student who is willing to experiment (and creatively search google) will keep frustration levels to a minimum. To facilitate the learning process, you can

    • Work in groups of two for the homework assignments.

    • Ask anyone to help solve specific coding syntax errors.

    • My office hours on Tuesday afternoons can be used for tackling these types of problems.

    • The google is a great resource for syntax problems. In particular, I find the following web resources very useful:

Class Schedule


Approx. Duration



6 weeks

Brief Introduction to Python

Bayesian Statistics

Markov Chains and Sampling Methods

Application: OLS


2 weeks

Heirarchical Models

Switching Models

2 weeks

Endogenous Breakpoints

Missing Data

1 week

Bayesian Imputation


1 week

Discrete Choice Models

Other Models

As Time Allows

Time Series Models

Spatial Econometric Models

Multinomial Probit