Instrumental Variables----------Implementation R 2.13

xiaoxiao2021-02-28  17

Wald test

Model 1: hsngval ~ pcturban + faminc + reg2 + reg3 + reg4 Model 2: hsngval ~ pcturban   Res.Df Df      F    Pr(>F)     1     44                         2     48 -4 12.975 4.643e-07 *** --- Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Wald test

Model 1: hsngval ~ pcturban + faminc + reg2 + reg3 + reg4 Model 2: hsngval ~ pcturban   Res.Df Df      F    Pr(>F)     1     44                         2     48 -4 12.975 4.643e-07 *** --- Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Wald test

Model 1: hsngval ~ pcturban + faminc + reg2 + reg3 + reg4 Model 2: hsngval ~ pcturban   Res.Df Df      F    Pr(>F)     1     44                         2     48 -4 12.975 4.643e-07 *** --- Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Wald test

Model 1: hsngval ~ pcturban + faminc + reg2 + reg3 + reg4 Model 2: hsngval ~ pcturban   Res.Df Df      F    Pr(>F)     1     44                         2     48 -4 12.975 4.643e-07 *** --- Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Wald test

Model 1: hsngval ~ pcturban + faminc + reg2 + reg3 + reg4 Model 2: hsngval ~ pcturban   Res.Df Df      F    Pr(>F)     1     44                         2     48 -4 12.975 4.643e-07 *** --- Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

 

 

https://www.schmidheiny.name/teaching/iv2up.pdf

 

 

The IV (2SLS) estimator is conveniently implemented in the R package  AER as command

 

 ivreg(y ~ x1 + x2 + w1 + w2 | z1 + z2 + z3 + w1 + w2)

 

where x1 and x2 are endogenous regressors, w1 and w2 exogeneous regressors,

 

and z1 to z3 are excluded instruments. For example, load data

 

 library(foreign)

 

 hsng2 <- read.dta("http://www.stata-press.com/data/r11/hsng2.dta")

 

 

and regress median monthly rents (rent) of census divisions on the share

 

of urban population (pcturban) and the median housing value (hsngval)

 

> library(foreign)

 

 hsng2 <- read.dta("http://www.stata-press.com/data/r11/hsng2.dta")

 

 

 fiv <- ivreg(rent~hsngval+pcturban|pcturban+faminc+reg2+reg3+reg4,

 

data = hsng2)

 

 summary(fiv)

 

 

Housing values are likely endogeneous and therefore instrumented by median

 

family income (faminc) and 3 regional dummies (reg2, reg4, reg4).

 

The Eicker-Huber-White covariance estimator which is robust to heteroscedastic  error terms is reported after estimation with

 

 library(sandwich)

 

 library(lmtest)

 

 coeftest(fm, vcov=sandwich)

 

First stage results are reported by explicitly estimating them. E.g,

 

 first <- lm(hsngval~pcturban+faminc+reg2+reg3+reg4, data = hsng2)

 

 summary(first)

 

 

In case of a single endogenous variable (K = 1), the F-statistic to assess

 

weak instruments is reported after estimating the first stage with e.g.

 

 waldtest(first, .~.-faminc-reg2-reg3-reg4)

 

or in case of heteroscedatistic errors

 

 waldtest(first, .~.-faminc-reg2-reg3-reg4, vcov=sandwich)

 

library(sandwich) library(foreign) hsng2 <- read.dta("http://www.stata-press.com/data/r11/hsng2.dta") library(foreign) library(sandwich) library(lmtest) hsng2 <- read.dta("http://www.stata-press.com/data/r11/hsng2.dta") fiv <- ivreg(rent~hsngval+pcturban|pcturban+faminc+reg2+reg3+reg4, data = hsng2) summary(fiv)

Call: ivreg(formula = rent ~ hsngval + pcturban | pcturban + faminc +      reg2 + reg3 + reg4, data = hsng2)

Residuals:      Min       1Q   Median       3Q      Max  -84.1948 -11.6023  -0.5239   8.6583  73.6130 

Coefficients:              Estimate Std. Error t value Pr(>|t|)     (Intercept) 1.207e+02  1.571e+01   7.685 7.55e-10 *** hsngval     2.240e-03  3.388e-04   6.612 3.17e-08 *** pcturban    8.152e-02  3.082e-01   0.265    0.793     --- Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 22.86 on 47 degrees of freedom Multiple R-Squared: 0.5989,    Adjusted R-squared: 0.5818  Wald test: 42.66 on 2 and 47 DF,  p-value: 2.731e-11   

 

coeftest(fiv, vcov=sandwich)

t test of coefficients:

              Estimate Std. Error t value  Pr(>|t|)     (Intercept) 1.2071e+02 1.5255e+01  7.9123 3.444e-10 *** hsngval     2.2398e-03 6.7200e-04  3.3331  0.001681 **  pcturban    8.1516e-02 4.4459e-01  0.1833  0.855313     --- Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

 

first <- lm(hsngval~pcturban+faminc+reg2+reg3+reg4, data = hsng2) summary(first)

Call: lm(formula = hsngval ~ pcturban + faminc + reg2 + reg3 + reg4,      data = hsng2)

Residuals:    Min     1Q Median     3Q    Max  -10504  -5223  -1162   2939  46756 

Coefficients:               Estimate Std. Error t value Pr(>|t|)     (Intercept) -1.867e+04  1.200e+04  -1.557 0.126736     pcturban     1.822e+02  1.150e+02   1.584 0.120289     faminc       2.731e+00  6.819e-01   4.006 0.000235 *** reg2        -5.095e+03  4.122e+03  -1.236 0.223007     reg3        -1.778e+03  4.073e+03  -0.437 0.664552     reg4         1.341e+04  4.048e+03   3.314 0.001849 **  --- Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 9253 on 44 degrees of freedom Multiple R-squared:  0.6908,    Adjusted R-squared:  0.6557  F-statistic: 19.66 on 5 and 44 DF,  p-value: 3.032e-10  

 

waldtest(first, .~.-faminc-reg2-reg3-reg4)

Wald test

Model 1: hsngval ~ pcturban + faminc + reg2 + reg3 + reg4 Model 2: hsngval ~ pcturban   Res.Df Df      F    Pr(>F)     1     44                         2     48 -4 13.298 3.495e-07 *** --- Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 > 

waldtest(first, .~.-faminc-reg2-reg3-reg4, vcov=sandwich)

 

Wald test

Model 1: hsngval ~ pcturban + faminc + reg2 + reg3 + reg4 Model 2: hsngval ~ pcturban   Res.Df Df      F    Pr(>F)     1     44                         2     48 -4 12.975 4.643e-07 *** --- Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

 

 

 

 

转载请注明原文地址: https://www.6miu.com/read-2596300.html

最新回复(0)