Bayesian Economics [ECON414] Course Syllabus

Spring 2019

Instructor: Rob Hicks
Office: Tyler Hall 252
Class Time: MW 2:00 - 3:20pm
Classroom: Tyler Hall 114

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 pymc3.


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.

Software installation

Please install Anaconda Python following these instructions by the Friday of the first week of class. Let me know ASAP if you have problems.


  • Office Hours : I am available on T 4:00 - 6pm, 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 Cross Section issue tracker at Before usiyng the issue tracker, you must create an account on gitlab (free). Use your William and Mary email address so that I can add you to the user list. Part of Problem Set 1 requires you to file an issue at this site, so create your account ASAP.
  • Grades: Your grade will be based on 5-10 short (shorter than cross-section problem sets) weekly assignments (35% of course total grade), a take home mid-term (25%), 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 scheduled Feb 27 (W). 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.
    • 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
Jan 16 First Day of Class
Feb 27 (W) Mid-Term
March 2 - 10 Spring Break
April 26 Last day of class
May 8 (W) Final Exam (2pm - 5pm)
  • 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 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.
Item Location
Syllabus Syllabus (this document)
Notes Course Notes
Presentations and Code Google Drive Folder for this course
  • Book : The highly recommended book (although not required) 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.
    • 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 to have the best python advice anywhere.

Class Schedule

Topic Approx. Duration Summary & Notes
Introduction 4 weeks Brief Introduction to Python
    Bayesian Statistics
    Markov Chains and Sampling Methods
    Application: OLS
Heterogeneity 2 weeks Heirarchical Models
    Finite Mixture
Switching Models 2 weeks Endogenous Breakpoints
Missing Data 1 week Bayesian Imputation
Other Models As Time Allows Time Series Models
    Spatial Econometric Models
    Multinomial Probit