Course Syllabus

Economics 400

Bayesian Econometrics

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 models (such as mixed regression), multivariate probit, and time series models and we will use Markov Chain sampling methods and how they are implemented in Python pymc.

Prerequisites: 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, I can promise you it will be a nightmare.

Review Materials:

  1. Linear Algebra
  2. Maximum Likelihood
  3. Python Basics (Pandas), (some statistical functions).

Please install Anaconda Python following these instructions.


  • Office Hours : I am available on Tuesdays from 4-6pm, or by appointment. My office, the experimental economics lab on the third floor, has working space so feel free to work there during my office hours. Because of personal issues this semester, I won't be on campus on Monday and Friday, so please plan ahead accordingly.

    Important Note: My office has changed to Morton 305.

  • 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, you must send me all code necessary to reproduce your problem.

  • Grades: Your grade will be based on 5-10 short (shorter than cross-section problem sets) weekly assignments (50% of course total grade), a take home mid-term (20%), and a final project (30%).

    • 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 and you will be emailing me your work. 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 scheduled March 3. 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 20% weight will be proportionally allocated to all other future assignments. Under no circumstances will a make-up mid-term be granted.
    • 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.
  • Important Dates

Date Item
Feb 11 Class Cancelled
March 7 - 15 Spring Break
March 3 Mid-Term
May 4 Final Exam (9am-12pm)
  • 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
Tuesday Thursday A C
Thursday Saturday or Sunday A C
Tuesday Friday A F (not accepted)
Thursday Monday A F (not accepted)
  • 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 an arithmetic error or data entry in adding your score up and entering it into blackboard.
  • 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 problem set solutions.
Item Link

Additionally, I have a Google Drive Folder for this course, where I will be posting the weekly excercises and in-class code.

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

  • A note on coding : Many 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 help the learning process, you can

    • Work in groups of two for the homework assignments.
    • Ask anyone to help solve specific coding syntax errors.
    • I will host office hours at my office on Tuesday afternoons as described above with a work area.
    • The google is a great resource for syntax problems. In particular, I find to have the best python advice anywhere.

Class Schedule

Topic Approx. Duration Summary & Notes
Introduction 3 weeks Brief Introduction to Python
Bayesian Statistics
Markov Chains and Sampling Methods
Application: OLS
Heterogeneity 2 weeks Heirarchical Models
Finite Mixture
Error Integration 1 week Multinomial Probit
Switching Models 2 weeks Endogenous Breakpoints
Time Series Models As Time Allows Real Business Cycle Models