【问题标题】:Replicating marginal effects from logit model example in Gujarati & Porter on R从 R 上的 Gujarati & Porter 中的 logit 模型示例中复制边际效应
【发布时间】:2020-05-01 22:19:39
【问题描述】:

我正在复制古吉拉特语和波特(西班牙语版)计量经济学一书中的 logit 模型示例。我对模型估计没有任何问题,但我无法复制边际效应。书中回归结果如下:

在以下几行中,我展示了我的回归结果:

> dat <- data.frame(
+   debito = c(0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 1, 
+              1, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 
+              1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 1),
+   saldo = c(1756, 748, 1501, 1831, 1622, 1886,  740, 1593, 1169, 2125, 
+             1554, 1474, 1913, 1218, 1006, 2215,  137,  167, 343, 2557, 
+             2276, 1494, 2144, 1995, 1053, 1526, 1120, 1838, 1746, 1616,
+             1958, 634, 580, 1320, 1675, 789, 1735, 1784, 1326, 2051, 1044,
+             1885, 1790, 765, 1645, 32, 1266, 890, 2204, 2409, 1338, 2076,
+             1708, 2138, 2375, 1455, 1487, 1125, 1989, 2156),
+   cajero = c(13, 9, 10, 10, 14, 17, 6, 10, 6, 18, 12, 12, 6, 10, 12, 20, 
+              7, 5, 7, 20, 15, 11, 17, 10, 8, 8, 8, 7, 11, 10, 6, 2, 4, 4,
+              6, 8, 12, 11, 16, 14, 7, 10, 11, 4, 6, 2, 11, 7, 14, 16, 14,
+              12, 13, 18, 12, 9, 8, 6, 12, 14),
+   interes = c(1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+               0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+               0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0)
+ )
> mod <- glm(debito ~ saldo + cajero + interes,data = dat,
+            family = "binomial")
> summary(mod)

Call:
glm(formula = debito ~ saldo + cajero + interes, family = "binomial", 
    data = dat)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-1.6619  -0.9712  -0.6629   1.1440   1.7076  

Coefficients:
              Estimate Std. Error z value Pr(>|z|)  
(Intercept) -0.5749004  0.7857866  -0.732   0.4644  
saldo        0.0012481  0.0006973   1.790   0.0735 .
cajero      -0.1202251  0.0939842  -1.279   0.2008  
interes     -1.3520856  0.6809872  -1.985   0.0471 *
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 82.108  on 59  degrees of freedom
Residual deviance: 75.500  on 56  degrees of freedom
AIC: 83.5

Number of Fisher Scoring iterations: 4

如您所见,我得到了相同的结果。我的问题是当我尝试复制边际效应时,书中的边际效应如下:

我尝试使用以下方法复制结果:

> coef(mod) * mean(dlogis(predict(mod, type = "link")))
  (Intercept)         saldo        cajero       interes 
-0.1262098468  0.0002740024 -0.0263934252 -0.2968279711 

如你所见,我失败了。我知道书中的结果是从 Stata 获得的,所以我不知道计算的细节,或者是否有可能在 R 中复制计算。有办法吗?

【问题讨论】:

    标签: r logistic-regression glm economics


    【解决方案1】:

    使用包“margins”来获得边际效应。

    install.packages("margins")
    library("margins")
    
    mod <- glm(debito ~ saldo + cajero + interes, data = dat, family = "binomial")
    
    (m <- margins(mod))
    

    这里是输出:

    Average marginal effects
    glm(formula = debito ~ saldo + cajero + interes, family = "binomial",     data = dat)
    
        saldo   cajero interes
     0.000274 -0.02639 -0.2968
    

    您的列名是否正确?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-05-06
      • 1970-01-01
      • 2021-10-22
      • 2016-11-24
      • 1970-01-01
      • 1970-01-01
      • 2012-08-13
      • 1970-01-01
      相关资源
      最近更新 更多