Karim Naguib (Boston University)
11/10/2013
In this chapter, we want to study government policies that can be used to discourage drunk driving.
load("/usr/data/ec414/fatality.RData")
fatality.data$year <- factor(fatality.data$year)
fatality.data$mrall <- fatality.data$mrall * 10000
fatal.82.88.data <- subset(fatality.data, year %in% c("1982", "1988"))
Consider regressing \( FatalityRate \) (annual traffic deaths per 10,000 people in a state) on \( BeerTax \) \[ \begin{alignat*}{3} \widehat{FatalityRate} = &~2.01 &{}+{} &0.15 BeerTax \qquad \text{(1982 data)} \\ &(0.15) & &(0.13) \\ \widehat{FatalityRate} = &~1.86 &{}+{} &0.44 BeerTax \qquad \text{(1988 data)} \\ &(0.11) & &(0.13) \end{alignat*} \]
Consider having an omitted variable \( Z_i \) that is state specific but constant across time
\[ FatalityRate_{it} = \beta_0 + \beta_1 BeerTax_{it} + \beta_2 Z_i + u_{it} \]
Consider the model for the years 1982 and 1988
\[ \begin{align*} FatalityRate_{i,1982} &= \beta_0 + \beta_1 BeerTax_{i,1982} + \beta_2 Z_i + u_{i,1982} \\ FatalityRate_{i,1988} &= \beta_0 + \beta_1 BeerTax_{i,1988} + \beta_2 Z_i + u_{i,1988} \end{align*} \]
Subtract the previous models for the two observed years
\[ \begin{align*} FatalityRate_{i,1988}& - FatalityRate_{i,1982} = \\ &\beta_1 (BeerTax_{i,1988} - BeerTax_{i,1982}) \\ {} &+ (u_{i,1988} - u_{i,1982}) \end{align*} \]
Intuitively, by basing our regression on the change in fatalities we can ignore the time constant omitted variables.
If we regress the change in fatalities in states on the change in taxes we get \[ \begin{align*} &\widehat{FatalityRate_{1988} - FatalityRate_{1982}} = \\ &\qquad {} - 0.072 - 1.04 (BeerTax_{1988} - BeerTax_{1982}) \end{align*} \]
(with standard errors \( 0.064 \) and \( 0.26 \), respectively)
We reject the hypothesis that \( \beta_1 \) is zero at the 5% level. According to this estimate an increase of $1 tax would reduce traffic fatalities by 1.05 deaths/10,000 people (a reduction by 2 of current average fatality in the data).
We can modify our previous model
\[ Y_{it} = \beta_0 + \beta_1 X_{it} + \beta_2 Z_i + u_{it} \]
as
\[ Y_{it} = \beta_1 X_{it} + \alpha_i + u_{it} \]
where \( \alpha_i = \beta_0 + \beta_2Z_i \) are the \( n \) entity specific intercepts. These are also known as entity fixed effects, since the represent the constant effect of being in entity \( i \).
Let the dummy variable \( D1_i \) be binary variable that equal 1 when \( i = 1 \), 0 otherwise. We can likewise define \( n \) dummy variables \( Dj_i \) which are equal to 1 when \( j = i \). We can write our model as
\[ Y_{it} = \beta_0 + \beta_1 X_{it} + \underbrace{\gamma_2 D2_i + \gamma_3 D3_i + \cdots + \gamma_n Dn_i}_{n-1 \text{ dummy variables}} + u_{it} \]
We can easily extend both forms of the fixed effects model to include multiple regressors
library(plm)
regress.results.fe.only <- plm(mrall ~ beertax,
data=fatality.data,
index=c('state', 'year'),
effect='individual',
model='within')
robust.se <- vcovSCC(regress.results.fe.only)
coeftest(regress.results.fe.only, vcov = robust.se)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
beertax -0.656 0.106 -6.17 2.3e-09 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
We can modify our model to
\[ Y_{it} = \beta_0 + \beta_1 X_{it} + \beta_2 Z_i + \beta_3 S_t + u_{it} \]
where \( S_t \) is unobserved.
We can also use the dummy variable approach. Let \( Bs_t \) be equal to 1 if \( s = t \) and 0 otherwise.
\[ Y_{it} = \beta_0 + \beta_1 X_{it} + \underbrace{\delta_2 B2_t + \cdots + \delta_T BT_t}_{T-1\text{ dummy variables}} + u_{it} \]
Now to control for both \( Z_i \) and \( S_t \) we have the combined entity and time fixed effects regression model
\[ Y_{it} = \beta_1 X_{it} + \alpha_i + \lambda_t + u_{it} \]
or
\[ \begin{align*} Y_{it} &= \beta_0 + \beta_1 X_{it} + \gamma_2 D2_i + \cdots + \gamma_n Dn_i \\ {}&+ \delta_2 B2_t + \cdots + \delta_T BT_t + u_{it} \end{align*} \]
regress.results.fe.time <- plm(mrall ~ beertax,
data = fatality.data,
index = c('state', 'year'),
effect = 'twoways',
model = 'within')
robust.se <- vcovSCC(regress.results.fe.time)
coeftest(regress.results.fe.time, vcov = robust.se)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
beertax -0.640 0.154 -4.17 4.1e-05 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
\[ Y_{it} = \beta_1 X_{it} + \alpha_i + u_{it},~~i = 1, \dots,n,~~t = 1,\dots,T. \]
An important assumption for fixed effects regressions is FE.A.2