Describe a Gaussian-convolution simulation scenario
Source:R/02_03_scenario_descriptors.R
describe_simulation_scenario.RdSummarises the generating law
\(\boldsymbol{y}\mid(\boldsymbol{\zeta},\boldsymbol{p})\sim
\mathcal{N}_{G}(\boldsymbol{\mu}\boldsymbol{p},
\sum_j p_j^2\boldsymbol{\Sigma}_j)\) at five layers: composition,
mean geometry, covariance / SPD diagnostics, network sparsity, and
tangent Fisher information (mean versus covariance split). MixSim
BarOmega and average pairwise Hellinger of the component Gaussians
are kept in descriptors (Hellinger is the unweighted pairwise mean;
hellinger_weighted is optional). Jeffreys / symmetrised KL is
returned in supplementary. Mean-geometry columns include the
highest pairwise cosine and the mean Euclidean (CLD) gap.
Usage
describe_simulation_scenario(
true_theta,
adjacency = NULL,
active_tol = 1e-08,
include_mixsim = TRUE
)Arguments
- true_theta
List with
p,mu, andsigma(and optionallyThetaprecision). Parsed bycheck_true_theta()/.parse_true_theta().- adjacency
Optional \(G\times G\times J\) adjacency array, or a length-\(J\) list of adjacencies, used for network density when supplied.
- active_tol
Threshold for counting an active simplex component.
- include_mixsim
Logical. If
TRUE(default), compute MixSim BarOmega viacompute_average_overlap(). SetFALSEto skip.
Value
A list with:
theta_true: the convolution parametersp,mu,sigma;descriptors: one-row tibble of kept scenario statistics in six families (composition, mean geometry, SPD of \(\boldsymbol{\Sigma}(\boldsymbol{p})\), tangent Fisher, network, component overlap). MixSim BarOmega usescompute_average_overlap()(Davies quadrature for \(G<4\), Sobol Monte Carlo otherwise). Average pairwise Hellinger and affine-invariant Riemannian distance of the \(\Sigma_j\) are kept alongside.hellinger_weightedis optional. SPD columns include both \(\kappa\{\boldsymbol{\Sigma}(\boldsymbol{p})\}\) (kappa_sigma_p) and the reciprocal \(\lambda_{\min}/\lambda_{\max}\) (kappa_sigma_reciprocal);supplementary: one-row tibble of Jeffreys / symmetrised KL, recorded but not treated as a primary score;call: the matched call (match.call()).