【问题标题】:Goodness of Fit statistic Tobit model拟合优度统计 Tobit 模型
【发布时间】:2020-11-28 12:12:11
【问题描述】:

我使用 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 吗?

非常感谢所有帮助。

【问题讨论】:

    标签: r regression log-likelihood goodness-of-fit


    【解决方案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 squared in logistic regression

    【讨论】:

    • 感谢您的回答!使用自制功能时,它起作用了。
    猜你喜欢
    • 2021-04-19
    • 1970-01-01
    • 1970-01-01
    • 2011-11-27
    • 1970-01-01
    • 2014-12-19
    • 1970-01-01
    • 2014-07-07
    • 2014-02-19
    相关资源
    最近更新 更多