0

我使用 censReg 包和 censReg 函数估计了一个 Tobit 模型。或者,使用 AER 包中的 tobit 函数估计相同的 Tobit 模型。

现在,我真的很喜欢有一些拟合优度统计,比如 Pseudo-R2。但是,每当我尝试对此进行估计时,输出都会返回为 NA。例如:

Tobit <- censReg(Listing$occupancy_rate ~ ., left = -Inf, right = 1, data = Listing)
PseudoR2(Tobit, which = "McFadden")
[1] NA

到目前为止,我只看到人们使用 Stata 时报告的 Pseudo-R2。有谁知道如何在 R 中估计它?

或者,Tobit 估计 (log)Sigma,它基本上是残差的标准差。我可以用它来计算 R2 吗?

非常感谢所有帮助。

4

1 回答 1

1

您可以使用DescTools包来计算PseudoR2。您没有提供任何样本数据。所以,我很难运行你的模型。我正在使用默认数据集,例如

library(DescTools)
r.glm <- glm(Survived ~ ., data=Untable(Titanic), family=binomial)

PseudoR2(r.glm, c("McFadden"))

对于您的模型,您可以使用类似

library(AER)
data("Affairs", package = "AER")
fm.tobit <- tobit(affairs ~ age + yearsmarried + religiousness + occupation + rating,
                  data = Affairs)

#Create a function for pseudoR2 calculation 
pseudoR2 <- function(obj) 1 - as.vector(logLik(obj)/logLik(update(obj, . ~ 1)))
pseudoR2(fm.tobit)
#>[1] 0.05258401

censReg按您使用的方式使用

library(censReg)
data("Affairs", package = "AER")
estResult <- censReg(affairs ~ age + yearsmarried + religiousness +
                        occupation + rating, data = Affairs)
summary(estResult)
pseudoR2(estResult)
#>[1] 0.05258401

您可以pseudoR2在以下链接中找到有关的详细信息

逻辑回归中的 R 平方

于 2020-11-28T12:24:26.463 回答