Course Syllabus
Contents
Course Syllabus¶
Instructor: Rob Hicks
Office: 252 Chancellors Hall
Term: Spring 2024
E-mail: rob.hicks@wm.edu
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.
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, 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
https://jupyterhub.wm.edu
and choosing theSciPy with PyMC
imagehttps://colab.google.com
and installing software to enablepymc
Running
anaconda python
on your own pc and installing software to enablepymc
These are all acceptable to me provided your jupyter notebook executes on
my computing environment (identical to https://jupyterhub.wm.edu
).
Tip
Students are advised to use https://jupyterhub.wm.edu
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) |
Review Materials¶
Logistics¶
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 https://code.wm.edu/econ/414/issue-tracker/-/issues. 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 |
---|---|---|---|
Tuesday |
Thursday |
A |
C |
Thursday |
Saturday or Sunday |
A |
C |
Tuesday |
Friday |
A |
F (not accepted) |
Thursday |
Monday |
A |
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.
Item |
Location |
---|---|
Syllabus |
|
Notes |
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¶
Topic |
Approx. Duration |
Summary |
---|---|---|
Introduction |
6 weeks |
Brief Introduction to Python |
Bayesian Statistics |
||
Markov Chains and Sampling Methods |
||
Application: OLS |
||
Heterogeneity |
2 weeks |
Heirarchical Models |
Switching Models |
2 weeks |
Endogenous Breakpoints |
Missing Data |
1 week |
Bayesian Imputation |
Classifification |
1 week |
Discrete Choice Models |
Other Models |
As Time Allows |
Time Series Models |
Spatial Econometric Models |
||
Multinomial Probit |