带有 R 的 Tobit 模型

机器算法验证 r tobit回归
2022-03-07 11:38:32

有谁知道使用带有 AER 包的 tobit 模型在哪里可以找到好的应用程序和示例(除了手册和使用 R 应用计量经济学的书)?

编辑

我正在寻找一个命令来计算 y 的边际效应(而不是潜在变量 y*)。它似乎是,其中是 std.normal 累积分布函数。但是我怎样才能用 R 计算这些效果呢?ϕ(xβ/σ)βϕ

2个回答

我遇到了与non-conformable arguments@hans0l0 在上面的评论中提到的相同的问题(“”)。我想我已经解决了这个问题,并会在这里尝试解释。

首先,原始帖子中的方程式存在错误。它应该是之后有一个下标,但在第一个 β 之后没有。在 Tobit 模型中,变量的边际效应不仅取决于该特定变量的系数(); )计算得出的调整因子ϕ(xβ/σ)βjβxjβjϕ(xβ/σ)

来自 Wooldridge 2006(第 598 页):

调整因子…取决于的线性函数,可以看出,调整因子严格在零和一之间。xxβ/σ=(β0+β1x1++βkxk)/σ

这个调整因子意味着我们必须对模型中其他变量的值做出选择:“我们必须插入 x j的值,通常是平均值或其他有趣的值”(Wooldridge 2006,p598)。所以通常这将是平均值,但也可能是中位数、顶部/底部四分位数或其他任何值。这与为什么@hans0l0 和我在non-conformable argument使用上面 Alex 的代码时遇到“”错误有关:x当我们需要变量的单个值(均值/中值 / 等)时,该代码中的“”将是一个向量. 我相信上面的代码中还有另一个错误,它从调整项中排除了截距值([-1]第一次使用后的脚本reg$coef)。我对此的理解(但我很高兴得到纠正)是调整项应该包括截距(上面的)。β0

综上所述,这是一个使用来自的数据集的示例AER::tobit (“Affairs”)

## Using the same model and data as in the Tobit help file
## NB: I have added the “x=TRUE” command so the model saves the x values

> fm.tobit <- tobit(affairs ~ age + yearsmarried + religiousness + occupation + rating,
                    data = Affairs, x=TRUE)
> fm.tobit$coef
(Intercept)  age         yearsmarried  religiousness  occupation  rating 
8.1741974    -0.1793326  0.5541418     -1.6862205     0.3260532   -2.2849727

> fm.tobit$scale
[1] 8.24708 

## the vector of marginal effects (at mean values and for y > 0) should be as follows.
## note the [-1] used to remove the intercept term from the final vector, 
##  but not from within the adjustment term. 

> pnorm(sum(apply(fm.tobit$x,2,FUN=mean) * fm.tobit$coef)/fm.tobit$scale) * 
  fm.tobit$coef[-1]
  age        yearsmarried  religiousness  occupation  rating 
  -0.041921  0.1295365     -0.394172      0.076218    -0.534137 

重要的是要重申:这些只是在 y 为正的情况下(即至少发生了一件事情)和所有解释变量的平均值的情况下的边际效应。

如果有人想使用带有 Tobit 模型内置边际效应工具的程序来检查这些结果,我很想看看比较。任何意见和更正将不胜感激。

参考
Wooldridge, Jeffrey M. 2006。介绍计量经济学:现代方法。汤姆森西南。第 3 版。

它不在包中,只需编写您自己的命令即可。如果您的回归是 reg <- tobit(y~x) 那么效果向量应该是

pnorm(x%*%reg$coef[-1]/reg$scale)%*%reg$coef[-1].