Analysis
ABMForge includes basic analysis helpers for experiment outputs.
SensitivityAnalysis
SensitivityAnalysis estimates simple parameter effects using final model-level metric values.
from abmforge import SensitivityAnalysis
analysis = SensitivityAnalysis(
experiment_result,
metric="total_wealth",
)
summary = analysis.summary()
print(summary)
SALib Integration
SALib support is optional.
Install analysis dependencies:
pip install -e ".[analysis]"
Sobol Sampling
from abmforge import SALibProblem, sample_sobol
problem = SALibProblem(
bounds={
"density": (0.4, 0.9),
"homophily": (0.1, 0.8),
}
)
samples = sample_sobol(problem, n=128, seed=42)
Morris Sampling
from abmforge import SALibProblem, sample_morris
problem = SALibProblem(
bounds={
"density": (0.4, 0.9),
"homophily": (0.1, 0.8),
}
)
samples = sample_morris(problem, n=32, seed=42)
Recommended Workflow
- Define parameter ranges.
- Generate samples.
- Run model scenarios.
- Collect final metrics.
- Analyze sensitivity.