Learn R Programming

Rchoice (version 0.3-6)

ivpml: Estimate Instrumental Variable Probit model by Maximum Likelihood.

Description

Estimation of Probit model with one endogenous and continuous variable by Maximum Likelihood.

Usage

ivpml(formula, data, messages = TRUE, ...)

# S3 method for ivpml terms(x, ...)

# S3 method for ivpml model.matrix(object, ...)

# S3 method for ivpml estfun(x, ...)

# S3 method for ivpml bread(x, ...)

# S3 method for ivpml vcov(object, ...)

# S3 method for ivpml df.residual(object, ...)

# S3 method for ivpml coef(object, ...)

# S3 method for ivpml logLik(object, ...)

# S3 method for ivpml print(x, ...)

# S3 method for ivpml summary(object, eigentol = 1e-12, ...)

# S3 method for summary.ivpml print(x, digits = max(3, getOption("digits") - 2), ...)

# S3 method for ivpml predict(object, newdata = NULL, type = c("xb", "pr", "stdp"), asf = TRUE, ...)

Arguments

formula

a symbolic description of the model of the form y ~ x | z where y is the binary dependent variable, x includes the exogenous and the endogenous continuous variable, and z is the complete set of instruments.

data

the data of class data.frame.

messages

if TRUE, then additional messages for the estimation procedure are displayed.

...

arguments passed to maxLik.

x, object

an object of class ivpml.

eigentol

the standard errors are only calculated if the ratio of the smallest and largest eigenvalue of the Hessian matrix is less than eigentol. Otherwise the Hessian is treated as singular.

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, type = xb, is on the linear prediction. If type = pr, the predicted probabilities of a positive outcome is returned. Finally, if type = stdp the standard errors of the linear predictions for each individual is returned.

asf

if TRUE, the average structural function is used. This option is not allowed with xb or stdp.

Author

Mauricio Sarrias.

Details

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.

References

Greene, W. H. (2012). Econometric Analysis. 7 edition. Prentice Hall.

Examples

Run this code
# \donttest{ 
# 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)
# }

Run the code above in your browser using DataLab