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

本文介绍了使用R软件包AER进行IV(2SLS)回归的方法,包括如何加载数据、构建模型、评估模型参数及进行Wald检验来判断变量的重要性。通过具体案例展示了如何处理可能存在的内生性问题,并利用第一阶段回归结果来进行弱工具变量的检验。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

 

 

 

 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值