【问题标题】:How to compute marginal effects of a multinomial logit model created with the nnet package?如何计算使用 nnet 包创建的多项 logit 模型的边际效应?
【发布时间】:2021-06-30 15:08:07
【问题描述】:

我使用multinom 命令使用nnet R 包创建了多项logit 模型。因变量具有三个类别/选择选项。我正在根据农民特征对选择某种灌溉类型(不灌溉、地表灌溉、滴灌)的概率进行建模。

我想估计边际效应,即当我将自变量 X 增加一个单位时,选择灌溉类型 Y 的概率会发生多大的变化?我曾尝试使用 margins 包 (marginal_effects) 来执行此操作,但这仅给出数据集中每个观察值的 1 个值。我期待三个值,因为我想要三种灌溉类型中每一种的边际效应。

有人知道是否有更好的 R 包可用于此目的吗?或者我是否对margins 包做错了什么?谢谢。

【问题讨论】:

    标签: r multinomial marginal-effects


    【解决方案1】:

    你可以使用the marginaleffects package来做 那个(免责声明:我是维护者)。请注意警告。

    library(nnet)
    library(marginaleffects)
    
    mod <- multinom(factor(cyl) ~ hp + mpg, data = mtcars, quiet = true)
    
    mfx <- marginaleffects(mod, type = "probs")
    
    ## Warning in sanity_model_specific.multinom(model, ...): The standard errors
    ## estimated by `marginaleffects` do not match those produced by Stata for
    ## `nnet::multinom` models. Please be very careful when interpreting the results.
    
    summary(mfx)
    
    ## Average marginal effects 
    ##    type Group Term     Effect Std. Error     z value   Pr(>|z|)      2.5 %
    ## 1 probs     6   hp  2.792e-04  0.000e+00         Inf < 2.22e-16  2.792e-04
    ## 2 probs     6  mpg -1.334e-03  0.000e+00        -Inf < 2.22e-16 -1.334e-03
    ## 3 probs     8   hp  2.396e-05 1.042e-126  2.298e+121 < 2.22e-16  2.396e-05
    ## 4 probs     8  mpg -2.180e-04 1.481e-125 -1.472e+121 < 2.22e-16 -2.180e-04
    ##       97.5 %
    ## 1  2.792e-04
    ## 2 -1.334e-03
    ## 3  2.396e-05
    ## 4 -2.180e-04
    ## 
    ## Model type:  multinom 
    ## Prediction type:  probs
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-05-06
      • 2020-05-07
      • 2019-06-02
      • 2018-07-04
      • 1970-01-01
      • 2021-07-03
      • 2022-01-11
      相关资源
      最近更新 更多