I'm exploring multiple-hurdle models using the mhurdle
package in R. To start, I trying to simply replicate the results of a standard Tobit model run using the tobit()
function from the AER
package or the censReg()
function from the censReg
package (both produce the same results). Using sample data from mhurdle
, these latter two packages yield the same coefficient estimates for a Tobit regression, but I cannot replicate them using mhurdle()
. Here is a basic example. I suspect I'm overlooking something rather simple, but I can't figure it out. Any idea where the misspecification lies between the two models?
library(censReg)
library(mhurdle)
### Load sample data from the mhurdle package
data(Interview)
## mhurdle() results for standard Tobit specification
summary(mhurdle(vacations ~ 0 | linc, data=Interview, dist="n", h2=T))
## censReg() results for Tobit (same as tobit() from "AER")
summary(censReg(vacations ~ linc, data=Interview))
The mhurdle
package produces the following output:
Call:
mhurdle(formula = vacations ~ 0 | linc, data = Interview, dist = "n",
h2 = TRUE, method = "bfgs")
Frequency of 0: 0.848
Coefficients :
Estimate Std. Error t-value Pr(>|t|)
h2.(Intercept) -8.97938 0.54647 -16.4315 < 0.00000000000000022 ***
h2.linc 4.98411 0.61031 8.1666 0.000000000000000222 ***
sd.sd 8.68863 0.18009 48.2463 < 0.00000000000000022 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Log-Likelihood: -765.67 on 3 Df
R^2 :
Coefficient of determination : 0.040817
Likelihood ratio index : NA
The censReg
and the AER
packages produce the following output:
Call:
censReg(formula = vacations ~ linc, data = Interview, method = "bfgs")
Observations:
Total Left-censored Uncensored Right-censored
1000 848 152 0
Coefficients:
Estimate Std. error t value Pr(> t)
(Intercept) -6.33252 0.53559 -11.823 < 0.0000000000000002 ***
linc 3.51493 0.46583 7.545 0.0000000000000451 ***
logSigma 1.81278 0.06231 29.091 < 0.0000000000000002 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
BFGS maximization, 44 iterations
Return code 0: successful convergence
Log-likelihood: -712.5855 on 3 Df
The mhurdle function has an argument "scaled". If its meaning is TRUE (default), the dependent variable is divided by its geometric mean. So, in this case estimated coefficients are scaled by the geometric mean of dependent variable. To obtain the standard result (tobit, censreg) just change "scaled" to FALSE.
summary(mhurdle(vacations ~ 0 | linc, data=Interview, dist="n", h2=T, scaled = FALSE))
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.