2: MTC MNL Mode Choice, Motorized

2: MTC MNL Mode Choice, Motorized

Model 2 posits that the effect of income relative to drive alone is the same for both shared ride modes and transit but is different for the other modes. This is represented in the model by constraining the income coefficients in both shared ride modes and the transit mode to be equal. (pp. 108)

To accomplish this, we give the income parameters for all three alternatives the same name.

d = larch.examples.MTC()
m = larch.Model(dataservice=d)
from larch.roles import P, X, PX
m.utility_co[2] = P("ASC_SR2")  + P("hhinc#Moto") * X("hhinc")
m.utility_co[3] = P("ASC_SR3P") + P("hhinc#Moto") * X("hhinc")
m.utility_co[4] = P("ASC_TRAN") + P("hhinc#Moto") * X("hhinc")
m.utility_co[5] = P("ASC_BIKE") + P("hhinc#5") * X("hhinc")
m.utility_co[6] = P("ASC_WALK") + P("hhinc#6") * X("hhinc")
m.utility_ca = PX("tottime") + PX("totcost")
m.availability_var = '_avail_'
m.choice_ca_var = '_choice_'
m.ordering = (
        ("LOS", "totcost", "tottime", ),
        ("Income", "hhinc.*", ),
        ("ASCs", "ASC.*", ),
)
m.title = "MTC Example 2, Motorized"
>>> m.load_data()
>>> m.maximize_loglike()
┣ ...Optimization terminated successfully...
>>> m.calculate_parameter_covariance()
>>> m.loglike()
-3628.285...
>>> print(m.pfo()[['value','std_err','t_stat','robust_std_err','robust_t_stat']])
                      value  std_err   t_stat  robust_std_err  robust_t_stat
Category Parameter
LOS      totcost    -0.0049   0.0002 -20.5689          0.0003       -17.2879
         tottime    -0.0514   0.0031 -16.6075          0.0035       -14.8957
Income   hhinc#5    -0.0125   0.0053  -2.3500          0.0066        -1.9071
         hhinc#6    -0.0092   0.0030  -3.0658          0.0032        -2.8985
         hhinc#Moto -0.0029   0.0012  -2.3483          0.0012        -2.3163
ASCs     ASC_BIKE   -2.3903   0.3043  -7.8545          0.3604        -6.6321
         ASC_SR2    -2.1370   0.0884 -24.1778          0.0917       -23.2969
         ASC_SR3P   -3.5322   0.1153 -30.6408          0.1176       -30.0402
         ASC_TRAN   -0.7995   0.1124  -7.1099          0.1117        -7.1582
         ASC_WALK   -0.2297   0.1933  -1.1879          0.2051        -1.1197