probit_linear_partial {endogeneity} | R Documentation |
The first stage is a probit model with partially observed (or unobserved) dependent variable, the second stage is a linear model that includes the first-stage dependent variable as a regressor.
probit_linear_partial(
form_probit,
form_linear,
data = NULL,
EM = TRUE,
par = NULL,
method = "BFGS",
verbose = 0,
accu = 10000,
maxIter = 500,
tol = 1e-06,
tol_LL = 1e-08
)
form_probit |
Formula for the first-stage probit model, in which the dependent variable is partially observed |
form_linear |
Formula for the second stage linear model. The partially observed dependent variable of the first stage is automatically added as a regressor in this model (do not add manually) |
data |
Input data, a data frame |
EM |
Whether to maximize likelihood use the Expectation-Maximization algorithm. EM is slower but more robust |
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_latent()
,
biprobit_partial()
,
biprobit()
,
pln_linear()
,
pln_probit()
,
probit_linear_latent()
,
probit_linear()
library(MASS)
N = 1000
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
observed_pct = 0.2
y1p = y1
y1p[sample(N, N*(1-observed_pct))] = NA
est_latent = probit_linear_partial(y1p~x+z, y2~x+z)
est_latent$estimates