The Holy Grail of Causal Inference

Vivian Kwok
Towards Data Science
6 min readJun 19, 2018

--

What is Structural Estimation?

Introduction

Structural estimation, the holy grail of applied econometrics, the two words that drive fear into the bravest souls. Nail it as a PhD student, and you’re on your way to a top tenure-track professorship.

So what is the magic? Specifically, how can it outperform the usual causal inference techniques, such as A/B testing, matching, difference-in-differences, instrumental variable, regression discontinuity, fixed/random effect estimation, etc.?

The answer, in a nutshell, is external validity.

Or pure magic! Source: Walt Disney Giphy

Road Map

In this post, I will tell you all about structural estimation.This part of the discussion is based on The Use of Structural Models in Econometrics by Hamish Low and Costas Meghir.

I will then illustrate the power of structural estimation, using Rebecca Diamond and Timothy McQuade’s NBER working paper: Who Wants Affordable Housing in Their Backyard?

You will see how Rebecca and Timothy were able to perfectly predict Cambridge’s housing price increase following its rent decontrol, using only data from the rent control era. Pure magic!

Combined, the 2 papers add up to 91 pages. I will rework them into a breezy, 7 minute read for you.

What Is Structural Estimation?

Formally,

Fully specified structural models make explicit assumptions about the economic actors’ objectives and their economic environment and information set, as well as specifying which choices are being made within the model. We call these models fully specified because they allow a complete solution to the individual’s optimization problem as a function of the current information set.

This is a lot to unpack. So let’s take a look at an example.

Who Wants Affordable Housing in Their Backyards?

Economic actors’ objectives

In this paper, people choose the best place within their budget. Formally, agent i maximizes his utility U, subject to his budget y:

where:

  • U() is agent i’s utility function. The functional form would be specified later;
  • y is agent i’s income;
  • choices being made by agent i: he can choose how much he spend on consumer goods (c), houses (y-c), types of house and neighborhood (X, Y, xi), and proximity to the closest low-income housing project (R).
  • The economic environment is specified by consumer prices (p), agent’s income (y) and the available housing stocks.
  • information set: Agent i observe the housing and neighborhood characteristics of each house (X, Y, and xi); while some are observed by the econometricians (X, Y), others are not (xi)

Individual’s Optimal Solution

Agent i’s optimal solution is characterized by a set of first order conditions:

This set of first-order conditions equates agent i’s marginal utility of some housing characteristics (R, X) to his marginal willingness to pay for these characteristics (R, X).

How to Estimate the Structural Model?

At this point, it might seem impossible to estimate the structural model. After all, it’s hard enough to keep track of all the model parameters!

Estimate what?! Source: Giphy

While past generations of econometricians did exactly that — estimate all model parameters, modern economists take a more simplified approach. We estimate only the sufficient statistics of the model.

1. Let’s take a look at the set of the first order conditions again:

2. Let’s assume that the utility function takes the following form:

where:

  • RCI is the rent control intensity;
  • HH stands for households.

How do we know if our utility function assumption makes sense? Only data can tell, as we’ll in shortly.

3. Re-write the left-hand side of the first order conditions:

4. Estimate the right-hand side of the first order conditions using data:

5. Let’s back out alpha, the utility function parameter, for each household:

6. The model predicts that housing prices would increase by this much after Cambridge lift its rent control:

7. According to the data, housing prices increased by this much:

8. Note how similar these 2 sets of numbers are!

Externally validity, my friends :)

Source: Giphy

The Power of Structural Estimation

External Validity

In the example above, Rebecca and Timothy were able to predict the increase in housing prices after the rent decontrol in Cambridge almost perfectly. This would have been pretty darn hard to achieve using conventional methods. For example, it would have been really hard to use any matching methods to predict the housing prices, because the rent-controlled units are really different from others.

Synergy with Natural Experiment

Granted, structural models are really complicated and involves many assumptions. To validate the mode, we usually pair it with a natural experiment to show that our model generate similar predictions.

Counterfactuals

So why can’t we simply rely on natural experiments?

Well, recall that the natural experiments only obtain a point estimate. It tells us that under a very specific setting, what is the magnitude of the treatment effect.

But suppose we want to obtain the treatment effects under a completely different set of environment? It would be erroneous for us to simply lift the result from one environment, and apply it indiscriminately in other context.

The best we can do, is to simulate the result using our structural model. For example, what would happen to commercial housing prices if we build a low income project in an affluent neighborhood? We can’t answer this question, because most existing projects are built far, far away from rich neighborhoods.

The Cost of Structural Estimation: Complexity

The dark side of structural estimation is its sheer complexity. You need to understand the ins-and-outs of your system, and describe it using parsimonious maths. There are no set recipe to follow or easy function calls to make— your beautiful mind will design it from scratch. This is what makes structural estimation so hard, yet rewarding.

Whether it’s worth it depends on your own needs:

  • If you’re only interested in generating predictions in a very stable environment, then traditional machine learning tools would be more suitable.
  • But if you’re interested in getting the treatment effects under a very different environment, then structural estimation might be just what you need.

P.S. Articles You Might Like

If you’re broadly interested in causal inference, here are few article I wrote:

--

--

Stanford Economics PhD, ex-TikTok Product Lead, Passionate about Making Education Accessible to All