拟合优度统计 Tobit 模型
Goodness of Fit statistic Tobit model
我使用 censReg 包和 censReg 函数估计了 Tobit 模型。或者,使用 AER 包中的 tobit 函数估计相同的 Tobit 模型。
现在,我真的很喜欢一些拟合优度统计数据,例如 Pseudo-R2。但是,每当我尝试对此进行估计时,输出 returns 为 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 吗?
非常感谢所有帮助。
您可以使用 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
您可以在以下link
中找到有关pseudoR2
的详细信息
我使用 censReg 包和 censReg 函数估计了 Tobit 模型。或者,使用 AER 包中的 tobit 函数估计相同的 Tobit 模型。
现在,我真的很喜欢一些拟合优度统计数据,例如 Pseudo-R2。但是,每当我尝试对此进行估计时,输出 returns 为 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 吗?
非常感谢所有帮助。
您可以使用 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
您可以在以下link
中找到有关pseudoR2
的详细信息