11.6 Leyes de conducción en estado de ebriedad y muertes por accidentes de tráfico
Existen dos fuentes principales de sesgo de variables omitidas que no se tienen en cuenta en todos los modelos de la relación entre accidentes de tránsito e impuestos a la cerveza que se han considerado hasta ahora: Las condiciones económicas y las leyes de conducción. Afortunadamente, Fatalities tiene datos sobre la edad legal para beber (drinkage), castigo (jail, service) y varios indicadores económicos como la tasa de desempleo (unemp) y la renta per cápita (income). Se pueden utilizar estas covariables para ampliar el análisis anterior.
Estas covariables se definen de la siguiente manera:
- unemp: Una variable numérica que indica la tasa de desempleo específica del estado.
- log(income): El logaritmo del ingreso real per cápita (en precios de 1988).
- miles: El promedio estatal de millas por conductor.
- drinkage: El estado especifica la edad mínima legal para beber.
- drinkagc: Una versión discretizada de drinkage que clasifica los estados en cuatro categorías de edad mínima para beber; \(18\), \(19\), \(20\), \(21\) y mayores. R denota esto como [18, 19), [19, 20), [20, 21) y [21, 22]. Estas categorías se incluyen como regresores ficticios donde [21, 22] se elige como categoría de referencia.
- punish: Una variable ficticia con niveles yes y no que mide si conducir en estado de ebriedad es severamente castigado con encarcelamiento obligatorio o servicio comunitario obligatorio (primera condena).
Al principio, se definen las variables de acuerdo con los resultados de la regresión presentados en una tabla.
# discretizar la edad mínima legal para beber
$drinkagec <- cut(Fatalities$drinkage,
Fatalitiesbreaks = 18:22,
include.lowest = TRUE,
right = FALSE)
# establecer la edad mínima para beber [21, 22] como el nivel de referencia
$drinkagec <- relevel(Fatalities$drinkagec, "[21,22]")
Fatalities
# ¿cárcel privada o servicio comunitario?
$punish <- with(Fatalities, factor(jail == "yes" | service == "yes",
Fatalitieslabels = c("no", "yes")))
# el conjunto de observaciones sobre todas las variables para 1982 y 1988
<- Fatalities[with(Fatalities, year == 1982 | year == 1988), ] Fatalities_1982_1988
A continuación, se estiman los siete modelos utilizando plm().
# estimar los siete modelos
<- lm(fatal_rate ~ beertax, data = Fatalities)
fatalities_mod1
<- plm(fatal_rate ~ beertax + state, data = Fatalities)
fatalities_mod2
<- plm(fatal_rate ~ beertax + state + year,
fatalities_mod3 index = c("state","year"),
model = "within",
effect = "twoways",
data = Fatalities)
<- plm(fatal_rate ~ beertax + state + year + drinkagec
fatalities_mod4 + punish + miles + unemp + log(income),
index = c("state", "year"),
model = "within",
effect = "twoways",
data = Fatalities)
<- plm(fatal_rate ~ beertax + state + year + drinkagec
fatalities_mod5 + punish + miles,
index = c("state", "year"),
model = "within",
effect = "twoways",
data = Fatalities)
<- plm(fatal_rate ~ beertax + year + drinkage
fatalities_mod6 + punish + miles + unemp + log(income),
index = c("state", "year"),
model = "within",
effect = "twoways",
data = Fatalities)
<- plm(fatal_rate ~ beertax + state + year + drinkagec
fatalities_mod7 + punish + miles + unemp + log(income),
index = c("state", "year"),
model = "within",
effect = "twoways",
data = Fatalities_1982_1988)
De nuevo, se usa stargazer() (Hlavac 2018) para generar una presentación tabular completa de los resultados.
library(stargazer)
# recopilar errores estándar agrupados en una lista
<- list(sqrt(diag(vcovHC(fatalities_mod1, type = "HC1"))),
rob_se sqrt(diag(vcovHC(fatalities_mod2, type = "HC1"))),
sqrt(diag(vcovHC(fatalities_mod3, type = "HC1"))),
sqrt(diag(vcovHC(fatalities_mod4, type = "HC1"))),
sqrt(diag(vcovHC(fatalities_mod5, type = "HC1"))),
sqrt(diag(vcovHC(fatalities_mod6, type = "HC1"))),
sqrt(diag(vcovHC(fatalities_mod7, type = "HC1"))))
# generar la tabla
stargazer(fatalities_mod1, fatalities_mod2, fatalities_mod3,
fatalities_mod4, fatalities_mod5, fatalities_mod6, fatalities_mod7, digits = 3,
header = FALSE,
type = "latex",
se = rob_se,
title = "Modelos de regresión lineal de panel de accidentes mortales debido a conducción en estado de ebriedad",
model.numbers = FALSE,
column.labels = c("(1)", "(2)", "(3)", "(4)", "(5)", "(6)", "(7)"))
Variable dependiente: Tasa de mortalidad | |||||||
fatal_rate | |||||||
OLS | panel | ||||||
linear | |||||||
(1) | (2) | (3) | (4) | (5) | (6) | (7) | |
beertax | 0.365*** | -0.656** | -0.640* | -0.445 | -0.690** | -0.456 | -0.926*** |
(0.053) | (0.289) | (0.350) | (0.291) | (0.345) | (0.301) | (0.337) | |
drinkagec[18,19) | 0.028 | -0.010 | 0.037 | ||||
(0.068) | (0.081) | (0.101) | |||||
drinkagec[19,20) | -0.018 | -0.076 | -0.065 | ||||
(0.049) | (0.066) | (0.097) | |||||
drinkagec[20,21) | 0.032 | -0.100* | -0.113 | ||||
(0.050) | (0.055) | (0.123) | |||||
drinkage | -0.002 | ||||||
(0.021) | |||||||
punishyes | 0.038 | 0.085 | 0.039 | 0.089 | |||
(0.101) | (0.109) | (0.101) | (0.161) | ||||
miles | 0.00001 | 0.00002* | 0.00001 | 0.0001*** | |||
(0.00001) | (0.00001) | (0.00001) | (0.00005) | ||||
unemp | -0.063*** | -0.063*** | -0.091*** | ||||
(0.013) | (0.013) | (0.021) | |||||
log(income) | 1.816*** | 1.786*** | 0.996 | ||||
(0.624) | (0.631) | (0.666) | |||||
Constant | 1.853*** | ||||||
(0.047) | |||||||
Observations | 336 | 336 | 336 | 335 | 335 | 335 | 95 |
R2 | 0.093 | 0.041 | 0.036 | 0.360 | 0.066 | 0.357 | 0.659 |
Adjusted R2 | 0.091 | -0.120 | -0.149 | 0.217 | -0.134 | 0.219 | 0.157 |
Residual Std. Error | 0.544 (df = 334) | ||||||
F Statistic | 34.394*** (df = 1; 334) | 12.190*** (df = 1; 287) | 10.513*** (df = 1; 281) | 19.194*** (df = 8; 273) | 3.252*** (df = 6; 275) | 25.423*** (df = 6; 275) | 9.194*** (df = 8; 38) |
Note: | *p<0.1; **p<0.05; ***p<0.01 |
Table 11.1: Modelos de regresión lineal de panel de accidentes mortales debido a conducción en estado de ebriedad
Mientras que las columnas (2) y (3) recapitulan los resultados (11.7) y (11.8), la columna (1) presenta una estimación del coeficiente de interés en la regresión MCO ingenua de la tasa de fatalidad sobre el impuesto a la cerveza sin efectos fijos. Se obtiene una estimación positiva para el coeficiente del impuesto a la cerveza que probablemente tenga un sesgo al alza. El ajuste del modelo también es bastante malo (\(\bar{R}^2 = 0.091\)). El signo de la estimación cambia a medida que se amplía el modelo por efectos fijos tanto de entidad como de tiempo en los modelos (2) y (3). Además, \(\bar{R}^2\) aumenta sustancialmente a medida que se incluyen efectos fijos en la ecuación del modelo. No obstante, como se discutió anteriormente, las magnitudes de ambas estimaciones pueden ser demasiado grandes.
Las especificaciones del modelo (4) a (7) incluyen covariables que deben capturar el efecto de las condiciones económicas estatales generales, así como el marco legal. Considerando (4) como la especificación de línea de base, se observan cuatro resultados interesantes:
La inclusión de las covariables no conduce a una reducción importante del efecto estimado del impuesto a la cerveza. El coeficiente no es significativamente diferente de cero al nivel de \(5\%\), ya que la estimación es bastante imprecisa.
La edad mínima legal para beber no tiene un efecto sobre las muertes por accidentes de tránsito: Ninguna de las tres variables ficticias es significativamente diferente de cero en ningún nivel común de significancia. Además, una prueba \(F\) de la hipótesis conjunta de que los tres coeficientes son cero no rechaza la hipótesis nula. El siguiente fragmento de código muestra cómo probar esta hipótesis.
# probar si la edad legal para consumir alcohol no tiene poder explicativo
linearHypothesis(fatalities_mod4,
test = "F",
c("drinkagec[18,19)=0", "drinkagec[19,20)=0", "drinkagec[20,21)"),
vcov. = vcovHC, type = "HC1")
#> Linear hypothesis test
#>
#> Hypothesis:
#> drinkagec[18,19) = 0
#> drinkagec[19,20) = 0
#> drinkagec[20,21) = 0
#>
#> Model 1: restricted model
#> Model 2: fatal_rate ~ beertax + state + year + drinkagec + punish + miles +
#> unemp + log(income)
#>
#> Note: Coefficient covariance matrix supplied.
#>
#> Res.Df Df F Pr(>F)
#> 1 276
#> 2 273 3 0.3782 0.7688
No existe evidencia de que el castigo para los primeros infractores tenga un efecto disuasorio sobre la conducción en estado de ebriedad: El coeficiente correspondiente no es significativo al nivel de \(10\%\).
Las variables económicas explican significativamente las muertes por accidentes de tránsito. Se puede comprobar que la tasa de empleo y el ingreso per cápita son conjuntamente significativos al nivel de \(0.1\%\).
# probar si los indicadores económicos no tienen poder explicativo
linearHypothesis(fatalities_mod4,
test = "F",
c("log(income)", "unemp"),
vcov. = vcovHC, type = "HC1")
#> Linear hypothesis test
#>
#> Hypothesis:
#> log(income) = 0
#> unemp = 0
#>
#> Model 1: restricted model
#> Model 2: fatal_rate ~ beertax + state + year + drinkagec + punish + miles +
#> unemp + log(income)
#>
#> Note: Coefficient covariance matrix supplied.
#>
#> Res.Df Df F Pr(>F)
#> 1 275
#> 2 273 2 31.577 4.609e-13 ***
#> ---
#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
El modelo (5) omite los factores económicos. El resultado apoya la noción de que los indicadores económicos deben permanecer en el modelo, ya que el coeficiente del impuesto a la cerveza es sensible a la inclusión de este último.
Los resultados del modelo (6) demuestran que la edad legal para beber tiene poco poder explicativo y que el coeficiente de interés no es sensible a los cambios en la forma funcional de la relación entre la edad para beber y las muertes por accidentes de tránsito.
La especificación (7) revela que reducir la cantidad de información disponible (aquí solo se usan 95 observaciones para el período 1982 a 1988) infla los errores estándar pero no conduce a cambios drásticos en las estimaciones de los coeficientes.
Resumen
No se ha encontrado evidencia de que los castigos severos y el aumento de la edad mínima para beber reduzcan las muertes por accidentes de tránsito debido a la conducción en estado de ebriedad. No obstante, parece haber un efecto negativo de los impuestos sobre el alcohol en las muertes por accidentes de tránsito que; sin embargo, se estima de manera imprecisa y no puede interpretarse como el efecto causal de interés, ya que aún puede haber un sesgo. El problema es que puede haber variables omitidas que difieren entre los estados y *cambian con el tiempo, dicho sesgo permanece a pesar de que se usa un enfoque de panel que controla las variables no observables invariantes en el tiempo y específicos de la entidad.
Un método poderoso que se puede utilizar si los enfoques de regresión de panel comunes fallan es la regresión de variables instrumentales. Se volverá a este concepto en el capítulo 13.