Skip to contents

Runs the main debiasR adjustment methods on the same set of origin-destination inputs and returns a named list of adjusted-flow tables. This is useful when users want to compare methods with the same MPD flows, coverage table, benchmark flows, covariates, and distances.

Usage

adjust_all_methods(
  mpd_od_df,
  coverage_df,
  benchmark_od_df = NULL,
  covariates_df = NULL,
  distance_df = NULL,
  methods = "all",
  covariate_col = "rural_pct",
  multilevel_engine = c("frequentist", "bayesian"),
  inverse_penetration_args = list(),
  selection_rate_args = list(),
  selection_rate2_args = list(),
  raking_ratio_args = list(),
  coefficient_args = list(),
  multilevel_args = list()
)

Arguments

mpd_od_df

Data frame of MPD flows with at least origin, destination, and flow.

coverage_df

Data frame with at least origin, population, and user_count.

benchmark_od_df

Data frame of benchmark OD flows with at least origin, destination, and flow. Required for the benchmark-calibrated methods.

covariates_df

Area-level covariates with at least area and the selected covariate_col. Required for selection-rate and multilevel methods.

distance_df

OD distance data with origin, destination, and distance_km. Required when "multilevel_bayes" is included.

methods

Character vector of methods to fit. Use "all" for all supported methods. Supported values are "inverse_penetration", "selection_rate", "selection_rate2", "raking_ratio", "coefficient", and "multilevel_bayes".

covariate_col

Name of the area-level covariate used by the selection and default multilevel formulas. Default "rural_pct".

multilevel_engine

Fitting engine for adjust_multilevel_bayes() when "multilevel_bayes" is included. Default "frequentist".

inverse_penetration_args, selection_rate_args, selection_rate2_args, raking_ratio_args, coefficient_args, multilevel_args

Named lists of additional arguments passed to the corresponding adjustment functions. Values in these lists override the defaults used by adjust_all_methods().

Value

A named list of tibbles. Each element is the direct output returned by one adjustment function and contains a standard flow_adj column.

Details

By default, the function fits the five deterministic adjustment methods and the multilevel adjustment path. The multilevel path uses model_engine = "frequentist" by default so broad method comparisons are fast to run. Set multilevel_engine = "bayesian", or pass multilevel_args = list(model_engine = "bayesian", ...), when you want posterior summaries from adjust_multilevel_bayes().

Examples

results <- adjust_all_methods(
  mpd_od_df = simulated_mpd.od,
  coverage_df = simulated_coverage,
  benchmark_od_df = simulated_benchmark.od,
  covariates_df = simulated_covariates,
  distance_df = simulated_distance,
  covariate_col = "income_norm",
  methods = c("inverse_penetration", "coefficient")
)
names(results)
#> [1] "inverse_penetration" "coefficient"