## ----setup, include=FALSE-----------------------------------------------------
knitr::opts_chunk$set(echo = FALSE, message = FALSE, warning = FALSE)

## ----comparative-table--------------------------------------------------------
comparative <- data.frame(
  Criterion = c(
    "Fidelity to cognitive analogy",
    "Theoretical rigor",
    "Interpretability",
    "Expressive capacity of Delta",
    "Scalability to high dimension",
    "Uncertainty quantification",
    "Implementation effort",
    "Primary tools"
  ),
  Hierarchical_Bayesian = c(
    "High",
    "Very high",
    "High",
    "Moderate (parametric)",
    "Moderate",
    "Native (full posteriors)",
    "Moderate",
    "Stan, cmdstanr"
  ),
  Varying_Coefficient = c(
    "Moderate",
    "High",
    "Very high",
    "Moderate to high",
    "Low (curse of dim.)",
    "Asymptotic (CIs)",
    "High",
    "mgcv, splines"
  ),
  Hypernetwork = c(
    "Moderate",
    "Moderate",
    "Low",
    "Arbitrarily high",
    "High",
    "Requires extensions (MC dropout, etc.)",
    "Low",
    "torch"
  ),
  check.names = FALSE
)
knitr::kable(comparative, caption = "Comparison of the three estimation paths.")

## ----scenario-table-----------------------------------------------------------
scenarios <- data.frame(
  Scenario = c(
    "Few variables, interpretability central",
    "Complex structure, full uncertainty",
    "High dimension, nonlinear relations",
    "Inflated zeros (any kind)",
    "Dependent observations",
    "Multivariate response"
  ),
  Recommended_Path = c(
    "Varying-coefficient (Path 2)",
    "Hierarchical Bayesian (Path 1)",
    "Hypernetwork (Path 3)",
    "Any of the three, with mixture model",
    "Bayesian (more natural) or VCM with GEE",
    "Bayesian with copulas, or multi-output hypernetwork"
  ),
  check.names = FALSE
)
knitr::kable(scenarios, caption = "Recommended estimation path by problem scenario.")

