35

我想估计协变量对响应值的影响,其值取 [0,1] 中的值。也就是说,响应变量的值介于 0-1(含)之间。我想使用 Papke 和 Wooldridge (1996) 描述的分数 logit 模型,见下文:

http://faculty.smu.edu/millimet/classes/eco6375/papers/papke%20wooldridge%201996.pdf

是否有 R 函数(或库)来促进分数 logit 模型的估计?我可以glm()以某种方式修改吗?

编辑的问题从这里开始

我很欣赏@Jibler 的评论——这可以从分数 logit 模型中得到估计的 beta 值。但是,正如@Ben 指出的那样,鉴于此规范,无法正确估计 SE。

我想这是经济学中更流行的模型,因此 STATA 期刊投稿人对此进行了很好的讨论: http: //fmwww.bc.edu/EC-C/S2013/823/EC823.S2013.nn06.slides.pdf http:/ /www.stata.com/meeting/germany10/germany10_buis.pdf

我能够从 Papke 和 Wooldridge 401k 计划示例中获得数据(见下文)。至少在我看来,分数 logit 模型的稳健性是通过方差的三明治估计量 - Papke 和 Wooldridge 的方程(9)获得的。也就是说,等式 (10) 继续演示如何通过将vcov来自标准拟合的估计矩阵预乘以glm(...,family=binomial(link=logit))Pearson 残差的估计来获得稳健性。

Buis 的幻灯片似乎sandwich()使用参数 vce(robust) 实现了分数 logit 估计器的一种形式。sandwich()这些与R 中函数在标准二项式 GLM 中的应用完全一致。我假设,但不确定,因为我不是 STATA 奇才,这与 Baum 的论点相同robust吗?如果有人拥有 STATA 并且可以检查这将是有帮助的。GLM 给出的模型给出的family=quasibinomialSE 估计值略有不同。但它似乎也是分数 logit 模型的均值/方差参数的合理估计。

下面是一些 R 代码,它复制了上面 Buis 文章中给出的数据拟合(它还显示了准二项式模型如何给出略有不同的 SE 估计):

##
## Replicate what some STATA Journal editors call "fractional logit"
## get data from: "http://fmwww.bc.edu/repec/bocode/k/k401.dta" 
##
library(sandwich)
library(foreign)

X <- read.dta("F:/ProportionsDepVar/k401.dta")
class(X)
names(X)
dim(X)
X$totemp1 <- X$totemp/10000

glmfit <- glm(prate ~ mrate + totemp1 + age + sole, family=binomial(link=logit), data=X)
summary(glmfit)

##
## And the SE's are off here and biased large
## Use sandwich estimator instead
##
sand_vcov <- sandwich(glmfit)
sand_se <- sqrt(diag(sand_vcov))
robust_z <- glmfit$coef/sand_se
robust_z

##
## Quasi binomial fit is close to replicating SE's
##
flogit1 <- glm(prate ~ mrate + totemp1 + age + sole, family=quasibinomial(link=logit), data=X)
summary(flogit1)

所以...感谢@Ben 提供有用的建议。我的看法是,family=quasibinomial或者sandwich库在估计 R 中分数 logit 模型的稳健 SE 方面做得很好(由 Papke 和 Wooldridge 的方程(9)或(10)定义)。如果这个结论不正确,请欣赏评论/批评。

4

0 回答 0