From aa8b9b0bdfe230dffecddb61d7de3a602852cb1c Mon Sep 17 00:00:00 2001 From: cm401 Date: Mon, 4 May 2026 12:39:03 +0100 Subject: [PATCH 01/10] initial revision --- analysis/compare_factorised_vs_joint.R | 644 ++++++++++++++++ ...al_data_synthesis_summary_stats_joint.stan | 710 ++++++++++++++++++ man/compile_stan_model.Rd | 23 + 3 files changed, 1377 insertions(+) create mode 100644 analysis/compare_factorised_vs_joint.R create mode 100644 inst/stan/hierarchical_data_synthesis_summary_stats_joint.stan create mode 100644 man/compile_stan_model.Rd diff --git a/analysis/compare_factorised_vs_joint.R b/analysis/compare_factorised_vs_joint.R new file mode 100644 index 0000000..29b8fad --- /dev/null +++ b/analysis/compare_factorised_vs_joint.R @@ -0,0 +1,644 @@ +# ============================================================================= +# compare_factorised_vs_joint.R +# ----------------------------------------------------------------------------- +# Fits the joint-likelihood Stan model to the same real data used in +# main_analysis.R and produces a comparison table of posterior summaries +# under the two likelihoods. +# +# The likelihood differs only for summary_type 1 (median + range) and +# summary_type 2 (median + IQR), where the factorised model treats each +# reported order statistic independently while the joint model uses the +# true joint density of the three order statistics. Pathogens with no +# type-1/2 datasets are included in the table with a note that the two +# models are equivalent. +# +# Strategy +# -------- +# Rather than re-preparing data, the script reuses the stan_data objects +# stored in main_results.rds, ensuring an exact apples-to-apples comparison +# (same data, same priors, same MCMC settings). The "filtered" analysis is +# used throughout, matching the primary results in the paper. +# +# Output +# ------ +# results/comparison_factorised_vs_joint.rds — raw stanfit objects + summaries +# results/comparison_factorised_vs_joint.csv — formatted comparison table +# +# The RDS contains: +# $joint_results nested list: [[pathogen]][[dist]] with $fit, $stan_data +# $comparison_tbl data.frame with all summary columns for both models +# ============================================================================= + +devtools::load_all(here::here(), quiet = TRUE) +library(rstan) + +rstan_options(auto_write = TRUE) +options(mc.cores = parallel::detectCores()) + + +# ── 1. Settings ─────────────────────────────────────────────────────────────── + +CHAINS <- 4 +ITER <- 12000 +WARMUP <- 2000 +THIN <- 1 +SEED <- 123 +CONTROL <- list(adapt_delta = 0.999, max_treedepth = 12, stepsize = 0.01) + +# Analysis label to compare (must exist in main_results.rds). +ANALYSIS_LABEL <- "filtered" + +# Distributions to include. Set to NULL to use every distribution present +# in the existing results for each pathogen. +DIST_NAMES <- c("lognormal", "gamma", "weibull", "burr", "gengamma") + +# Credible interval width for formatted cells. +CI_PROBS <- c(0.025, 0.5, 0.975) + +OUTPUT_DIR <- here::here("results") +OUTPUT_FILE <- file.path(OUTPUT_DIR, "comparison_factorised_vs_joint.rds") +CSV_FILE <- file.path(OUTPUT_DIR, "comparison_factorised_vs_joint.csv") + +dir.create(OUTPUT_DIR, showWarnings = FALSE) + +# Wipe joint results and refit from scratch when TRUE. +FORCE_RERUN <- FALSE + + +# ── 2. Compile Stan models ──────────────────────────────────────────────────── + +stan_file_fact <- system.file("stan", + "hierarchical_data_synthesis_summary_stats.stan", + package = "ddsynth") +stan_file_joint <- system.file("stan", + "hierarchical_data_synthesis_summary_stats_joint.stan", + package = "ddsynth") + +message("Compiling factorised Stan model...") +stan_model_fact <- rstan::stan_model(stan_file_fact) + +message("Compiling joint Stan model...") +stan_model_joint <- rstan::stan_model(stan_file_joint) + + +# ── 3. Load main results ────────────────────────────────────────────────────── + +main_results_file <- file.path(OUTPUT_DIR, "main_results.rds") +if (!file.exists(main_results_file)) + stop("main_results.rds not found in ", OUTPUT_DIR, + " — run main_analysis.R first.") + +message("Loading main results from: ", main_results_file) +main_results <- readRDS(main_results_file) + + +# ── 4. Load or initialise joint results ────────────────────────────────────── + +if (!FORCE_RERUN && file.exists(OUTPUT_FILE)) { + message("Resuming from existing comparison file: ", OUTPUT_FILE) + stored <- readRDS(OUTPUT_FILE) + joint_results <- stored$joint_results +} else { + joint_results <- list() +} + + +# ── 5. Helper functions ─────────────────────────────────────────────────────── + +# Format a posterior sample vector as "median (lo, hi)". +.fmt <- function(x, digits = 2L) { + x <- x[is.finite(x)] + if (length(x) == 0L) return(NA_character_) + q <- quantile(x, CI_PROBS) + sprintf("%.*f (%.*f, %.*f)", digits, q[2L], digits, q[1L], digits, q[3L]) +} + +# Extract comparison row for one stanfit. +# Returns a named list of formatted strings and raw posterior medians. +.extract_summaries <- function(fit, dist_name, n_datasets) { + sims <- tryCatch(rstan::extract(fit), error = function(e) NULL) + if (is.null(sims)) return(NULL) + + tau_fmt <- if (n_datasets < 5L) + "— (n<5)" + else + .fmt(sims$tau, digits = 2L) + + kappa_fmt <- if (dist_name %in% c("burr", "gengamma") && !is.null(sims$kappa)) + .fmt(sims$kappa, digits = 2L) + else + NA_character_ + + list( + pred_median_fmt = .fmt(sims$pred_median, digits = 1L), + pred_q95_fmt = .fmt(sims$pred_q95, digits = 1L), + mu0_fmt = .fmt(sims$mu0, digits = 2L), + phi_fmt = .fmt(sims$phi, digits = 2L), + tau_fmt = tau_fmt, + kappa_fmt = kappa_fmt, + # Raw posterior medians for computing deltas + pred_median_med = median(sims$pred_median[is.finite(sims$pred_median)]), + pred_q95_med = median(sims$pred_q95[is.finite(sims$pred_q95)]), + mu0_med = median(sims$mu0), + phi_med = median(sims$phi), + tau_med = if (n_datasets >= 5L) median(sims$tau) else NA_real_ + ) +} + + +# ── 6. Fit joint model for each pathogen × distribution ────────────────────── + +pathogens <- names(main_results) + +for (pathogen in pathogens) { + + if (is.null(joint_results[[pathogen]])) + joint_results[[pathogen]] <- list() + + analysis_slot <- main_results[[pathogen]][[ANALYSIS_LABEL]] + if (is.null(analysis_slot)) { + message("\n [SKIP] ", pathogen, ": no '", ANALYSIS_LABEL, "' analysis in main results.") + next + } + + dists_to_run <- if (is.null(DIST_NAMES)) names(analysis_slot) else DIST_NAMES + + for (dist_name in dists_to_run) { + + existing_fact <- analysis_slot[[dist_name]] + + # Skip distributions that were skipped or failed in the main analysis. + if (is.null(existing_fact)) next + if (isTRUE(existing_fact$skipped)) { + message("\n [SKIP] ", pathogen, " / ", dist_name, + " — skipped in main analysis (", existing_fact$reason, ").") + next + } + if (is.null(existing_fact$fit) || is.null(existing_fact$stan_data)) { + message("\n [SKIP] ", pathogen, " / ", dist_name, " — no fit or stan_data.") + next + } + + # Skip if already fitted in a previous run. + if (!is.null(joint_results[[pathogen]][[dist_name]])) { + message("\n [SKIP] ", pathogen, " / ", dist_name, + " — joint fit already in results.") + next + } + + stan_data <- existing_fact$stan_data + n_type12 <- sum(stan_data$summary_type %in% c(1L, 2L)) + + # When no type-1/2 datasets are present the two likelihoods are identical; + # store a sentinel rather than wasting compute. + if (n_type12 == 0L) { + message("\n [NOTE] ", pathogen, " / ", dist_name, + " — no type-1/2 datasets; likelihoods identical; storing sentinel.") + joint_results[[pathogen]][[dist_name]] <- list( + identical_likelihood = TRUE, + stan_data = stan_data + ) + next + } + + message("\n Fitting joint model: ", pathogen, " | ", dist_name, + " (n_datasets=", stan_data$n_datasets, + ", n_type12=", n_type12, ")") + + fit_joint <- tryCatch( + rstan::sampling( + stan_model_joint, + data = stan_data, + chains = CHAINS, + iter = ITER, + warmup = WARMUP, + thin = THIN, + control = CONTROL, + seed = SEED, + refresh = 200 + ), + error = function(e) { + message(" [FAIL] Joint sampling failed: ", conditionMessage(e)) + NULL + } + ) + + joint_results[[pathogen]][[dist_name]] <- list( + fit = fit_joint, + stan_data = stan_data, + identical_likelihood = FALSE + ) + + # Persist after each fit so a crash does not lose earlier work. + saveRDS(list(joint_results = joint_results), OUTPUT_FILE) + } +} + +message("\n All joint fits complete.") + + +# ── 7. Build comparison table ───────────────────────────────────────────────── + +dist_labels <- c( + lognormal = "Log-normal", + gamma = "Gamma", + weibull = "Weibull", + burr = "Burr XII", + gengamma = "Gen. gamma" +) + +rows <- list() + +for (pathogen in pathogens) { + + analysis_slot <- main_results[[pathogen]][[ANALYSIS_LABEL]] + if (is.null(analysis_slot)) next + + dists_to_run <- if (is.null(DIST_NAMES)) names(analysis_slot) else DIST_NAMES + + for (dist_name in dists_to_run) { + + fact_res <- analysis_slot[[dist_name]] + joint_res <- joint_results[[pathogen]][[dist_name]] + + # Skip entirely absent or failed entries. + if (is.null(fact_res)) next + if (isTRUE(fact_res$skipped)) next + if (is.null(fact_res$fit) || is.null(fact_res$stan_data)) next + + stan_data <- fact_res$stan_data + n_type12 <- sum(stan_data$summary_type %in% c(1L, 2L)) + + fact_summ <- .extract_summaries(fact_res$fit, dist_name, stan_data$n_datasets) + if (is.null(fact_summ)) next + + # Joint summaries: either extracted from fit, or copied from factorised + # when the likelihoods are identical (no type-1/2 data). + if (!is.null(joint_res) && isTRUE(joint_res$identical_likelihood)) { + joint_summ <- fact_summ # identical by construction + note <- "identical (no type-1/2 data)" + } else if (!is.null(joint_res) && !is.null(joint_res$fit)) { + joint_summ <- .extract_summaries(joint_res$fit, dist_name, stan_data$n_datasets) + note <- "" + } else { + joint_summ <- NULL + note <- "joint fit unavailable" + } + + row <- data.frame( + pathogen = pathogen, + dist = dist_labels[[dist_name]], + n_datasets = stan_data$n_datasets, + n_type12 = n_type12, + note = note, + + # Factorised model + fact_pred_median = if (!is.null(fact_summ)) fact_summ$pred_median_fmt else NA, + fact_pred_q95 = if (!is.null(fact_summ)) fact_summ$pred_q95_fmt else NA, + fact_mu0 = if (!is.null(fact_summ)) fact_summ$mu0_fmt else NA, + fact_phi = if (!is.null(fact_summ)) fact_summ$phi_fmt else NA, + fact_tau = if (!is.null(fact_summ)) fact_summ$tau_fmt else NA, + + # Joint model + joint_pred_median = if (!is.null(joint_summ)) joint_summ$pred_median_fmt else NA, + joint_pred_q95 = if (!is.null(joint_summ)) joint_summ$pred_q95_fmt else NA, + joint_mu0 = if (!is.null(joint_summ)) joint_summ$mu0_fmt else NA, + joint_phi = if (!is.null(joint_summ)) joint_summ$phi_fmt else NA, + joint_tau = if (!is.null(joint_summ)) joint_summ$tau_fmt else NA, + + # Absolute difference in posterior median point estimates (joint - factorised) + delta_pred_median = if (!is.null(fact_summ) && !is.null(joint_summ)) + round(joint_summ$pred_median_med - fact_summ$pred_median_med, 2L) + else NA_real_, + delta_pred_q95 = if (!is.null(fact_summ) && !is.null(joint_summ)) + round(joint_summ$pred_q95_med - fact_summ$pred_q95_med, 2L) + else NA_real_, + + stringsAsFactors = FALSE + ) + + rows[[length(rows) + 1L]] <- row + } +} + +comparison_tbl <- do.call(rbind, rows) +rownames(comparison_tbl) <- NULL + + +# ── 8. Save and print ─────────────────────────────────="────────────────────── + +saveRDS( + list(joint_results = joint_results, comparison_tbl = comparison_tbl), + OUTPUT_FILE +) +message("\nRDS saved to: ", OUTPUT_FILE) + +write.csv(comparison_tbl, CSV_FILE, row.names = FALSE) +message("CSV saved to: ", CSV_FILE) + + +# ── 9. Print formatted table ────────────────────────────────────────────────── + +message("\n", strrep("=", 80)) +message("COMPARISON: FACTORISED vs JOINT LIKELIHOOD (analysis = '", + ANALYSIS_LABEL, "')") +message(strrep("=", 80)) +message( + "\nColumns:\n", + " pathogen : pathogen name\n", + " dist : distribution\n", + " n_datasets : total number of datasets\n", + " n_type12 : datasets with type-1/2 (order-statistic) summaries\n", + " note : 'identical' when n_type12=0; blank otherwise\n", + " fact_*/joint_* : posterior median (2.5%, 97.5%) for each model\n", + " delta_pred_median : joint minus factorised posterior median of pred_median\n", + " delta_pred_q95 : joint minus factorised posterior median of pred_q95\n" +) + +# Print in two blocks: predicted quantities and parameters. +cols_pred <- c("pathogen", "dist", "n_datasets", "n_type12", + "fact_pred_median", "joint_pred_median", "delta_pred_median", + "fact_pred_q95", "joint_pred_q95", "delta_pred_q95", + "note") +cols_params <- c("pathogen", "dist", "n_datasets", "n_type12", + "fact_mu0", "joint_mu0", + "fact_phi", "joint_phi", + "fact_tau", "joint_tau", + "note") + +message("\n--- Predicted quantities (days) ---\n") +print(comparison_tbl[, intersect(cols_pred, names(comparison_tbl))], + row.names = FALSE, right = FALSE) + +message("\n--- Parameter estimates ---\n") +print(comparison_tbl[, intersect(cols_params, names(comparison_tbl))], + row.names = FALSE, right = FALSE) + +message("\n", strrep("=", 80)) +message("Done.") + + +# ── 10. LaTeX comparison table ──────────────────────────────────────────────── +# +# Layout: two rows per (pathogen × distribution) pair — factorised on top, +# joint below. This keeps the column count to 12, which fits comfortably in +# landscape A4 at \footnotesize with \tabcolsep = 4 pt. +# +# Columns: +# Pathogen | Distribution | N | n_12 | Model | Median | p_95 | +# mu_0 | phi | tau | Delta-Median | Delta-p_95 +# +# Distribution, N, and n_12 use \multirow{2} to span both rows of each pair. +# Pathogen is shown in bold on the first factorised row of each group; the +# cell is left blank for subsequent rows (avoids variable-count multirow spans). +# A thin \cmidrule separates distribution pairs within a pathogen group; +# \midrule separates pathogen groups. +# +# Requires in the LaTeX preamble: +# \usepackage{booktabs} +# \usepackage{longtable} +# \usepackage{multirow} +# \usepackage{pdflscape} +# \usepackage[table]{xcolor} % for \rowcolor % or lscape + +.generate_comparison_latex_table <- function( + tbl, + pathogen_order = NULL, + caption = paste0( + "Comparison of posterior summaries under the factorised and joint ", + "order-statistic likelihoods (\\textit{filtered} analysis). ", + "Each pair of rows corresponds to one pathogen--distribution combination; ", + "the upper row gives results under the factorised model and the lower row ", + "under the joint model. ", + "$N$: total number of datasets; ", + "$n_{12}$: datasets contributing a type-1 (median\\,+\\,range) or ", + "type-2 (median\\,+\\,IQR) summary, i.e.\\ those for which the two ", + "likelihoods differ. ", + "All posterior summaries are reported as median (2.5\\%ile, 97.5\\%ile). ", + "$\\tau$ is shown as \\texttt{---} when $N < 5$ (prior-dominated). ", + "$\\Delta$: joint minus factorised posterior median of the predictive ", + "quantity (days). ", + "$^{\\dagger}$\\,No type-1/2 datasets present; the two likelihoods are ", + "identical and the joint row repeats the factorised estimates." + ), + label = "tab:comparison_factorised_joint" +) { + + # ── Helpers ───────────────────────────────────────────────────────────────── + + .esc <- function(x) { + x <- gsub("_", "\\_", x, fixed = TRUE) + x <- gsub("&", "\\&", x, fixed = TRUE) + x <- gsub("%", "\\%", x, fixed = TRUE) + x + } + + .cell <- function(x) { + if (is.na(x) || x == "") return("---") + x + } + + .delta_fmt <- function(d) { + if (is.na(d)) return("---") + sprintf("%+.2f", d) + } + + # ── Pathogen display labels ────────────────────────────────────────────────── + + plabels <- c( + Nipah = "Nipah", MVD = "Marburg (MVD)", + EVD = "Ebola (EVD)", Lassa = "Lassa fever", + SARS = "SARS", MERS = "MERS", + Zika = "Zika", Measles = "Measles", + Mpox = "Mpox", Cholera = "Cholera", + RVF = "Rift Valley fever", CCHF = "CCHF", + COVID_19 = "COVID-19", Dengue = "Dengue", + YFV = "Yellow fever", Typhoid = "Typhoid", + Smallpox = "Smallpox", Flu = "Influenza" + ) + + if (is.null(pathogen_order)) + pathogen_order <- unique(tbl$pathogen) + + # ── Column spec ────────────────────────────────────────────────────────────── + # Total nominal content width ≈ 194 mm; with \tabcolsep=4pt fits A4 landscape. + + col_spec <- paste0( + "@{} ", + "p{2.5cm} ", # 1 Pathogen + "p{1.6cm} ", # 2 Distribution + "r ", # 3 N + "r ", # 4 n_12 + "l ", # 5 Model + "p{2.3cm} ", # 6 Median (days) + "p{2.3cm} ", # 7 p_95 (days) + "p{2.2cm} ", # 8 mu_0 + "p{3.0cm} ", # 9 phi + "p{2.0cm} ", # 10 tau + "r ", # 11 Delta Median + "r ", # 12 Delta p_95 + "@{}" + ) + + # ── Header rows ────────────────────────────────────────────────────────────── + + span_header <- paste0( + "\\rowcolor[HTML]{F0E68C}", + " & & & & ", + "& \\multicolumn{5}{c}{Posterior summary --- median (95\\% CI)} ", + "& \\multicolumn{2}{c}{$\\Delta$ (joint $-$ fact.)} \\\\" + ) + span_cmidrule <- "\\cmidrule(lr){6-10} \\cmidrule(lr){11-12}" + + col_header <- paste0( + "\\rowcolor[HTML]{F0E68C}", + "Pathogen & Distribution & $N$ & $n_{12}$ & Model ", + "& Median (days) & $p_{95}$ (days) & $\\mu_0$ & $\\phi$ & $\\tau$ ", + "& Median & $p_{95}$ \\\\" + ) + + make_head <- function(is_first) { + c( + if (!is_first) + "\\multicolumn{12}{l}{\\small\\textit{continued from previous page}} \\\\", + "\\toprule", + span_header, + span_cmidrule, + col_header, + "\\midrule" + ) + } + + # ── Table body ─────────────────────────────────────────────────────────────── + + body <- character(0) + first_pathogen <- TRUE + + for (pathogen in pathogen_order) { + + sub <- tbl[tbl$pathogen == pathogen, , drop = FALSE] + if (nrow(sub) == 0L) next + + plabel <- if (!is.na(plabels[pathogen])) plabels[[pathogen]] else pathogen + + if (!first_pathogen) + body <- c(body, "\\midrule") + first_pathogen <- FALSE + + for (i in seq_len(nrow(sub))) { + + row <- sub[i, ] + + is_identical <- grepl("identical", row$note, fixed = FALSE) + joint_unavail <- grepl("unavailable", row$note, fixed = FALSE) + + # ── Factorised row ────────────────────────────────────────────────────── + + # Pathogen label: bold on first dist row only; blank thereafter. + path_cell <- if (i == 1L) + paste0("\\textbf{", .esc(plabel), "}") + else + "" + + fact_cells <- paste( + path_cell, + paste0("\\multirow{2}{*}{", .esc(row$dist), "}"), + paste0("\\multirow{2}{*}{", row$n_datasets, "}"), + paste0("\\multirow{2}{*}{", row$n_type12, "}"), + "Factorised", + .cell(row$fact_pred_median), + .cell(row$fact_pred_q95), + .cell(row$fact_mu0), + .cell(row$fact_phi), + .cell(row$fact_tau), + "", # Delta Median: blank on factorised row + "", # Delta p_95: blank on factorised row + sep = " & " + ) + body <- c(body, paste0(fact_cells, " \\\\")) + + # ── Joint row ────────────────────────────────────────────────────────── + + model_lbl <- if (is_identical) "Joint$^{\\dagger}$" + else if (joint_unavail) "Joint (failed)" + else "Joint" + + j_median <- if (joint_unavail) "---" else .cell(row$joint_pred_median) + j_q95 <- if (joint_unavail) "---" else .cell(row$joint_pred_q95) + j_mu0 <- if (joint_unavail) "---" else .cell(row$joint_mu0) + j_phi <- if (joint_unavail) "---" else .cell(row$joint_phi) + j_tau <- if (joint_unavail) "---" else .cell(row$joint_tau) + + d_median <- if (joint_unavail || is_identical) "---" + else .delta_fmt(row$delta_pred_median) + d_q95 <- if (joint_unavail || is_identical) "---" + else .delta_fmt(row$delta_pred_q95) + + joint_cells <- paste( + "", # Pathogen: blank (multirow from fact row covers it) + "", # Dist: blank + "", # N: blank + "", # n_12: blank + model_lbl, + j_median, j_q95, j_mu0, j_phi, j_tau, + d_median, d_q95, + sep = " & " + ) + body <- c(body, paste0(joint_cells, " \\\\")) + + # Thin rule between distribution pairs within the same pathogen group, + # but not after the last distribution for this pathogen. + if (i < nrow(sub)) + body <- c(body, "\\cmidrule(l{4pt}r{0pt}){2-12}") + + } + } + + # ── Assemble full table ────────────────────────────────────────────────────── + + lines <- c( + "% ============================================================", + "% Comparison table: factorised vs joint order-statistic likelihood", + "% Required LaTeX packages: booktabs, longtable, multirow, pdflscape, xcolor (table)", + "% ============================================================", + "{\\setlength{\\tabcolsep}{4pt}", + "\\begin{landscape}", + "\\footnotesize", + paste0("\\begin{longtable}{", col_spec, "}"), + paste0("\\caption{", caption, "}\\label{", label, "} \\\\"), + make_head(is_first = TRUE), + "\\endfirsthead", + make_head(is_first = FALSE), + "\\endhead", + "\\multicolumn{12}{r}{\\small\\textit{continued on next page}} \\\\", + "\\endfoot", + "\\bottomrule", + paste0( + "\\multicolumn{12}{l}{\\footnotesize", + " $^{\\dagger}$\\,No type-1/2 datasets; joint and factorised", + " likelihoods are identical.} \\\\" + ), + "\\endlastfoot", + body, + "\\end{longtable}", + "\\end{landscape}", + "} % end \\setlength{\\tabcolsep}" + ) + + paste(lines, collapse = "\n") +} + + +# ── Generate, write, and echo the table ────────────────────────────────────── + +latex_table <- .generate_comparison_latex_table(comparison_tbl) + +latex_file <- file.path(OUTPUT_DIR, "comparison_factorised_vs_joint.tex") +writeLines(latex_table, latex_file) +message("\nLaTeX table written to: ", latex_file) + +# Echo to console so it can be copied directly. +message("\n", strrep("-", 80)) +message("LaTeX table (copy into document):\n") +cat(latex_table, "\n") +message(strrep("-", 80)) diff --git a/inst/stan/hierarchical_data_synthesis_summary_stats_joint.stan b/inst/stan/hierarchical_data_synthesis_summary_stats_joint.stan new file mode 100644 index 0000000..2acad4c --- /dev/null +++ b/inst/stan/hierarchical_data_synthesis_summary_stats_joint.stan @@ -0,0 +1,710 @@ +// hierarchical_data_synthesis_summary_stats_joint.stan +// +// Identical to hierarchical_data_synthesis_summary_stats.stan except that +// summary types 1 (median+range) and 2 (median+IQR) use the joint density of +// three order statistics rather than the product of their marginals. +// +// The joint density of order statistics X_(i1) < X_(i2) < X_(i3) from n IID +// observations with CDF F and density f is: +// +// f(x1,x2,x3) = n! / [(i1-1)! (i2-i1-1)! (i3-i2-1)! (n-i3)!] +// * F(x1)^{i1-1} * f(x1) +// * [F(x2)-F(x1)]^{i2-i1-1} * f(x2) +// * [F(x3)-F(x2)]^{i3-i2-1} * f(x3) +// * [1-F(x3)]^{n-i3} +// +// Gap terms with zero exponent are omitted to avoid 0*(-Inf) = NaN. +// Gaps are computed via log_diff_exp for numerical stability. + +functions { + // CDF for each distribution + real dist_cdf_fun(real x, int dist_type, real loc, real phi, real kappa) { + if (dist_type == 1) { // lognormal + return lognormal_cdf(x | loc, phi); + } else if (dist_type == 2) { // gamma + real mean_d = exp(loc); + real shape = phi; + real rate = shape / mean_d; + return gamma_cdf(x | shape, rate); + } else if (dist_type == 3) { // weibull + real scale = exp(loc); + real shape = phi; + return weibull_cdf(x | shape, scale); + } else if (dist_type == 4) { // burr XII: lambda=exp(loc), c=phi, k=kappa + real u = log(x) - loc; + return -expm1(-kappa * log1p_exp(phi * u)); + } else if (dist_type == 5) { // generalised gamma (Prentice): mu=loc, sigma=phi, Q=kappa + real gamma_shape = 1.0 / (kappa * kappa); + real w = (log(x) - loc) / phi; + return gamma_cdf(gamma_shape * exp(kappa * w) | gamma_shape, 1); + } + return 0; + } + + // "log pdf" for each distribution + real dist_logpdf_fun(real x, int dist_type, real loc, real phi, real kappa) { + if (dist_type == 1) { // lognormal + return lognormal_lpdf(x | loc, phi); + } else if (dist_type == 2) { // gamma + real mean_d = exp(loc); + real shape = phi; + real rate = shape / mean_d; + return gamma_lpdf(x | shape, rate); + } else if (dist_type == 3) { // weibull + real scale = exp(loc); + real shape = phi; + return weibull_lpdf(x | shape, scale); + } else if (dist_type == 4) { // burr XII: lambda=exp(loc), c=phi, k=kappa + real u = log(x) - loc; + real log_term = log1p_exp(phi * u); // log(1 + (x/lambda)^c) + return log(phi) + log(kappa) + (phi - 1) * u - loc - (kappa + 1) * log_term; + } else if (dist_type == 5) { // generalised gamma (Prentice): mu=loc, sigma=phi, Q=kappa + real gamma_shape = 1.0 / (kappa * kappa); + real w = (log(x) - loc) / phi; + return log(kappa) - log(phi) - log(x) + + gamma_shape * log(gamma_shape) + + gamma_shape * kappa * w + - gamma_shape * exp(kappa * w) + - lgamma(gamma_shape); + } + return 0; + } + + // Log-scale CDF for each distribution. + real dist_log_cdf_fun(real x, int dist_type, real loc, real phi, real kappa) { + if (dist_type == 1) { // lognormal + return lognormal_lcdf(x | loc, phi); + } else if (dist_type == 2) { // gamma + real mean_d = exp(loc); + real rate = phi / mean_d; + return gamma_lcdf(x | phi, rate); + } else if (dist_type == 3) { // weibull + real scale = exp(loc); + return weibull_lcdf(x | phi, scale); + } else if (dist_type == 4) { // burr XII: lambda=exp(loc), c=phi, k=kappa + real u = log(x) - loc; + return log1m_exp(-kappa * log1p_exp(phi * u)); + } else if (dist_type == 5) { // generalised gamma (Prentice): mu=loc, sigma=phi, Q=kappa + real gamma_shape = 1.0 / (kappa * kappa); + real w = (log(x) - loc) / phi; + return gamma_lcdf(gamma_shape * exp(kappa * w) | gamma_shape, 1); + } + return negative_infinity(); + } + + // Log-scale CCDF (log survivor function) for each distribution. + real dist_log_ccdf_fun(real x, int dist_type, real loc, real phi, real kappa) { + if (dist_type == 1) { // lognormal + return lognormal_lccdf(x | loc, phi); + } else if (dist_type == 2) { // gamma + real mean_d = exp(loc); + real rate = phi / mean_d; + return gamma_lccdf(x | phi, rate); + } else if (dist_type == 3) { // weibull + real scale = exp(loc); + return weibull_lccdf(x | phi, scale); + } else if (dist_type == 4) { // burr XII: log CCDF = -k * log(1 + (x/lambda)^c) + real u = log(x) - loc; + return -kappa * log1p_exp(phi * u); + } else if (dist_type == 5) { // generalised gamma (Prentice) + real gamma_shape = 1.0 / (kappa * kappa); + real w = (log(x) - loc) / phi; + return gamma_lccdf(gamma_shape * exp(kappa * w) | gamma_shape, 1); + } + return negative_infinity(); + } + + // Log likelihood for order statistic: + // k-th order statistic out of n observations. + real order_stat_logpdf_fun(real x, int n, int k, int dist_type, real loc, real phi, real kappa) { + real log_f; + real log_F = 0.0; + real log_1mF = 0.0; + + if (dist_type == 1) { // lognormal + log_f = lognormal_lpdf(x | loc, phi); + log_F = lognormal_lcdf(x | loc, phi); + log_1mF = lognormal_lccdf(x | loc, phi); + + } else if (dist_type == 2) { // gamma + real mean_d = exp(loc); + real rate = phi / mean_d; + log_f = gamma_lpdf(x | phi, rate); + log_F = gamma_lcdf(x | phi, rate); + log_1mF = gamma_lccdf(x | phi, rate); + + } else if (dist_type == 3) { // weibull + real scale = exp(loc); + log_f = weibull_lpdf(x | phi, scale); + log_F = weibull_lcdf(x | phi, scale); + log_1mF = weibull_lccdf(x | phi, scale); + + } else if (dist_type == 4) { // burr XII: lambda=exp(loc), c=phi, k=kappa + real u = log(x) - loc; + real log_term = log1p_exp(phi * u); + log_f = log(phi) + log(kappa) + (phi - 1) * u - loc - (kappa + 1) * log_term; + log_1mF = -kappa * log_term; + log_F = log1m_exp(log_1mF); + + } else if (dist_type == 5) { // generalised gamma (Prentice) + real gamma_shape = 1.0 / (kappa * kappa); + real w = (log(x) - loc) / phi; + real arg = gamma_shape * exp(kappa * w); + log_f = log(kappa) - log(phi) - log(x) + + gamma_shape * log(gamma_shape) + + gamma_shape * kappa * w + - arg + - lgamma(gamma_shape); + if (k > 1) log_F = gamma_lcdf(arg | gamma_shape, 1); + if (k < n) log_1mF = gamma_lccdf(arg | gamma_shape, 1); + } + + real log_dens = lchoose(n, k) + log_f; + if (k > 1) log_dens += (k - 1) * log_F; + if (k < n) log_dens += (n - k) * log_1mF; + return log_dens; + } + + // Joint log density of three order statistics x1 < x2 < x3 with ranks + // i1 < i2 < i3 from a sample of size n. + // + // log f(x1,x2,x3) = log_nc + // + (i1-1)*log_F(x1) [omitted when i1==1] + // + log_f(x1) + // + (i2-i1-1)*log[F(x2)-F(x1)] [omitted when i2-i1==1] + // + log_f(x2) + // + (i3-i2-1)*log[F(x3)-F(x2)] [omitted when i3-i2==1] + // + log_f(x3) + // + (n-i3)*log[1-F(x3)] [omitted when i3==n] + // + // where log_nc = lgamma(n+1) - lgamma(i1) - lgamma(i2-i1) - lgamma(i3-i2) + // - lgamma(n-i3+1) + real joint_3_order_stat_logpdf( + real x1, real x2, real x3, + int i1, int i2, int i3, + int n, + int dist_type, real loc, real phi, real kappa + ) { + real log_nc = lgamma(n + 1) + - lgamma(i1) + - lgamma(i2 - i1) + - lgamma(i3 - i2) + - lgamma(n - i3 + 1); + + real log_f1 = dist_logpdf_fun(x1, dist_type, loc, phi, kappa); + real log_f2 = dist_logpdf_fun(x2, dist_type, loc, phi, kappa); + real log_f3 = dist_logpdf_fun(x3, dist_type, loc, phi, kappa); + + real log_F1 = dist_log_cdf_fun(x1, dist_type, loc, phi, kappa); + real log_F2 = dist_log_cdf_fun(x2, dist_type, loc, phi, kappa); + real log_F3 = dist_log_cdf_fun(x3, dist_type, loc, phi, kappa); + real log_1mF3 = dist_log_ccdf_fun(x3, dist_type, loc, phi, kappa); + + real lp = log_nc + log_f1 + log_f2 + log_f3; + + if (i1 > 1) lp += (i1 - 1) * log_F1; + if (i2 - i1 > 1) lp += (i2 - i1 - 1) * log_diff_exp(log_F2, log_F1); + if (i3 - i2 > 1) lp += (i3 - i2 - 1) * log_diff_exp(log_F3, log_F2); + if (i3 < n) lp += (n - i3) * log_1mF3; + + return lp; + } + + // Helper function to compute gamma quantile approximation + real gamma_quantile_approx(real p, real shape, real scale) { + real z = inv_Phi(p); + if (shape > 1) { + return shape * scale * pow(1 - 1.0/(9*shape) + z/(3*sqrt(shape)), 3); + } else { + return shape * scale * (1 + z / sqrt(shape)); + } + } +} + +data { + int n_datasets; + array[n_datasets] int n_obs; + array[n_datasets] int summary_type; + int dist_type; + + array[n_datasets] real obs_stat1; + array[n_datasets] real obs_stat2; + array[n_datasets] real obs_stat3; + + int n_freq_total; + array[n_freq_total] real freq_value; + array[n_freq_total] int freq_count; + array[n_datasets] int freq_start; + array[n_datasets] int freq_len; + + array[n_freq_total] real freq_lower; + array[n_freq_total] real freq_upper; + + real mu0_mean; + real mu0_sd; + + real log_tau_mean; + real log_tau_sd; + + real log_phi_mean; + real log_phi_sd; + + real log_kappa_mean; + real log_kappa_sd; +} + +transformed data { + real z_q25 = -0.6745; + real z_q75 = 0.6745; + real z_q90 = 1.28155; + real z_q95 = 1.64485; + + for (d in 1:n_datasets) { + if (summary_type[d] == 1) { + if (obs_stat2[d] > obs_stat1[d] || obs_stat1[d] > obs_stat3[d]) { + reject("For summary_type=1, must have min <= median <= max"); + } + } else if (summary_type[d] == 2) { + if (obs_stat2[d] > obs_stat1[d] || obs_stat1[d] > obs_stat3[d]) { + reject("For summary_type=2, must have q25 <= median <= q75"); + } + } else if (summary_type[d] == 4) { + if (freq_len[d] == 0) { + reject("For summary_type=4, freq_len must be > 0"); + } + } else if (summary_type[d] == 5) { + if (freq_len[d] == 0) { + reject("For summary_type=5, freq_len must be > 0"); + } + } + } +} + +parameters { + real mu0; + real log_tau; + real log_phi; + real log_kappa; + vector[n_datasets] loc_d_raw; +} + +transformed parameters { + real tau = exp(log_tau); + real phi = exp(log_phi); + real kappa = exp(log_kappa); + vector[n_datasets] loc_d = mu0 + tau * loc_d_raw; +} + +model { + mu0 ~ normal(mu0_mean, mu0_sd); + log_tau ~ normal(log_tau_mean, log_tau_sd); + log_phi ~ normal(log_phi_mean, log_phi_sd); + log_kappa ~ normal(log_kappa_mean, log_kappa_sd); + + loc_d_raw ~ std_normal(); + + for (d in 1:n_datasets) { + real loc = loc_d[d]; + int n = n_obs[d]; + + if (summary_type[d] == 1) { // median + range: joint density of (min, median, max) + int k_median = (n + 1) %/% 2; + target += joint_3_order_stat_logpdf( + obs_stat2[d], obs_stat1[d], obs_stat3[d], // x1=min, x2=median, x3=max + 1, k_median, n, // i1=1, i2=k_median, i3=n + n, dist_type, loc, phi, kappa); + } + + else if (summary_type[d] == 2) { // median + IQR: joint density of (q25, median, q75) + int k_median = (n + 1) %/% 2; + int k_q25 = (n + 1) %/% 4; + if (k_q25 < 1) k_q25 = 1; + int k_q75 = (3 * (n + 1)) %/% 4; + if (k_q75 <= k_q25) k_q75 = k_q25 + 1; + if (k_q75 > n) k_q75 = n; + target += joint_3_order_stat_logpdf( + obs_stat2[d], obs_stat1[d], obs_stat3[d], // x1=q25, x2=median, x3=q75 + k_q25, k_median, k_q75, + n, dist_type, loc, phi, kappa); + } + + else if (summary_type[d] == 3) { // mean + sd (unchanged from factorised model) + real expected_mean; + real expected_sd; + real se_mean; + real se_sd; + + if (dist_type == 1) { // lognormal + expected_mean = exp(loc + phi^2 / 2); + real var_ = (exp(phi^2) - 1) * exp(2 * loc + phi^2); + expected_sd = sqrt(var_); + se_mean = expected_sd / sqrt(n); + se_sd = expected_sd / sqrt(2 * (n - 1)); + + } else if (dist_type == 2) { // gamma + real mean_d = exp(loc); + real shape = phi; + real scale_param = mean_d / shape; + expected_mean = mean_d; + expected_sd = sqrt(shape * scale_param^2); + se_mean = expected_sd / sqrt(n); + se_sd = expected_sd / sqrt(2 * (n - 1)); + + } else if (dist_type == 3) { // weibull + real scale = exp(loc); + real shape = phi; + expected_mean = scale * tgamma(1 + 1.0 / shape); + real var_ = scale^2 * (tgamma(1 + 2.0 / shape) - pow(tgamma(1 + 1.0 / shape), 2)); + expected_sd = sqrt(var_); + se_mean = expected_sd / sqrt(n); + se_sd = expected_sd / sqrt(2 * (n - 1)); + + } else if (dist_type == 4) { // burr XII + if (kappa * phi <= 2.0) { + target += negative_infinity(); + } else { + real lam = exp(loc); + expected_mean = lam * kappa * exp(lbeta(kappa - 1.0/phi, 1.0 + 1.0/phi)); + real e2 = lam^2 * kappa * exp(lbeta(kappa - 2.0/phi, 1.0 + 2.0/phi)); + expected_sd = sqrt(fabs(e2 - expected_mean^2)); + se_mean = expected_sd / sqrt(n); + se_sd = expected_sd / sqrt(2 * (n - 1)); + obs_stat1[d] ~ normal(expected_mean, se_mean); + obs_stat2[d] ~ normal(expected_sd, se_sd); + } + + } else if (dist_type == 5) { // generalised gamma + real gamma_shape = 1.0 / (kappa * kappa); + real log_ET = loc + 2.0*phi/kappa * log(kappa) + + lgamma(gamma_shape + phi/kappa) - lgamma(gamma_shape); + real log_ET2 = 2.0*loc + 4.0*phi/kappa * log(kappa) + + lgamma(gamma_shape + 2.0*phi/kappa) - lgamma(gamma_shape); + expected_mean = exp(log_ET); + expected_sd = sqrt(fabs(exp(log_ET2) - expected_mean^2)); + se_mean = expected_sd / sqrt(n); + se_sd = expected_sd / sqrt(2 * (n - 1)); + obs_stat1[d] ~ normal(expected_mean, se_mean); + obs_stat2[d] ~ normal(expected_sd, se_sd); + } + + if (dist_type <= 3) { + obs_stat1[d] ~ normal(expected_mean, se_mean); + obs_stat2[d] ~ normal(expected_sd, se_sd); + } + } + + else if (summary_type[d] == 4) { // raw frequency table (unchanged) + int s = freq_start[d]; + int len = freq_len[d]; + for (i in s:(s + len - 1)) { + target += freq_count[i] * dist_logpdf_fun(freq_value[i], dist_type, loc, phi, kappa); + } + } + + else if (summary_type[d] == 5) { // interval-censored frequency table (unchanged) + int s = freq_start[d]; + int len = freq_len[d]; + for (i in s:(s + len - 1)) { + if (freq_lower[i] == freq_upper[i]) { + target += freq_count[i] * dist_logpdf_fun(freq_lower[i], dist_type, loc, phi, kappa); + } else { + real log_cdf_u = dist_log_cdf_fun(freq_upper[i], dist_type, loc, phi, kappa); + real log_cdf_l = dist_log_cdf_fun(freq_lower[i], dist_type, loc, phi, kappa); + target += freq_count[i] * log_diff_exp(log_cdf_u, log_cdf_l); + } + } + } + } +} + +generated quantities { + real pred_mean; + real pred_median; + real pred_q25; + real pred_q75; + real pred_q90; + real pred_q95; + real pred_sd; + // Joint log-likelihood per dataset (3 slots each for interface compatibility; + // for types 1 and 2 the joint value is stored in slot idx and slots idx+1, + // idx+2 are set to 0, since the joint density cannot be decomposed per statistic). + vector[n_datasets * 3] log_lik; + + { + if (n_datasets < 5) { + real loc_pred = mean(loc_d); + + if (dist_type == 1) { // lognormal + pred_mean = exp(loc_pred + phi^2 / 2); + pred_median = exp(loc_pred); + pred_q25 = exp(loc_pred - 0.6745 * phi); + pred_q75 = exp(loc_pred + 0.6745 * phi); + pred_q90 = exp(loc_pred + 1.28155 * phi); + pred_q95 = exp(loc_pred + 1.64485 * phi); + pred_sd = sqrt((exp(phi^2) - 1) * exp(2 * loc_pred + phi^2)); + + } else if (dist_type == 2) { // gamma + real mean_d = exp(loc_pred); + real scale_param = mean_d / phi; + pred_mean = mean_d; + pred_sd = sqrt(mean_d * scale_param); + pred_median = gamma_quantile_approx(0.5, phi, scale_param); + pred_q25 = gamma_quantile_approx(0.25, phi, scale_param); + pred_q75 = gamma_quantile_approx(0.75, phi, scale_param); + pred_q90 = gamma_quantile_approx(0.90, phi, scale_param); + pred_q95 = gamma_quantile_approx(0.95, phi, scale_param); + + } else if (dist_type == 3) { // weibull + real scale = exp(loc_pred); + pred_mean = scale * tgamma(1 + 1.0 / phi); + pred_median = scale * pow(log(2), 1.0 / phi); + pred_q25 = scale * pow(log(4.0 / 3.0), 1.0 / phi); + pred_q75 = scale * pow(log(4.0), 1.0 / phi); + pred_q90 = scale * pow(log(10.0), 1.0 / phi); + pred_q95 = scale * pow(log(20.0), 1.0 / phi); + pred_sd = sqrt(scale^2 * (tgamma(1 + 2.0/phi) - pow(tgamma(1 + 1.0/phi), 2))); + + } else if (dist_type == 4) { // burr XII + real lam = exp(loc_pred); + pred_median = lam * pow(pow(0.5, -1.0/kappa) - 1.0, 1.0/phi); + pred_q25 = lam * pow(pow(0.75, -1.0/kappa) - 1.0, 1.0/phi); + pred_q75 = lam * pow(pow(0.25, -1.0/kappa) - 1.0, 1.0/phi); + pred_q90 = lam * pow(pow(0.10, -1.0/kappa) - 1.0, 1.0/phi); + pred_q95 = lam * pow(pow(0.05, -1.0/kappa) - 1.0, 1.0/phi); + if (kappa * phi > 1.0) { + pred_mean = lam * kappa * exp(lbeta(kappa - 1.0/phi, 1.0 + 1.0/phi)); + } else { + pred_mean = positive_infinity(); + } + if (kappa * phi > 2.0) { + real e2 = lam^2 * kappa * exp(lbeta(kappa - 2.0/phi, 1.0 + 2.0/phi)); + pred_sd = sqrt(fabs(e2 - pred_mean^2)); + } else { + pred_sd = positive_infinity(); + } + + } else if (dist_type == 5) { // generalised gamma: Monte Carlo via gamma_rng + int L_gg = 200; + vector[L_gg] gg_samples; + real gs = 1.0 / (kappa * kappa); + for (l in 1:L_gg) { + real y = gamma_rng(gs, 1); + gg_samples[l] = exp(loc_pred + phi / kappa * log(kappa * kappa * y)); + } + gg_samples = sort_asc(gg_samples); + pred_mean = mean(gg_samples); + pred_sd = sd(gg_samples); + pred_median = gg_samples[100]; + pred_q25 = gg_samples[50]; + pred_q75 = gg_samples[150]; + pred_q90 = gg_samples[180]; + pred_q95 = gg_samples[190]; + } + + } else { + int L = 2000; + + if (dist_type == 5) { + int L_gg = 200; + vector[L_gg] gg_t_samples; + real gs = 1.0 / (kappa * kappa); + for (l in 1:L_gg) { + real loc_sample = normal_rng(mu0, tau); + real y = gamma_rng(gs, 1); + gg_t_samples[l] = exp(loc_sample + phi / kappa * log(kappa * kappa * y)); + } + gg_t_samples = sort_asc(gg_t_samples); + pred_mean = mean(gg_t_samples); + pred_sd = sd(gg_t_samples); + pred_median = gg_t_samples[100]; + pred_q25 = gg_t_samples[50]; + pred_q75 = gg_t_samples[150]; + pred_q90 = gg_t_samples[180]; + pred_q95 = gg_t_samples[190]; + + } else { + vector[L] means; + vector[L] medians; + vector[L] q25s; + vector[L] q75s; + vector[L] q90s; + vector[L] q95s; + vector[L] sds; + + for (l in 1:L) { + real loc_sample = normal_rng(mu0, tau); + + if (dist_type == 1) { // lognormal + means[l] = exp(loc_sample + phi^2 / 2); + medians[l] = exp(loc_sample); + q25s[l] = exp(loc_sample - 0.6745 * phi); + q75s[l] = exp(loc_sample + 0.6745 * phi); + q90s[l] = exp(loc_sample + 1.28155 * phi); + q95s[l] = exp(loc_sample + 1.64485 * phi); + sds[l] = sqrt((exp(phi^2) - 1) * exp(2 * loc_sample + phi^2)); + + } else if (dist_type == 2) { // gamma + real mean_d = exp(loc_sample); + real scale_param = mean_d / phi; + means[l] = mean_d; + sds[l] = sqrt(mean_d * scale_param); + medians[l] = gamma_quantile_approx(0.5, phi, scale_param); + q25s[l] = gamma_quantile_approx(0.25, phi, scale_param); + q75s[l] = gamma_quantile_approx(0.75, phi, scale_param); + q90s[l] = gamma_quantile_approx(0.90, phi, scale_param); + q95s[l] = gamma_quantile_approx(0.95, phi, scale_param); + + } else if (dist_type == 3) { // weibull + real scale = exp(loc_sample); + means[l] = scale * tgamma(1 + 1.0 / phi); + medians[l] = scale * pow(log(2), 1.0 / phi); + q25s[l] = scale * pow(log(4.0 / 3.0), 1.0 / phi); + q75s[l] = scale * pow(log(4.0), 1.0 / phi); + q90s[l] = scale * pow(log(10.0), 1.0 / phi); + q95s[l] = scale * pow(log(20.0), 1.0 / phi); + real var_weib = scale^2 * (tgamma(1 + 2.0/phi) - pow(tgamma(1 + 1.0/phi), 2)); + sds[l] = sqrt(var_weib); + + } else if (dist_type == 4) { // burr XII + real lam_l = exp(loc_sample); + medians[l] = lam_l * pow(pow(0.5, -1.0/kappa) - 1.0, 1.0/phi); + q25s[l] = lam_l * pow(pow(0.75, -1.0/kappa) - 1.0, 1.0/phi); + q75s[l] = lam_l * pow(pow(0.25, -1.0/kappa) - 1.0, 1.0/phi); + q90s[l] = lam_l * pow(pow(0.10, -1.0/kappa) - 1.0, 1.0/phi); + q95s[l] = lam_l * pow(pow(0.05, -1.0/kappa) - 1.0, 1.0/phi); + if (kappa * phi > 1.0) { + means[l] = lam_l * kappa * exp(lbeta(kappa - 1.0/phi, 1.0 + 1.0/phi)); + } else { + means[l] = positive_infinity(); + } + if (kappa * phi > 2.0) { + real e2_l = lam_l^2 * kappa * exp(lbeta(kappa - 2.0/phi, 1.0 + 2.0/phi)); + sds[l] = (kappa * phi > 1.0) ? sqrt(fabs(e2_l - means[l]^2)) : positive_infinity(); + } else { + sds[l] = positive_infinity(); + } + } + } + + pred_mean = mean(means); + pred_median = mean(medians); + pred_q25 = mean(q25s); + pred_q75 = mean(q75s); + pred_q90 = mean(q90s); + pred_q95 = mean(q95s); + pred_sd = mean(sds); + } + } + } + + // Log likelihood + { + int idx = 1; + + for (d in 1:n_datasets) { + real loc = loc_d[d]; + int n = n_obs[d]; + + if (summary_type[d] == 1) { // joint density of (min, median, max) + int k_median = (n + 1) %/% 2; + log_lik[idx] = joint_3_order_stat_logpdf( + obs_stat2[d], obs_stat1[d], obs_stat3[d], + 1, k_median, n, + n, dist_type, loc, phi, kappa); + log_lik[idx + 1] = 0; + log_lik[idx + 2] = 0; + + } else if (summary_type[d] == 2) { // joint density of (q25, median, q75) + int k_median = (n + 1) %/% 2; + int k_q25 = (n + 1) %/% 4; + if (k_q25 < 1) k_q25 = 1; + int k_q75 = (3 * (n + 1)) %/% 4; + if (k_q75 <= k_q25) k_q75 = k_q25 + 1; + if (k_q75 > n) k_q75 = n; + log_lik[idx] = joint_3_order_stat_logpdf( + obs_stat2[d], obs_stat1[d], obs_stat3[d], + k_q25, k_median, k_q75, + n, dist_type, loc, phi, kappa); + log_lik[idx + 1] = 0; + log_lik[idx + 2] = 0; + + } else if (summary_type[d] == 3) { // mean + sd (unchanged) + real expected_mean; + real expected_sd; + + if (dist_type == 1) { + expected_mean = exp(loc + phi^2 / 2); + real var_ = (exp(phi^2) - 1) * exp(2 * loc + phi^2); + expected_sd = sqrt(var_); + } else if (dist_type == 2) { + real mean_d = exp(loc); + real shape = phi; + real scale_param = mean_d / shape; + expected_mean = mean_d; + expected_sd = sqrt(mean_d * scale_param); + } else if (dist_type == 3) { + real scale = exp(loc); + real shape = phi; + expected_mean = scale * tgamma(1 + 1.0 / shape); + real var_ = scale^2 * (tgamma(1 + 2.0 / shape) - pow(tgamma(1 + 1.0 / shape), 2)); + expected_sd = sqrt(var_); + } else if (dist_type == 4) { + if (kappa * phi > 2.0) { + real lam = exp(loc); + expected_mean = lam * kappa * exp(lbeta(kappa - 1.0/phi, 1.0 + 1.0/phi)); + real e2 = lam^2 * kappa * exp(lbeta(kappa - 2.0/phi, 1.0 + 2.0/phi)); + expected_sd = sqrt(fabs(e2 - expected_mean^2)); + } else { + log_lik[idx] = negative_infinity(); + log_lik[idx + 1] = negative_infinity(); + log_lik[idx + 2] = 0; + } + } else if (dist_type == 5) { + real gamma_shape = 1.0 / (kappa * kappa); + real log_ET = loc + 2.0*phi/kappa * log(kappa) + + lgamma(gamma_shape + phi/kappa) - lgamma(gamma_shape); + real log_ET2 = 2.0*loc + 4.0*phi/kappa * log(kappa) + + lgamma(gamma_shape + 2.0*phi/kappa) - lgamma(gamma_shape); + expected_mean = exp(log_ET); + expected_sd = sqrt(fabs(exp(log_ET2) - expected_mean^2)); + } + + if (dist_type != 4 || kappa * phi > 2.0) { + log_lik[idx] = normal_lpdf(obs_stat1[d] | expected_mean, expected_sd / sqrt(n)); + log_lik[idx + 1] = normal_lpdf(obs_stat2[d] | expected_sd, expected_sd / sqrt(2 * (n - 1))); + log_lik[idx + 2] = 0; + } + + } else if (summary_type[d] == 4) { // raw frequency table + real ll_type4 = 0; + int s = freq_start[d]; + int len = freq_len[d]; + for (i in s:(s + len - 1)) { + ll_type4 += freq_count[i] * dist_logpdf_fun(freq_value[i], dist_type, loc, phi, kappa); + } + log_lik[idx] = ll_type4; + log_lik[idx + 1] = 0; + log_lik[idx + 2] = 0; + + } else if (summary_type[d] == 5) { // interval-censored frequency table + real ll_type5 = 0; + int s = freq_start[d]; + int len = freq_len[d]; + for (i in s:(s + len - 1)) { + if (freq_lower[i] == freq_upper[i]) { + ll_type5 += freq_count[i] * dist_logpdf_fun(freq_lower[i], dist_type, loc, phi, kappa); + } else { + real log_cdf_u = dist_log_cdf_fun(freq_upper[i], dist_type, loc, phi, kappa); + real log_cdf_l = dist_log_cdf_fun(freq_lower[i], dist_type, loc, phi, kappa); + ll_type5 += freq_count[i] * log_diff_exp(log_cdf_u, log_cdf_l); + } + } + log_lik[idx] = ll_type5; + log_lik[idx + 1] = 0; + log_lik[idx + 2] = 0; + } + + idx += 3; + } + } +} diff --git a/man/compile_stan_model.Rd b/man/compile_stan_model.Rd new file mode 100644 index 0000000..051dd81 --- /dev/null +++ b/man/compile_stan_model.Rd @@ -0,0 +1,23 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/utils.R +\name{compile_stan_model} +\alias{compile_stan_model} +\title{Compile a ddsynth Stan model} +\usage{ +compile_stan_model(model = c("factorised", "joint")) +} +\arguments{ +\item{model}{Character string: \code{"factorised"} (default) uses the +order-statistic factorised likelihood +(\code{hierarchical_data_synthesis_summary_stats.stan}); \code{"joint"} uses the +joint parameterisation +(\code{hierarchical_data_synthesis_summary_stats_joint.stan}).} +} +\value{ +A compiled \code{stanmodel} object. +} +\description{ +Compiles and returns one of the Stan models shipped with the package. +Pass the returned object to \code{\link[=pre_inference_checks]{pre_inference_checks()}}, \code{\link[=fit_model]{fit_model()}}, or +\code{\link[=run_simulation_study_generalized]{run_simulation_study_generalized()}}. +} From b7910db85ec6c2a12ccec178f6873b3b4cd86505 Mon Sep 17 00:00:00 2001 From: cm401 Date: Mon, 4 May 2026 12:39:20 +0100 Subject: [PATCH 02/10] update simulation results --- vignettes/new_simulation_results_all.rds | Bin 0 -> 1710184 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 vignettes/new_simulation_results_all.rds diff --git a/vignettes/new_simulation_results_all.rds b/vignettes/new_simulation_results_all.rds new file mode 100644 index 0000000000000000000000000000000000000000..391733311e71267a1e8b46f81f9318f809fb2031 GIT binary patch literal 1710184 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

o+=;pWFSD&islGNziU#^Ssod+AF9WVy*KIK$C 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 z�?-vj9D&sS6=GRHH>q@yVzv_qbP(((s4zqlnF=Jc$l4ED0Y zk+p@Yg&)+aVFTD&YK;1$#KqS0%T zk0MFvE)JsRMn4Gx+q34p?&hxp1TH2c2|p??t+?V)o?m=gxTLbtbz``F6Lp?9PB-s= zddki`a&^6cu=#t*W+z{5`EEt8_$nW6<61+GwlQ2t^%vg(u3a`F;W}yB4Kmm~z-Pog z!jwm<&$9$g@(SYgM$$ec;VB|SeO23)1QTMz!V&wi<%R<9pNsm8>V=wB-gWrvl^EzE z8~?Qnyr+B`V*!HVM%hl+LD^&$OsclC⁣Y;d3aNUo?s`aKDeK;}%}P($j}=!&v75 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