Reproducible code, data, and writeup for the paper Diagnosing Robustness of Decomposability in Gaussian Graphical Models by Juan Carlos Cisneros and Erik Solé (Universitat Pompeu Fabra, 2026).
The paper assesses the empirical-Bayes SAEM-MCMC procedure of
Donnet and Marin (2012) for
decomposable Gaussian graphical models and characterizes the regimes in which
its central decomposability assumption is, and is not, costly. We propose
using the two-stage output (Stage 1 decomposable + Stage 2 unrestricted via
BDgraph) as a diagnostic for
misspecification of the decomposable family, and apply the procedure to the
Demirer-Diebold-Liu-Yilmaz (2018)
global bank-volatility panel (
1_data/ DDLY raw CSV + bank-name lookup; wrangling script
2_analysis/ Three R scripts: simulation grid, DDLY application, lambda-sensitivity sweep
3_slides/ Beamer source for the conference deck
4_paper/ LaTeX source for the paper, plus bibliography and section files
utils/ R helpers actually sourced by the analysis (SAEM-MCMC, two-stage wrapper, comparators)
lib/ Shell helpers used by the per-module make.sh scripts
The build is orchestrated by per-module make.sh scripts and a top-level
run_all.sh. The R environment is pinned via
micromamba
and conda-lock.yml; LaTeX uses tectonic
plus biber for the bibliography.
bash setup.sh # installs micromamba, R, tectonic into .micromamba/
bash setup_biber.sh # installs biber binary (tectonic does not ship it)bash run_all.shThis runs, in order:
1_data/make.sh— wrangle the raw DDLY CSV into1_data/output/ddly_clean.rds2_analysis/make.sh— run the simulation grid, DDLY application, and lambda-sensitivity sweep; write figures and LaTeX tables under2_analysis/output/3_slides/make.sh— compile the slides →3_slides/output/slides.pdf4_paper/make.sh— compile the paper →4_paper/output/paper.pdf
If you just want the PDFs and trust the precomputed analysis outputs that ship
with the repo (2_analysis/output/figures/ and 2_analysis/output/tables/):
bash 3_slides/make.sh # → 3_slides/output/slides.pdf
bash 4_paper/make.sh # → 4_paper/output/paper.pdfThe simulation grid in 2_analysis/source/run_simulations_extended.r is the
expensive step (~30 minutes on 8 cores). The DDLY application
(run_ddly_application.r) is ~25 minutes for the full
-
DDLY bank-volatility panel —
1_data/source/raw/ddly/ddly-data.csv: ninety-six bank stocks plus ten ten-year sovereign bond series, daily log range volatilities from 12 September 2003 to 7 February 2014 ($n = 2{,}676$ ,$p = 106$ ). Distributed alongside Demirer, Diebold, Liu, and Yilmaz (2018); the cleaned long-formatddly_clean.rdsis rebuilt by1_data/make.sh. -
Bank-name lookup —
1_data/source/raw/ddly/bank_names.csv: ticker → bank name mapping parsed from the DDLY data appendix.
If you use this code or build on the diagnostic, please cite the paper:
@unpublished{cisneros_sole_2026_diagnosing,
title = {Diagnosing Robustness of Decomposability in Gaussian Graphical Models},
author = {Cisneros, Juan Carlos and Sol{\'e}, Erik},
year = {2026},
note = {Universitat Pompeu Fabra}
}MIT — see LICENSE.
Juan Carlos Cisneros — juancarlos.cisneros@upf.edu