"""Run repeated experiments and save error distributions and metrics.""" from pathlib import Path import sys sys.path.insert(0, str(Path(__file__).resolve().parents[1] / "src")) from mdsmap_sim.experiment import run_monte_carlo from mdsmap_sim.plots import plot_error_distribution from mdsmap_sim.utils import ensure_output_dirs, load_config root = Path(__file__).resolve().parents[1] config = load_config(root / "config" / "default.yaml") figures, tables = ensure_output_dirs(root / config["output_dir"]) metrics, errors = run_monte_carlo(config) metrics.to_csv(tables / "monte_carlo_metrics.csv", index=False) errors.to_csv(tables / "monte_carlo_errors.csv", index=False) plot_error_distribution(errors, figures / "error_distribution.png") print(metrics.groupby("method").mean(numeric_only=True).to_string())