API
Module
SimulationBasedCalibration
— ModuleSimulationBasedCalibration
See documentation at: https://kiante-fernandez.github.io/SimulationBasedCalibration.jl/dev/
Core Types
SimulationBasedCalibration.AbstractSBCBackend
— TypeAbstractSBCBackend
Abstract type for SBC backends (model fitting implementations)
SimulationBasedCalibration.AbstractSBCGenerator
— TypeAbstractSBCGenerator
Abstract type for SBC generators (data generation mechanisms)
SimulationBasedCalibration.SBCDatasets
— TypeSBCDatasets
Structure to hold generated datasets and corresponding parameter values.
Fields
variables
: Array of dictionaries with true parameter valuesgenerated
: Array of generated datasets
SimulationBasedCalibration.SBCGeneratorFunction
— TypeSBCGeneratorFunction <: AbstractSBCGenerator
A generator that uses a function to create datasets.
Fields
func
: Function that generates a single datasetkwargs
: Keyword arguments to pass to the function
SimulationBasedCalibration.SBCGeneratorFunction
— MethodSBCGeneratorFunction(func; kwargs...)
Create a generator from a function with keyword arguments.
SimulationBasedCalibration.SBCResults
— TypeSBCResults
Structure to hold SBC results.
Fields
stats
: DataFrame with SBC statisticsfits
: Vector of fit objectserrors
: Vector of error objects
SimulationBasedCalibration.TuringBackend
— TypeTuringBackend <: AbstractSBCBackend
Backend for Turing.jl models.
Fields
model_func
: Function that takes data and returns a Turing modelsampler
: MCMC sampler to usen_chains
: Number of chains to runoptions
: Additional options to pass to the Turing sampler
SimulationBasedCalibration.TuringBackend
— MethodTuringBackend(model_func::Function;
sampler=Turing.NUTS(0.65),
n_chains=4,
kwargs...)
Create a Turing backend with the given options.
Core Functions
The following are organized by category to avoid duplicates:
Generator Functions
SimulationBasedCalibration.generate_datasets
— Methodgenerate_datasets(generator::SBCGeneratorFunction, n_sims::Int)
Generate n_sims datasets using the given generator.
Backend Functions
SimulationBasedCalibration.diagnostics
— Methoddiagnostics(fit_result)
Extract diagnostics from a fit result.
SimulationBasedCalibration.diagnostics
— Methoddiagnostics(chain::MCMCChains.Chains)
Extract diagnostics from a Turing MCMC chain.
SimulationBasedCalibration.draws_matrix
— Methoddraws_matrix(fit_result)
Convert a fit result to a draws matrix format.
SimulationBasedCalibration.draws_matrix
— Methoddraws_matrix(chain::Chains)
Convert Turing MCMCChains to a DataFrame of posterior draws.
SimulationBasedCalibration.fit
— Methodfit(backend::AbstractSBCBackend, generated)
Fit a model using the given backend to the generated data.
SimulationBasedCalibration.fit
— Methodfit(backend::TuringBackend, data)
Fit the Turing model to the given data.
SimulationBasedCalibration.iid_draws
— Methodiid_draws(backend::AbstractSBCBackend)
Return true if the backend produces independent and identically distributed draws.
SimulationBasedCalibration.iid_draws
— Methodiid_draws(backend::TuringBackend)
Check if the backend produces iid draws.
Computation Functions
SimulationBasedCalibration.calculate_ranks
— Methodcalculate_ranks(variables, draws)
Calculate the rank of each true parameter value within posterior draws.
SimulationBasedCalibration.compute_sbc
— Methodcompute_sbc(datasets::SBCDatasets,
backend::AbstractSBCBackend;
keep_fits::Bool=true,
thin_ranks::Int=default_thin_ranks(backend),
ensure_num_ranks_divisor::Int=2)
Compute SBC results for the given datasets using the specified backend.
SimulationBasedCalibration.compute_statistics
— Methodcompute_statistics(fit_result, variables, thin_ranks, ensure_num_ranks_divisor)
Compute SBC statistics for a single fit.
SimulationBasedCalibration.default_thin_ranks
— Methoddefault_thin_ranks(backend::AbstractSBCBackend)
Return the default thinning factor for rank calculation.
SimulationBasedCalibration.thin_draws
— Methodthin_draws(draws, thin)
Apply thinning to posterior draws.
Visualization Functions
SimulationBasedCalibration.plot_ecdf
— Methodplot_ecdf(results::SBCResults;
variables=nothing,
prob=0.95)
Plot empirical CDF plots for SBC results.
SimulationBasedCalibration.plot_rank_hist
— Methodplot_rank_hist(results::SBCResults;
variables=nothing,
bins=nothing,
prob=0.95)
Plot rank histograms for SBC results.