Skip to content

Latest commit

 

History

History

2_dynamic_discrete_choice

Part II: Structural estimation of dynamic discrete choice models

In this series of lectures on dynamic discrete choice models we will consider a variety of methods to structurally estimate dynamic discrete choice models (NFXP, MPEC, NPL, CCP type estimators).

As a testbed for comparison we will use the canonical Bus Engine Replacement model in Rust's 1987 Econometrica paper:

Rust, J. (1987). Optimal replacement of GMC bus engines: An empirical model of Harold Zurcher. Econometrica, 999-1033. [Link to paper]

MATLAB code for solving the bus problem

The subfolder zurcher_matlab includes Rust's busdata, and MATLAB code to solve and estimate this model. The readme.md file provides some (very sparse) documentation. I use the MATLAB code for some illustration in the lectures, but you will work with a Python version in the exercise classes. The MATLAB implementation incorporates the key features from Rust's original NFXP code (written in GAUSS) which is carefully described and documented in the NFXP documentation manual

Slides and videotaped lectures

Previsously recorded lectures are available at the Lectures in Dynamic Programming playlist on Bertel Schjerning's YouTube channel. Links to slides and videos below (slides are slightly updated relative to those used in the videos)

  1. The Nested Fixed Point Algorithm [Slides] [Video 1 - solving Zurcher model] [Video 2 - estimating Zurcher model]

  2. Constrained Optimization Approaches to Structural Estimation (MPEC) [Slides] [Video - MPEC vs NFXP]

  3. Sequential Estimation in Discrete Decision Problems: Nested Pseudo Likelihood (NPL) and CCP estimators [Slides] [Video - NPL and CCP]

  4. Stationary Equilibrium: Equilibrium Trade in Automobile Markets [Slides]