Calibration Scripts¶
Scripts for calibrating model parameters against real-world data.
TB Model Calibration for South Africa Data
This script generates model outputs designed to match real South Africa TB data: 1. Case notification data (2000, 2005, 2010, 2015, 2020) 2. Age-stratified active TB prevalence from 2018 survey
The script creates both model outputs and synthetic/real data for comparison.
- scripts.calibration.tb_calibration_south_africa.create_south_africa_data()[source]¶
Create synthetic South Africa TB data for calibration
- Returns:
Dictionary containing synthetic data for case notifications and prevalence
- Return type:
- scripts.calibration.tb_calibration_south_africa.compute_age_stratified_prevalence(sim, target_year=2018)[source]¶
Compute age-stratified TB prevalence from simulation results
- Parameters:
sim – Simulation object
target_year – Year to compute prevalence for
- Returns:
Age-stratified prevalence data
- Return type:
- scripts.calibration.tb_calibration_south_africa.compute_case_notifications(sim, target_years=[2000, 2005, 2010, 2015, 2020])[source]¶
Compute case notifications from simulation results
- Parameters:
sim – Simulation object
target_years – Years to compute notifications for
- Returns:
Case notification data by year
- Return type:
- scripts.calibration.tb_calibration_south_africa.plot_calibration_comparison(sim, sa_data, timestamp)[source]¶
Create comprehensive calibration comparison plots
- Parameters:
sim – Simulation object
sa_data – South Africa data dictionary
timestamp – Timestamp for file naming
- scripts.calibration.tb_calibration_south_africa.calculate_calibration_score(sim, sa_data)[source]¶
Calculate a composite calibration score based on multiple metrics
- Parameters:
sim – Simulation object
sa_data – South Africa data dictionary
- Returns:
Calibration metrics and composite score
- Return type:
- scripts.calibration.tb_calibration_south_africa.create_calibration_report(sim, sa_data, timestamp)[source]¶
Create a detailed calibration report with metrics
- Parameters:
sim – Simulation object
sa_data – South Africa data dictionary
timestamp – Timestamp for file naming
- Returns:
Calibration metrics
- Return type:
- scripts.calibration.tb_calibration_south_africa.run_calibration_simulation(beta=0.020, rel_sus_latentslow=0.15, tb_mortality=3e-4, seed=0, years=200, n_agents=1000)[source]¶
Run a single calibration simulation with specified parameters
- Parameters:
beta – TB transmission rate
rel_sus_latentslow – Relative susceptibility of latent TB
tb_mortality – TB mortality rate
seed – Random seed
years – Simulation duration
n_agents – Number of agents
- Returns:
Simulation object
- Return type:
sim
- scripts.calibration.tb_calibration_south_africa.main()[source]¶
Main function to run the calibration analysis
TB Model Calibration Parameter Sweep for South Africa
This script performs a systematic parameter sweep to find optimal calibration parameters that best match South Africa TB data including case notifications and age-stratified prevalence.
- scripts.calibration.tb_calibration_sweep.calculate_calibration_score(sim, sa_data)[source]¶
Calculate a composite calibration score based on multiple metrics
- Parameters:
sim – Simulation object
sa_data – South Africa data dictionary
- Returns:
Calibration metrics and composite score
- Return type:
- scripts.calibration.tb_calibration_sweep.run_calibration_sweep(beta_range, rel_sus_range, tb_mortality_range, n_agents=500, years=150, max_simulations=50)[source]¶
Run a systematic parameter sweep for calibration
- Parameters:
beta_range – Array of beta values to test
rel_sus_range – Array of relative susceptibility values to test
tb_mortality_range – Array of TB mortality values to test
n_agents – Number of agents per simulation
years – Simulation duration
max_simulations – Maximum number of simulations to run
- Returns:
Sweep results with best parameters
- Return type: