Skip to contents

Tests whether the data generating process satisfies the key assumptions required for Lewbel's (2012) identification strategy. This includes testing the covariance restriction and instrument relevance condition.

Usage

verify_lewbel_assumptions(
  data = NULL,
  config = NULL,
  n_obs = 10000,
  params = NULL,
  verbose = TRUE
)

Arguments

data

Data.frame. Optional. Pre-generated data to verify (alternative to n_obs/params).

config

List. Optional. Configuration object (used with data parameter).

n_obs

Integer. Sample size for verification (default: 10000, used with params).

params

List. Parameters for the data generating process (same format as generate_lewbel_data).

verbose

Logical. Whether to print progress messages (default: TRUE).

Value

Invisibly returns a list with verification results and data.

Details

The function tests:

  • Assumption A2: Cov(Z, \(\epsilon_1 \epsilon_2\)) = 0 (covariance restriction)

  • Assumption A3: Cov(Z, \(\epsilon_2^2\)) != 0 (instrument relevance)

  • Endogeneity: Cov(\(\epsilon_1\), \(\epsilon_2\)) != 0

Can be called in two ways:

  1. verify_lewbel_assumptions(data, config) - using pre-generated data

  2. verify_lewbel_assumptions(n_obs = 10000, params = params) - generating new data

References

Lewbel, A. (2012). Using heteroscedasticity to identify and estimate mismeasured and endogenous regressor models. Journal of Business & Economic Statistics, 30(1), 67-80. doi:10.1080/07350015.2012.643126

See also

generate_lewbel_data for generating data that meets assumptions

Examples

if (FALSE) { # \dontrun{
config <- create_default_config()
params <- list(
  beta1_0 = config$beta1_0, beta1_1 = config$beta1_1, gamma1 = config$gamma1,
  beta2_0 = config$beta2_0, beta2_1 = config$beta2_1,
  alpha1 = config$alpha1, alpha2 = config$alpha2,
  delta_het = config$delta_het
)
verify_lewbel_assumptions(params = params)
} # }