Today

Regression Discontinuity: Situation

Problem

Solution

Regression Discontinuity Estimate

Visual Proof (Lee and Lemieux 2008, Fig 2)

Potential and Observed Outcomes

Potential and Observed Outcomes

Examples of Discontinuities

Regression Discontinuity: Simple Estimate

When does it work?

Empirical Example: Vote Share in Congressional Elections

Potential and Observed Outcomes

Potential and Observed Outcomes

Accounting for underlying trend

Local Linear Estimate

\[(\hat{\beta}^{-}_0(x),\hat{\beta}{-}_1(x))=\underset{(\beta_0,\beta_1)}{\arg\min}\sum_{i=1}^{n}1\{X_i<c\}K(\frac{X_i-x}{h})(Y_i-\beta_0-\beta_1(X_i-x))^2\]

\[(\hat{\beta}^{+}_0(x),\hat{\beta}{+}_1(x))=\underset{(\beta_0,\beta_1)}{\arg\min}\sum_{i=1}^{n}1\{X_i\geq c\}K(\frac{X_i-x}{h})(Y_i-\beta_0-\beta_1(X_i-x))^2\]

\[\hat{\tau}^{RD}=\hat{\beta}^{+}_0(c)-\hat{\beta}^{-}_0(c)\]

Choosing a Bandwidth: Considerations

Lee Data w/ OLS, different slope on each side: 11.8% incumbency advantage (Code)

#Load RD package containing Lee (2008) incumbency data 
library(rddtools)
data(house) #Lee data
# Specify x, y, and cutpoint = 0 Dem-Rep vote share
house_rdd<-rdd_data(y=house$y,x=house$x,cutpoint=0)
# Run OLS RD estimate, linear 
# with different slope on each side
reg_para <- rdd_reg_lm(rdd_object=house_rdd)
plot(reg_para,xlab="Dem-Rep Vote Share, t", 
     ylab="Dem-Rep Vote Share, t+1", 
     main="Parametric RD")

Lee Data w/ OLS, different slope on each side: 11.8% incumbency advantage

Lee Data Local Linear, IK BW=0.29, 8.0% incumbency advantage (Code)

#Estimate MSE- optimal bandwidth on Lee 
# data by Imbens-Kalyanaraman procedure
LEEbw<-rdd_bw_ik(house_rdd)
# Run local linear RD estimate, 
# linear with different slope on each side
LEEnp<-rdd_reg_np(rdd_object=house_rdd,bw=LEEbw)
plot(LEEnp,xlab="Dem-Rep Vote Share, t", 
     ylab="Dem-Rep Vote Share, t+1", 
     main="Nonparametric RD")

Lee Data Local Linear, IK BW=0.29, 8.0% incumbency advantage

Confidence intervals and hypothesis tests

“Fuzzy” Regression Discontinuity

Fuzzy RDD as Instrumental Variables Estimate

Extensions

Ensuring assumptions hold

Density Estimation (Code)

#Run McCrary test 
# Estimates density left and right of cutoff
# null is no difference in density
LEEtest<-dens_test(LEEnp,plot=FALSE)
pvalue<-LEEtest[2] #get p value 
#Run McCrary test and display plot
dens_test(LEEnp)

Density Estimation

Lee Data: Density Above and Below Cutoff

Summary

Next Time