Using MCBench
This is a simple example of how to use the MCBench package.
Specify the test case
f = MvNormal(zeros(3), I(3))
bounds = NamedTupleDist(x = [-10..10 for i in 1:3])
Standard_Normal_3D_Uncorrelated = Testcases(f,bounds,3,"Normal-3D-Uncorrelated")Selecting the metrics to be applied
metrics = [marginal_mean(), marginal_variance(), sliced_wasserstein_distance(), maximum_mean_discrepancy()]Load the external MC samples to be tested
sampler = FileBasedSampler("samples_from_my_algorithm.csv")Generating the teststatistics
Evaluate the metrics both
- for the IID samples (IID samples are generated automatically in the background):
teststatistics_IID = build_teststatistic(Standard_Normal_3D_Uncorrelated, metrics,
n=100, n_steps=10^5, n_samples=10^5)- and for the MC samples to be tested:
teststatistics_my_samples = build_teststatistic(Standard_Normal_3D_Uncorrelated, metrics,
n=100, n_steps=10^5, n_samples=10^5, s=sampler)Generating comparison plots
- Overview plot of all selected metrics
plot_metrics(Standard_Normal_3D_Uncorrelated, metrics, sampler)<img src="../images/Normal-3D-Uncorrelated-metrics.svg" width="480"/>
- Individual metrics
plot_teststatistic(Standard_Normal_3D_Uncorrelated, marginal_mean(), sampler, nbins=20)<img src="../images/Normal-3D-Uncorrelated-SlicedWasserstein.svg" width="480"/>