biprobit_latent {endogeneity} | R Documentation |
Estimate two probit models with bivariate normally distributed error terms, in which the dependent variable of the first stage model is unobserved. The identification of this model is weak if the first-stage does not include regressors that are good predictors of the first-stage dependent variable.
biprobit_latent(
form1,
form2,
data = NULL,
EM = FALSE,
par = NULL,
method = "BFGS",
verbose = 0,
accu = 10000,
maxIter = 500,
tol = 1e-05,
tol_LL = 1e-06
)
form1 |
Formula for the first probit model, in which the dependent variable is unobserved. Use a formula like ~x to avoid specifying the dependent variable. |
form2 |
Formula for the second probit model, the latent dependent variable of the first stage is automatically added as a regressor in this model |
data |
Input data, a data frame |
EM |
Whether to maximize likelihood use the Expectation-Maximization (EM) algorithm. |
par |
Starting values for estimates |
method |
Optimization algorithm. Default is BFGS |
verbose |
Level of output during estimation. Lowest is 0. |
accu |
1e12 for low accuracy; 1e7 for moderate accuracy; 10.0 for extremely high accuracy. See optim |
maxIter |
max iterations for EM algorithm |
tol |
tolerance for convergence of EM algorithm |
tol_LL |
tolerance for convergence of likelihood |
A list containing the results of the estimated model
Peng, Jing. (2022) Identification of Causal Mechanisms from Randomized Experiments: A Framework for Endogenous Mediation Analysis. Information Systems Research (Forthcoming), Available at SSRN: https://ssrn.com/abstract=3494856
Other endogeneity:
bilinear()
,
biprobit_partial()
,
biprobit()
,
pln_linear()
,
pln_probit()
,
probit_linear_latent()
,
probit_linear_partial()
,
probit_linear()
library(MASS)
N = 2000
rho = -0.5
set.seed(1)
x = rbinom(N, 1, 0.5)
z = rnorm(N)
e = mvrnorm(N, mu=c(0,0), Sigma=matrix(c(1,rho,rho,1), nrow=2))
e1 = e[,1]
e2 = e[,2]
y1 = as.numeric(1 + x + z + e1 > 0)
y2 = as.numeric(1 + x + z + y1 + e2 > 0)
est = biprobit(y1~x+z, y2~x+z+y1)
est$estimates
est_latent = biprobit_latent(~x+z, y2~x+z)
est_latent$estimates