aequilibrae.distribution.gravity_calibration#
Algorithms to calibrate synthetic gravity models with power and exponential functions
The procedures implemented in this code are some of those suggested in Modelling Transport, 4th Edition, Ortuzar and Willumsen, Wiley 2011
Classes
|
Calibrate a traditional gravity model |
- class aequilibrae.distribution.gravity_calibration.GravityCalibration(project=None, **kwargs)[source]#
Calibrate a traditional gravity model
Available deterrence function forms are: ‘EXPO’, ‘POWER’ or ‘GAMMA’.
>>> from aequilibrae.distribution import GravityCalibration >>> project = create_example(project_path) # We load the demand matrix >>> demand = project.matrices.get_matrix("demand_omx") >>> demand.computational_view() # We load the skim matrix >>> skim = project.matrices.get_matrix("skims") >>> skim.computational_view(["time_final"]) >>> args = {"matrix": demand, ... "impedance": skim, ... "row_field": "productions", ... "function": 'expo', ... "nan_as_zero": True} >>> gravity = GravityCalibration(**args) # Solve and save outputs >>> gravity.calibrate() >>> gravity.model.save(project_path / 'dist_expo_model.mod') >>> project.close()