probit_linear {endogeneity} | R Documentation |
Estimate probit and linear models with bivariate normally distributed error terms. This command supports two models with opposite first and second stages.
1) Recursive Probit-Linear: the endogenous treatment effect model
2) Recursive Linear-Probit: the ivprobit model. The identification of this model requires an instrument.
This command still works if the first-stage dependent variable is not a regressor in the second stage.
probit_linear(
form_probit,
form_linear,
data = NULL,
par = NULL,
method = "BFGS",
init = c("zero", "unif", "norm", "default")[4],
verbose = 0,
accu = 10000
)
form_probit |
Formula for the probit model |
form_linear |
Formula for the linear model |
data |
Input data, a data frame |
par |
Starting values for estimates |
method |
Optimization algorithm. Default is BFGS |
init |
Initialization method |
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 |
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_latent()
,
biprobit_partial()
,
biprobit()
,
pln_linear()
,
pln_probit()
,
probit_linear_latent()
,
probit_linear_partial()
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 = 1 + x + z + y1 + e2
est = probit_linear(y1~x+z, y2~x+z+y1)
est$estimates