ivpml | R Documentation |
Estimation of Probit model with one endogenous and continuous variable by Maximum Likelihood.
ivpml(formula, data, messages = TRUE, ...)
## S3 method for class 'ivpml'
terms(x, ...)
## S3 method for class 'ivpml'
model.matrix(object, ...)
## S3 method for class 'ivpml'
estfun(x, ...)
## S3 method for class 'ivpml'
bread(x, ...)
## S3 method for class 'ivpml'
vcov(object, ...)
## S3 method for class 'ivpml'
df.residual(object, ...)
## S3 method for class 'ivpml'
coef(object, ...)
## S3 method for class 'ivpml'
logLik(object, ...)
## S3 method for class 'ivpml'
print(x, ...)
## S3 method for class 'ivpml'
summary(object, eigentol = 1e-12, ...)
## S3 method for class 'summary.ivpml'
print(x, digits = max(3, getOption("digits") - 2), ...)
## S3 method for class 'ivpml'
predict(object, newdata = NULL, type = c("xb", "pr", "stdp"), asf = TRUE, ...)
formula |
a symbolic description of the model of the form |
data |
the data of class |
messages |
if |
... |
arguments passed to |
x, object |
an object of class |
eigentol |
the standard errors are only calculated if the ratio of the smallest and largest eigenvalue of the Hessian matrix is less than |
digits |
the number of digits. |
newdata |
optionally, a data frame in which to look for variables with which to predict. |
type |
the type of prediction required. The default, |
asf |
if |
The IV probit for cross-sectional data has the following structure:
y_{1i}^* = x_i^\top\beta + \gamma y_{2i}+ \epsilon_i,
with
y_{2i} = z_i^\top\delta + \upsilon_i,
where y_{1i}^*
is the latent (unobserved) dependent variable for individual i = 1,...,N
;
y_{2i}
is the endogenous continuous variable; z_i
is the vector of exogenous variables
which also includes the instruments for y_{2i}
;
and (\epsilon, \upsilon)
are normal jointly distributed.
The model is estimated using the maxLik
function from maxLik
package using
analytic gradient.
Mauricio Sarrias.
Greene, W. H. (2012). Econometric Analysis. 7 edition. Prentice Hall.
# Data
library("AER")
data("PSID1976")
PSID1976$lfp <- as.numeric(PSID1976$participation == "yes")
PSID1976$kids <- with(PSID1976, factor((youngkids + oldkids) > 0,
levels = c(FALSE, TRUE),
labels = c("no", "yes")))
# IV probit model by MLE
# (nwincome is endogenous and heducation is the additional instrument)
PSID1976$nwincome <- with(PSID1976, (fincome - hours * wage)/1000)
fiml.probit <- ivpml(lfp ~ education + experience + I(experience^2) + age +
youngkids + oldkids + nwincome |
education + experience + I(experience^2) + age +
youngkids + oldkids + heducation,
data = PSID1976)
summary(fiml.probit)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.