Skip to content

Commit 4430b2c

Browse files
committed
update demand modelling docs
1 parent 946f788 commit 4430b2c

File tree

1 file changed

+50
-0
lines changed
  • docs/source/odysseus_modules/demand_modelling

1 file changed

+50
-0
lines changed

docs/source/odysseus_modules/demand_modelling/index.rst

+50
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,12 @@ The main duties of the Demand Modelling module are:
3737

3838
- Generate mobility samples starting from a fitted demand model
3939

40+
You can run the following command to visualise a short description of parameters for this module:
41+
42+
.. code-block:: console
43+
44+
python -m odysseus.demand_modelling -h
45+
4046
Let's start with the simplest model.
4147

4248
Simple count model
@@ -79,3 +85,47 @@ As previously mentioned, there is no real "fitting" for this simple case: it jus
7985

8086
Let's therefore introduce more meaningful demand models.
8187

88+
ODt model
89+
---------------------------------------------------
90+
91+
This demand model allow to fit an OD matrix from trips data. For each tuple (origin, destination, time_slot),
92+
the model estimates the average number of trips to generate in a uniform distribution within a hourly slot.
93+
94+
In order to use this model, you must have created a city scenario from trips data.
95+
96+
Then, you can run the following command:
97+
98+
.. code-block:: console
99+
100+
python -m odysseus.demand_modelling -c my_city -d my_data_source -t hourly_ods_count -C my_scenario_folder -D my_demand_model_folder
101+
102+
Finally, by setting the parameter "requests_rate_factor" available in the demand model configuration within the simulator, the demand profile set in
103+
virtual OD data structures will be scaled according to "requests_rate_factor". Note that this will happen only at simulation time,
104+
namely in this phase only the demand model in generated.
105+
106+
ODt KDE + Poisson model
107+
---------------------------------------------------
108+
109+
This demand model allows, for each tuple (origin, destination, time_slot) to:
110+
111+
- Estimate a rate of an exponential distribution used to model inter-arrival times of mobility requests
112+
- Fit a KDE model for spatial distribution of origins, destinations, and their relationship
113+
- Generate inter-arrival times of mobility requests in the simulator
114+
115+
This method allows to disaggregate spatial demand and remove strong correlations present
116+
in historical data representing only satisfied mobility demand.
117+
There are two available modes to set KDE bandwidth:
118+
119+
- Set a fixed bandwidth (parameter "kde_bandwidth")
120+
- Fit dynamic bandwidths (not integrated but available through the paper ... and the repository ...)
121+
122+
In order to use this model, you must have created a virtual OD and its city scenario. Then, by setting the parameter
123+
"kde_bandwidth" available in the demand model configuration, the module will fit a spatial demand model with the selected bandwidth
124+
for each tuple (origin, destination, time_slot).
125+
126+
You can run the following command:
127+
128+
.. code-block:: console
129+
130+
python -m odysseus.demand_modelling -c my_city -d my_data_source -t hourly_ods_count -C my_scenario_folder
131+
-D my_demand_model_folder -k 0.1

0 commit comments

Comments
 (0)