28: MTC Motorized - Shared Ride - Non-Motorized Nested Mode Choice
28: MTC Motorized - Shared Ride - Non-Motorized Nested Mode Choice¶
import larch.numba as lx
m = lx.example(17)
Model 28’s nesting structure groups motorized, shared ride, and non-motorized. (pp. 185)
shared = m.graph.new_node(parameter='mu_shared', children=[2,3], name='Shared')
motorized = m.graph.new_node(parameter='mu_moto', children=[1,shared,4], name='Motorized')
nonmotorized= m.graph.new_node(parameter='mu_nonmoto', children=[5,6], name='Nonmotorized')
m.ordering = (
("CostbyInc","costbyincome",),
("TravelTime",".*time.*",".*dist.*", ),
("Household","hhinc.*","vehbywrk.*",),
("Zonal","wkcbd.*","wkempden.*",),
("ASCs","ASC.*",),
)
m.maximize_loglike()
/home/runner/work/larch/larch/larch/larch/model/optimization.py:308: UserWarning: slsqp may not play nicely with unbounded parameters
if you get poor results, consider setting global bounds with model.set_cap()
warnings.warn( # infinite bounds # )
key | value | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
x |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
loglike | -3439.942474802497 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
d_loglike |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
nit | 87 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
nfev | 222 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
njev | 87 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
status | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
message | 'Optimization terminated successfully' | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
success | True | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
elapsed_time | 0:00:01.947781 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
method | 'slsqp' | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
n_cases | 5029 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
iteration_number | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
logloss | 0.68402117216196 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
__verbose_repr__ | True |
m.calculate_parameter_covariance()
m.parameter_summary()
Value | Std Err | t Stat | Signif | Null Value | ||
---|---|---|---|---|---|---|
Category | Parameter | |||||
CostbyInc | costbyincome | -0.0334 | 0.0101 | -3.32 | *** | 0.00 |
TravelTime | motorized_time | -0.0149 | 0.00383 | -3.88 | *** | 0.00 |
nonmotorized_time | -0.0460 | 0.00540 | -8.53 | *** | 0.00 | |
motorized_ovtbydist | -0.115 | 0.0212 | -5.41 | *** | 0.00 | |
Household | hhinc#4 | -0.00402 | 0.00162 | -2.48 | * | 0.00 |
hhinc#5 | -0.0102 | 0.00465 | -2.20 | * | 0.00 | |
hhinc#6 | -0.00638 | 0.00302 | -2.11 | * | 0.00 | |
vehbywrk_Bike | -0.735 | 0.228 | -3.22 | ** | 0.00 | |
vehbywrk_SR | -0.225 | 0.0652 | -3.45 | *** | 0.00 | |
vehbywrk_Transit | -0.703 | 0.150 | -4.69 | *** | 0.00 | |
vehbywrk_Walk | -0.765 | 0.163 | -4.69 | *** | 0.00 | |
Zonal | wkcbd_Bike | 0.415 | 0.327 | 1.27 | 0.00 | |
wkcbd_SR2 | 0.293 | 0.0989 | 2.96 | ** | 0.00 | |
wkcbd_SR3+ | 0.472 | 0.136 | 3.48 | *** | 0.00 | |
wkcbd_Transit | 0.931 | 0.224 | 4.15 | *** | 0.00 | |
wkcbd_Walk | 0.123 | 0.236 | 0.52 | 0.00 | ||
wkempden_Bike | 0.00175 | 0.00109 | 1.61 | 0.00 | ||
wkempden_SR2 | 0.00137 | 0.000362 | 3.79 | *** | 0.00 | |
wkempden_SR3+ | 0.00140 | 0.000369 | 3.80 | *** | 0.00 | |
wkempden_Transit | 0.00231 | 0.000522 | 4.42 | *** | 0.00 | |
wkempden_Walk | 0.00224 | 0.000768 | 2.91 | ** | 0.00 | |
ASCs | ASC_Bike | -1.19 | 0.416 | -2.87 | ** | 0.00 |
ASC_SR2 | -1.24 | 0.241 | -5.15 | *** | 0.00 | |
ASC_SR3+ | -1.62 | 0.355 | -4.57 | *** | 0.00 | |
ASC_Transit | -0.400 | 0.221 | -1.82 | 0.00 | ||
ASC_Walk | 0.347 | 0.358 | 0.97 | 0.00 | ||
Other | mu_moto | 0.728 | 0.136 | -2.00 | * | 1.00 |
mu_nonmoto | 0.766 | 0.178 | -1.31 | 1.00 | ||
mu_shared | 0.241 | 0.105 | -7.23 | *** | 1.00 |