Skip to content

Commit adc112e

Browse files
Update README.md
update config readme
1 parent c595853 commit adc112e

File tree

1 file changed

+32
-22
lines changed

1 file changed

+32
-22
lines changed

config/README.md

Lines changed: 32 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,11 @@ The config.toml file has an explanation for each parameter. You can copy the tom
33
``` toml
44
[parameters]
55
seed = 0
6-
# this is used to query poi data from osm and to load in SPC data
7-
region = "leeds"
8-
# how many people from the SPC do we want to run the model for? Comment out if you want to run the analysis on the entire SPC populaiton
9-
number_of_households = 2500
10-
# "OA21CD": OA level, "MSOA11CD": MSOA level
11-
zone_id = "MSOA21CD"
12-
# Only set to true if you have travel time matrix at the level specified in boundary_geography
13-
travel_times = false
14-
boundary_geography = "MSOA"
6+
region = "leeds" # this is used to query poi data from osm and to load in SPC data
7+
number_of_households = 5000 # how many people from the SPC do we want to run the model for? Comment out if you want to run the analysis on the entire SPC populaiton
8+
zone_id = "OA21CD" # "OA21CD": OA level, "MSOA11CD": MSOA level
9+
travel_times = true # Only set to true if you have travel time matrix at the level specified in boundary_geography
10+
boundary_geography = "OA"
1511
# NTS years to use
1612
nts_years = [2019, 2021, 2022]
1713
# NTS regions to use
@@ -23,7 +19,8 @@ nts_regions = [
2319
'West Midlands',
2420
'East of England',
2521
'South East',
26-
'South West']
22+
'South West',
23+
]
2724
# nts day of the week to use
2825
# 1: Monday, 2: Tuesday, 3: Wednesday, 4: Thursday, 5: Friday, 6: Saturday, 7: Sunday
2926
nts_day_of_week = 3
@@ -33,29 +30,41 @@ output_crs = 3857
3330
[matching]
3431
# for optional and required columns, see the [iterative_match_categorical](https://github.com/Urban-Analytics-Technology-Platform/acbm/blob/ca181c54d7484ebe44706ff4b43c26286b22aceb/src/acbm/matching.py#L110) function
3532
# Do not add any column not listed below. You can only move a column from optional to require (or vise versa)
36-
required_columns = [
37-
"number_adults",
38-
"number_children",
39-
"num_pension_age",
40-
]
33+
required_columns = ["number_adults", "number_children"]
4134
optional_columns = [
4235
"number_cars",
36+
"num_pension_age",
4337
"rural_urban_2_categories",
4438
"employment_status",
4539
"tenure_status",
4640
]
47-
# What is the maximum number of NTS matches we want for each SPC household?
48-
n_matches = 10
41+
n_matches = 10 # What is the maximum number of NTS matches we want for each SPC household?
42+
43+
[feasible_assignment]
44+
# `actual_distance = distance * (1 + ((detour_factor - 1) * np.exp(-decay_rate * distance)))`
45+
#
46+
# `detour factor` when converting Euclidean distance to actual travel distance
47+
detour_factor = 1.56
48+
49+
# `decay rate` is the inverse of the distance (in units of the data, e.g. metres) at which the
50+
# scaling from using the detour factor to Euclidean distance reduces by `exp(−1)`.
51+
#
52+
# 0.0001 is a good value for Leeds when units are metres, choice of decay_rate can be explored in an
53+
# [interactive plot](https://www.wolframalpha.com/input?i=plot+exp%28-0.0001x%29+from+x%3D0+to+x%3D50000)
54+
decay_rate = 0.0001
4955

5056
[work_assignment]
51-
commute_level = "MSOA"
52-
# if true, optimization problem will try to minimize percentage difference at OD level (not absolute numbers). Recommended to set it to true
53-
use_percentages = true
57+
commute_level = "OA"
58+
use_percentages = true # if true, optimization problem will try to minimize percentage difference at OD level (not absolute numbers). Recommended to set it to true
5459
# weights to add for each objective in the optimization problem
5560
weight_max_dev = 0.2
5661
weight_total_dev = 0.8
57-
# maximum number of feasible zones to include in the optimization problem (less zones makes problem smaller - so faster, but at the cost of a better solution)
58-
max_zones = 10
62+
max_zones = 8 # maximum number of feasible zones to include in the optimization problem (less zones makes problem smaller - so faster, but at the cost of a better solution)
63+
64+
[secondary_assignment]
65+
# Probablity of choosing a secondary zone. Same idea as a gravity model. We use floor_space / distance^n, where n is the power value used here
66+
# See here to understand how this probability matrix is used https://github.com/arup-group/pam/blob/main/examples/17_advanced_discretionary_locations.ipynb
67+
visit_probability_power = 2.0 # Default power value
5968

6069
[postprocessing]
6170
pam_jitter = 30
@@ -73,4 +82,5 @@ modes_passenger = ['car_passenger', 'taxi']
7382
# yearly state pension: for getting hhlIncome of pensioners
7483
state_pension = 11502
7584

85+
7686
```

0 commit comments

Comments
 (0)