How to get R squared/goodness of fit for Tobit model in R?

I do a Tobit regression to analyze censored data. To measure the goodness of fit the authors of these papers use Efron's $R^2$. So my idea is to use this one as well.

To realize my Tobit regression, I use the tobit() function of the AER package which is a wrapper of the survreg function. That works fine but I'm not able to get a $R^2$ of my model.

In a similar study before I used a logistic regression and calculated the Pseudo $R^2$ with the Pseudo Rsquared function of the BaylorEdPsych package which worked great. Now I'm searching a solution like that for my tobit regression.

So: How do I compute a goodness of fit measure like Efron's $R^2$ for my Tobit model in R?

I don't need a certain package, if someone could give me a R snippet of computing the measure with my model.

PS: I also tried with VGLM from the VGAM package but no success.....

• Questions solely about how software works are off topic here, but you may have a real statistical question buried here. You may want to edit your question to clarify the underlying statistical issue. You may find that when you understand the statistical concepts involved, the software-specific elements are self-evident or at least easy to get from the documentation. Feb 16, 2016 at 23:01

I found a possible answer from this post, which includes:

McFadden's pseudo-R^2 can be computed via

fm <- tobit(...)

fm0 <- update(fm, . ~ 1)

1 - as.vector(logLik(fm)/logLik(fm0))

• I have used this answer for my Tobit model (the dependent variable is a scaler ranging from 0-100%, where about have of the sample has a 100%). The OLS gave me an adjusted R squared of about 0.125. When moving from the OLS model to the the tobit model and computing the pseudo R^2, I got a number close to 60% percent. This seems unreasonably high for my specification. Would anyone be able to comment on the reliability of this calculation and such an outcome?
– Tom
Jan 16, 2019 at 1:21

Alternatively we can have a look at the correlation between the predicted and the observable values

(r <- with(mydataset, cor(myestimateddependentvar, myindependentvar)))


And its square

r^2


The square equals the multiple squared correlation which is actually a goodness-of-fit.

• Isn't it valid when I have more than one independent variable, right? Or wouldn't the code be: (r <- with(mydataset, cor(myestimateddependentvar, mytruedependentvar)))`? Mar 20, 2019 at 23:05