bilinear {endogeneity}R Documentation

Recusrive Bivariate Linear Model

Description

Estimate two linear models with bivariate normally distributed error terms. This command still works if the first-stage dependent variable is not a regressor in the second stage. The identification of a recursive bilinear model requires an instrument for the first dependent variable.

Usage

bilinear(
  form1,
  form2,
  data = NULL,
  par = NULL,
  method = "BFGS",
  verbose = 0,
  accu = 10000
)

Arguments

form1

Formula for the first linear model

form2

Formula for the second linear model

data

Input data, a data frame

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

Value

A list containing the results of the estimated model

References

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

See Also

Other endogeneity: biprobit_latent(), biprobit_partial(), biprobit(), pln_linear(), pln_probit(), probit_linear_latent(), probit_linear_partial(), probit_linear()

Examples

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 = -1 + x + z + e1
y2 = -1 + x + y1 + e2

est = bilinear(y1~x+z, y2~x+y1)
est$estimates

[Package endogeneity version 2.0.1 Index]