R is a programming language for statistical computing and graphics. To install R, required installation files can be found in the following link:

Download RStudio

Apollo Choice Modeling framework has been employed in running the mode choice model component. We prepared the R notebooks for all models included in the guidebook.

Clear memory

rm(list = ls())

Install and load Apollo library

In first step of data processing in R, we need to call required package

library(apollo)
## Apollo 0.2.8
## http://www.ApolloChoiceModelling.com
## See url for a detailed manual, examples and a user forum.
## Sign up to the user forum to receive updates on new releases.
## 
## Your version of Apollo is more than six months old.
## Using the latest version will ensure you have all
##  current functionality and bug fixes.
## You can update to the latest version by typing:
##  install.packages("apollo")

Initialize code and set core controls

apollo_initialise()
apollo_control = list(
  modelName       = "MNL_Mode Choice Model_NMO",
  modelDescr      = "Simple MNL model on mode choice considering NMO",
  indivID         = "id",
  outputDirectory = "output",
  panelData = FALSE
)

Load data and check summary

database = read.csv("D:/Projects/20-102/Project Task/Task 4/R code/Mode choice data_NMO.csv",header=TRUE)
summary(database)
##        id           Choice          Drive           Pasenger     
##  Min.   :   1   Min.   :1.000   Min.   :0.0000   Min.   :0.0000  
##  1st Qu.:1251   1st Qu.:2.000   1st Qu.:0.0000   1st Qu.:0.0000  
##  Median :2500   Median :2.000   Median :1.0000   Median :0.0000  
##  Mean   :2500   Mean   :3.093   Mean   :0.6166   Mean   :0.0528  
##  3rd Qu.:3750   3rd Qu.:4.000   3rd Qu.:1.0000   3rd Qu.:0.0000  
##  Max.   :5000   Max.   :9.000   Max.   :1.0000   Max.   :1.0000  
##     Transit            Bike             Walk            PRKR      
##  Min.   :0.0000   Min.   :0.0000   Min.   :0.000   Min.   :0.000  
##  1st Qu.:0.0000   1st Qu.:0.0000   1st Qu.:0.000   1st Qu.:0.000  
##  Median :0.0000   Median :0.0000   Median :0.000   Median :0.000  
##  Mean   :0.1888   Mean   :0.0112   Mean   :0.042   Mean   :0.034  
##  3rd Qu.:0.0000   3rd Qu.:0.0000   3rd Qu.:0.000   3rd Qu.:0.000  
##  Max.   :1.0000   Max.   :1.0000   Max.   :1.000   Max.   :1.000  
##      Other             TNC           Micro          av_Drive    
##  Min.   :0.0000   Min.   :0.00   Min.   :0.000   Min.   :0.000  
##  1st Qu.:0.0000   1st Qu.:0.00   1st Qu.:0.000   1st Qu.:1.000  
##  Median :0.0000   Median :0.00   Median :0.000   Median :1.000  
##  Mean   :0.0026   Mean   :0.04   Mean   :0.012   Mean   :0.865  
##  3rd Qu.:0.0000   3rd Qu.:0.00   3rd Qu.:0.000   3rd Qu.:1.000  
##  Max.   :1.0000   Max.   :1.00   Max.   :1.000   Max.   :1.000  
##    av_Transit       av_Bike          av_Walk        av_Passenger    av_PRKR 
##  Min.   :0.000   Min.   :0.0000   Min.   :0.0000   Min.   :1     Min.   :1  
##  1st Qu.:1.000   1st Qu.:0.0000   1st Qu.:0.0000   1st Qu.:1     1st Qu.:1  
##  Median :1.000   Median :1.0000   Median :0.0000   Median :1     Median :1  
##  Mean   :0.992   Mean   :0.5688   Mean   :0.1916   Mean   :1     Mean   :1  
##  3rd Qu.:1.000   3rd Qu.:1.0000   3rd Qu.:0.0000   3rd Qu.:1     3rd Qu.:1  
##  Max.   :1.000   Max.   :1.0000   Max.   :1.0000   Max.   :1     Max.   :1  
##      av_TNC     av_Micro    av_Other   time_Other          time_Drive      
##  Min.   :1   Min.   :1   Min.   :1   Min.   :  0.02167   Min.   : 0.01667  
##  1st Qu.:1   1st Qu.:1   1st Qu.:1   1st Qu.: 12.79958   1st Qu.: 9.84583  
##  Median :1   Median :1   Median :1   Median : 21.59083   Median :16.60833  
##  Mean   :1   Mean   :1   Mean   :1   Mean   : 23.53870   Mean   :18.10670  
##  3rd Qu.:1   3rd Qu.:1   3rd Qu.:1   3rd Qu.: 31.70917   3rd Qu.:24.39167  
##  Max.   :1   Max.   :1   Max.   :1   Max.   :101.76833   Max.   :78.28333  
##   time_Transit     time_PRKR       time_Bike        time_Walk        
##  Min.   :  0.0   Min.   : 10.0   Min.   :  0.10   Min.   :   0.3167  
##  1st Qu.: 14.0   1st Qu.: 24.0   1st Qu.: 22.54   1st Qu.:  60.7750  
##  Median : 29.0   Median : 39.0   Median : 50.33   Median : 134.2083  
##  Mean   : 34.2   Mean   : 44.2   Mean   : 65.56   Mean   : 171.9537  
##  3rd Qu.: 48.0   3rd Qu.: 58.0   3rd Qu.: 93.91   3rd Qu.: 245.9250  
##  Max.   :202.7   Max.   :212.7   Max.   :380.65   Max.   :1451.8333  
##     time_TNC          time_Micro       cost_Drive      cost_Transit  
##  Min.   : 0.01833   Min.   :  0.09   Min.   : 1.335   Min.   :1.280  
##  1st Qu.:10.83042   1st Qu.: 20.29   1st Qu.: 2.266   1st Qu.:3.250  
##  Median :18.26917   Median : 45.29   Median : 3.465   Median :3.250  
##  Mean   :19.91737   Mean   : 59.00   Mean   : 4.095   Mean   :4.468  
##  3rd Qu.:26.83083   3rd Qu.: 84.52   3rd Qu.: 5.289   3rd Qu.:6.750  
##  Max.   :86.11167   Max.   :342.58   Max.   :19.818   Max.   :9.750  
##    cost_PRKR        cost_Other        cost_TNC        cost_Micro   
##  Min.   : 1.428   Min.   : 1.934   Min.   : 1.735   Min.   :1.024  
##  1st Qu.: 3.410   1st Qu.: 3.987   1st Qu.: 2.946   1st Qu.:1.704  
##  Median : 3.953   Median : 5.864   Median : 4.505   Median :2.206  
##  Mean   : 4.878   Mean   : 5.994   Mean   : 5.323   Mean   :2.581  
##  3rd Qu.: 6.977   3rd Qu.: 7.441   3rd Qu.: 6.876   3rd Qu.:3.450  
##  Max.   :10.204   Max.   :18.598   Max.   :25.764   Max.   :5.600  
##       DCBD              Male            Age20           Age2140      
##  Min.   : 0.1264   Min.   :0.0000   Min.   :0.0000   Min.   :0.0000  
##  1st Qu.: 3.4522   1st Qu.:0.0000   1st Qu.:0.0000   1st Qu.:0.0000  
##  Median : 9.6320   Median :1.0000   Median :0.0000   Median :0.0000  
##  Mean   :12.7275   Mean   :0.5278   Mean   :0.0342   Mean   :0.3782  
##  3rd Qu.:17.1038   3rd Qu.:1.0000   3rd Qu.:0.0000   3rd Qu.:1.0000  
##  Max.   :68.9812   Max.   :1.0000   Max.   :1.0000   Max.   :1.0000  
##     HH_0car          HH_2cars         HH_1pers         MOR_PIK    
##  Min.   :0.0000   Min.   :0.0000   Min.   :0.0000   Min.   :0.00  
##  1st Qu.:0.0000   1st Qu.:0.0000   1st Qu.:0.0000   1st Qu.:0.00  
##  Median :0.0000   Median :0.0000   Median :0.0000   Median :1.00  
##  Mean   :0.0836   Mean   :0.4278   Mean   :0.1028   Mean   :0.68  
##  3rd Qu.:0.0000   3rd Qu.:1.0000   3rd Qu.:0.0000   3rd Qu.:1.00  
##  Max.   :1.0000   Max.   :1.0000   Max.   :1.0000   Max.   :1.00  
##       NMO         nmo_vo01        nmo_hin     
##  Min.   :0.0   Min.   :0.000   Min.   :0.000  
##  1st Qu.:0.0   1st Qu.:0.000   1st Qu.:0.000  
##  Median :0.0   Median :0.000   Median :0.000  
##  Mean   :0.2   Mean   :0.443   Mean   :0.072  
##  3rd Qu.:0.0   3rd Qu.:1.000   3rd Qu.:0.000  
##  Max.   :1.0   Max.   :1.000   Max.   :1.000
table(database$Choice)
## 
##    1    2    3    4    5    6    7    8    9 
##   13 3083  264  944  210   56  170  200   60

Here, Choice = Mode alternatives, Drive = Drive mode, Passenger = Passenger mode, Transit = Transit mode, Walk = Walk mode, Bike = Bike mode, PRKR = Park and Ride mode, Other = Other mode, TNC = TNC mode, Micro = Shared-micromobility mode, av_Drive = Availability of drive mode, av_Passenger = Availability of Passenger mode, av_Transit = Availability of Transit mode, av_Walk = Availability of Walk mode, av_Bike = Availability of Bike mode, av_PRKR = Availability of Park and Ride mode, av_TNC = Availability of TNC mode, av_Micro = Availability of Shared-micromobility mode, av_Other = Availability of Other mode, time_Other = Travel time of Other mode, time_Drive = Travel time of Drive mode, time_Transit = Travel time of Transit mode, time_PRKR = Travel time of Park and Ride mode, time_Bike = Travel time of Bike mode, time_Walk = Travel time of Walk mode, time_TNC = Travel time of TNC mode, time_Micro = Travel time of Shared-micromobility mode, cost_Drive = Travel cost of Drive mode, cost_Transit = Travel cost of Transit mode, cost_PRKR = Travel cost of Park and Ride mode, cost_Other = Travel cost of Other mode, cost_TNC = Travel cost of TNC mode, cost_Micro = Travel cost of Shared-micromobility mode, DCBD = Destination distance from CBD, Male = Male, Age 20 = Age <= 20, Age2140 = Age 21-40, HH_1pers = One person HH, HH_0car = Zero car HH, HH_2cars = HH with two cars, MOR_PIK = Morning peak, NMO = NMO availability, nmo_vo01 = NMO availability* HH car ≤ 1, nmo_hin = NMO availability* High income HH

Initialize vector of parameters

Include fixed parameters in estimation process. Vector with names (in quotes) of parameters to be kept fixed at their starting value in apollo_beta, use apollo_beta_fixed = c() if none

apollo_beta=c(asc_Other           = 0,
              asc_Drive           = 0,
              asc_Passenger       = 0,
              asc_Transit         = 0,
              asc_Walk            = 0,
              asc_Bike            = 0,
              asc_PRKR            = 0,
              asc_TNC             = 0,
              asc_Micro           = 0,
              b_tt                = 0,
              b_cost              = 0,
              b_DCBD_Drive        = 0,
              b_DCBD_Passenger    = 0,
              b_male_Drive        = 0,
              b_male_Passenger    = 0,
              b_male_Bike           =   0,
              b_male_TNC            =   0,
              b_male_Micro        = 0,
              b_Age20_Bike        = 0,
              b_Age20_PRKR        = 0,
              b_Age2140_Transit   = 0,
              b_Age2140_Walk        =   0,
              b_HH1pers_Passenger   =   0,
              b_HH0car            = 0,
              b_HH0car_TNC        = 0,
              b_HH2cars_Drive       =   0,
              b_Morpik            = 0,
              b_Morpik_PRKR       = 0,
              b_NMO               = 0,
              b_NMOvo01           = 0,
              b_NMOhi_TNC         = 0)



apollo_fixed = c("asc_Other")


apollo_inputs = apollo_validateInputs()
## All checks on apollo_control completed.
## All checks on database completed.

Define the utilities of MNL model and compute the likelihood function

# DEFINE MODEL AND LIKELIHOOD FUNCTION

apollo_probabilities=function(apollo_beta, apollo_inputs, functionality="estimate"){
    
  # Attach inputs and detach after function exit
  apollo_attach(apollo_beta, apollo_inputs)
  on.exit(apollo_detach(apollo_beta, apollo_inputs))

  # Create list of probabilities P
  P = list()
  
  # List of utilities: these must use the same names as in mnl_settings, order is irrelevant
  V = list()
  V[["Other"]]  =       asc_Other   +    b_tt   *   time_Other +    b_cost  *   cost_Other                                                                                                                                                                              
  V[["Drive"]]  =       asc_Drive   +   b_tt    *   time_Drive  +   b_cost  *   cost_Drive    + b_DCBD_Drive    *   DCBD    +   b_male_Drive    *   Male +  b_HH2cars_Drive *   HH_2cars
  
  V[["Passenger"]]  =   asc_Passenger   +    b_tt   *   time_Drive +    b_DCBD_Passenger    *   DCBD    +   b_male_Passenger    *   Male + b_HH1pers_Passenger  *   HH_1pers

  V[["Transit"]]    =     asc_Transit   +   b_tt    *   time_Transit    +   b_cost  *   cost_Transit +  b_Age2140_Transit   *   Age2140 +   b_HH0car    *   HH_0car +   b_Morpik    *   MOR_PIK
  
  V[["Walk"]]   =         asc_Walk +    b_tt    *   time_Walk + b_Age2140_Walk  *   Age2140 +   b_HH0car    *   HH_0car                                                                             
  V[["Bike"]]   =         asc_Bike +    b_tt    *   time_Bike + b_male_Bike *   Male +  b_Age20_Bike    *   Age20   +   b_HH0car    *   HH_0car
  
  V[["PRKR"]]   =         asc_PRKR +    b_tt    *   time_PRKR   +   b_cost  *   cost_PRKR   +   b_Age20_PRKR    *   Age20   +   b_Morpik_PRKR   *   MOR_PIK
  
  V[["TNC"]]    =         asc_TNC    +  b_tt    *   time_TNC    +   b_cost  *   cost_TNC +  b_male_TNC  *   Male +  b_HH0car_TNC    *   HH_0car +   b_Morpik    *   MOR_PIK +   b_NMO   *   NMO +   b_NMOvo01   *   nmo_vo01    +   b_NMOhi_TNC *   nmo_hin
  
  V[["Micro"]]  =       asc_Micro   +    b_tt   *   time_Micro +    b_cost  *   cost_Micro +    b_male_Micro    *   Male +  b_NMO   *   NMO +   b_NMOvo01   *   nmo_vo01                
  
  ### Define settings for MNL model component
  mnl_settings = list(
    alternatives  = c(Other=1, Drive=2, Passenger=3, Transit=4,Walk=5, Bike=6, PRKR=7, TNC=8,Micro=9), 
    avail         = list(Other=av_Other, Drive=av_Drive, Passenger=av_Passenger, Transit=av_Transit, Walk=av_Walk, 
                         Bike=av_Bike, PRKR=av_PRKR, TNC=av_TNC, Micro=av_Micro), 
    choiceVar     = Choice,
    utilities     = V
  )
  
  # Compute probabilities using MNL model
  P[["model"]] = apollo_mnl(mnl_settings, functionality)
  
  # Prepare and return outputs of function
  P = apollo_prepareProb(P, apollo_inputs, functionality)
  return(P)
  nrow(p)
}

Model estimation

model = apollo_estimate(apollo_beta, apollo_fixed, apollo_probabilities, apollo_inputs)
## Preparing user-defined functions.
## 
## Testing likelihood function...
## 
## Overview of choices for MNL model component :
##                                    Other   Drive Passenger Transit   Walk
## Times available                  5000.00 4325.00   5000.00 4960.00 958.00
## Times chosen                       13.00 3083.00    264.00  944.00 210.00
## Percentage chosen overall           0.26   61.66      5.28   18.88   4.20
## Percentage chosen when available    0.26   71.28      5.28   19.03  21.92
##                                     Bike   PRKR  TNC  Micro
## Times available                  2844.00 5000.0 5000 5000.0
## Times chosen                       56.00  170.0  200   60.0
## Percentage chosen overall           1.12    3.4    4    1.2
## Percentage chosen when available    1.97    3.4    4    1.2
## 
## Pre-processing likelihood function...
## 
## Testing influence of parameters
## Starting main estimation
## Initial function value: -10127.64 
## Initial gradient value:
##           asc_Drive       asc_Passenger         asc_Transit            asc_Walk 
##         2515.168651         -398.825397          287.329365          100.162698 
##            asc_Bike            asc_PRKR             asc_TNC           asc_Micro 
##         -295.533730         -492.825397         -462.825397         -602.825397 
##                b_tt              b_cost        b_DCBD_Drive    b_DCBD_Passenger 
##       -53652.015240         -423.924610        41809.095358        -5105.797077 
##        b_male_Drive    b_male_Passenger         b_male_Bike          b_male_TNC 
##         1449.430556         -265.789683         -127.902778         -243.789683 
##        b_male_Micro        b_Age20_Bike        b_Age20_PRKR   b_Age2140_Transit 
##         -319.789683          -16.545635          -21.075397          167.549603 
##      b_Age2140_Walk b_HH1pers_Passenger            b_HH0car        b_HH0car_TNC 
##           51.972222          -59.224206          235.660714          -48.466270 
##     b_HH2cars_Drive            b_Morpik       b_Morpik_PRKR               b_NMO 
##         1401.539683          -89.152778         -306.490079           -7.738095 
##           b_NMOvo01         b_NMOhi_TNC 
##         -373.103175          131.295635 
## initial  value 10127.635998 
## iter   2 value 7194.665183
## iter   3 value 6502.392983
## iter   4 value 6369.960848
## iter   5 value 6069.720590
## iter   6 value 5459.548973
## iter   7 value 5028.178719
## iter   8 value 4761.994234
## iter   9 value 4444.481173
## iter  10 value 4371.965817
## iter  11 value 4327.340712
## iter  12 value 4292.084229
## iter  13 value 4268.552399
## iter  14 value 4199.313859
## iter  15 value 4070.599240
## iter  16 value 3971.030589
## iter  17 value 3941.005077
## iter  18 value 3915.329490
## iter  19 value 3891.407949
## iter  20 value 3873.237412
## iter  21 value 3844.732540
## iter  22 value 3822.810829
## iter  23 value 3809.619071
## iter  24 value 3788.730165
## iter  25 value 3766.482352
## iter  26 value 3747.232326
## iter  27 value 3732.557637
## iter  28 value 3730.994814
## iter  29 value 3728.819912
## iter  30 value 3727.772645
## iter  31 value 3719.147990
## iter  32 value 3712.693816
## iter  33 value 3710.724645
## iter  34 value 3708.096724
## iter  35 value 3706.196381
## iter  36 value 3705.540218
## iter  37 value 3704.467623
## iter  38 value 3703.275935
## iter  39 value 3702.822423
## iter  40 value 3702.414034
## iter  41 value 3702.190480
## iter  42 value 3702.115833
## iter  43 value 3702.099678
## iter  44 value 3702.096565
## iter  45 value 3702.096192
## iter  45 value 3702.096144
## iter  45 value 3702.096144
## final  value 3702.096144 
## converged
## Additional convergence test using scaled estimation. Parameters will be
##   scaled by their current estimates and additional iterations will be
##   performed.
## initial  value 3702.096144 
## iter   1 value 3702.096144
## final  value 3702.096144 
## converged
## Estimated parameters:
##                        Estimate
## asc_Other               0.00000
## asc_Drive               3.66382
## asc_Passenger           0.56495
## asc_Transit             3.47700
## asc_Walk                3.74440
## asc_Bike                0.23731
## asc_PRKR                2.28119
## asc_TNC                -4.99355
## asc_Micro              -3.60408
## b_tt                   -0.05382
## b_cost                 -0.36184
## b_DCBD_Drive            0.07584
## b_DCBD_Passenger        0.04221
## b_male_Drive            0.21605
## b_male_Passenger       -1.14400
## b_male_Bike             1.26909
## b_male_TNC              0.78985
## b_male_Micro            0.68135
## b_Age20_Bike           -1.91858
## b_Age20_PRKR           -2.03812
## b_Age2140_Transit       0.31370
## b_Age2140_Walk          0.46040
## b_HH1pers_Passenger    -1.20390
## b_HH0car                1.21636
## b_HH0car_TNC           -0.90714
## b_HH2cars_Drive         0.75762
## b_Morpik                0.24520
## b_Morpik_PRKR           0.93532
## b_NMO                   5.63650
## b_NMOvo01               1.58724
## b_NMOhi_TNC             3.78482
## 
## Final LL: -3702.0961
## 
## Calculating log-likelihood at equal shares (LL(0)) for applicable
##   models...
## Calculating log-likelihood at observed shares from estimation data
##   (LL(c)) for applicable models...
## Calculating LL of each model component...
## Calculating other model fit measures
## Computing covariance matrix using analytical gradient.
##  0%....25%....50%....75%...100%
## Negative definite Hessian with maximum eigenvalue: -0.569701
## Computing score matrix...

Model outputs

apollo_modelOutput(model)
## Model run by Surface using Apollo 0.2.8 on R 4.1.3 for Windows.
## www.ApolloChoiceModelling.com
## 
## Model name                                  : MNL_Mode Choice Model_NMO
## Model description                           : Simple MNL model on mode choice considering NMO
## Model run at                                : 2023-11-20 12:41:29
## Estimation method                           : bfgs
## Model diagnosis                             : successful convergence 
## Number of individuals                       : 5000
## Number of rows in database                  : 5000
## Number of modelled outcomes                 : 5000
## 
## Number of cores used                        :  1 
## Model without mixing
## 
## LL(start)                                   : -10127.64
## LL at equal shares, LL(0)                   : -10127.64
## LL at observed shares, LL(C)                : -5215.96
## LL(final)                                   : -3702.1
## Rho-squared vs equal shares                  :  0.6345 
## Adj.Rho-squared vs equal shares              :  0.6315 
## Rho-squared vs observed shares               :  0.2902 
## Adj.Rho-squared vs observed shares           :  0.2845 
## AIC                                         :  7464.19 
## BIC                                         :  7659.71 
## 
## Estimated parameters                        :  30
## Time taken (hh:mm:ss)                       :  00:00:14.86 
##      pre-estimation                         :  00:00:2.92 
##      estimation                             :  00:00:2.82 
##      post-estimation                        :  00:00:9.13 
## Iterations                                  :  48  
## Min abs eigenvalue of Hessian               :  0.569701 
## 
## Unconstrained optimisation.
## 
## These outputs have had the scaling used in estimation applied to them.
## Estimates:
##                        Estimate        s.e.   t.rat.(0)    Rob.s.e.
## asc_Other               0.00000          NA          NA          NA
## asc_Drive               3.66382    0.289546     12.6537    0.282744
## asc_Passenger           0.56495    0.318100      1.7760    0.323617
## asc_Transit             3.47700    0.292264     11.8968    0.287899
## asc_Walk                3.74440    0.309656     12.0921    0.319224
## asc_Bike                0.23731    0.383379      0.6190    0.385603
## asc_PRKR                2.28119    0.348279      6.5499    0.348095
## asc_TNC                -4.99355    0.823483     -6.0639    0.845797
## asc_Micro              -3.60408    0.809226     -4.4537    0.851793
## b_tt                   -0.05382    0.003139    -17.1442    0.004950
## b_cost                 -0.36184    0.017275    -20.9452    0.018879
## b_DCBD_Drive            0.07584    0.005421     13.9904    0.006871
## b_DCBD_Passenger        0.04221    0.007660      5.5106    0.009207
## b_male_Drive            0.21605    0.089431      2.4158    0.082298
## b_male_Passenger       -1.14400    0.160155     -7.1430    0.175948
## b_male_Bike             1.26909    0.303865      4.1765    0.303260
## b_male_TNC              0.78985    0.225839      3.4974    0.235021
## b_male_Micro            0.68135    0.292525      2.3292    0.308707
## b_Age20_Bike           -1.91858    1.021390     -1.8784    1.017471
## b_Age20_PRKR           -2.03812    1.013756     -2.0105    1.025783
## b_Age2140_Transit       0.31370    0.091763      3.4186    0.082970
## b_Age2140_Walk          0.46040    0.183569      2.5080    0.178276
## b_HH1pers_Passenger    -1.20390    0.353137     -3.4092    0.351941
## b_HH0car                1.21636    0.181317      6.7084    0.168671
## b_HH0car_TNC           -0.90714    0.447506     -2.0271    0.420983
## b_HH2cars_Drive         0.75762    0.081652      9.2787    0.077587
## b_Morpik                0.24520    0.095292      2.5731    0.087227
## b_Morpik_PRKR           0.93532    0.225563      4.1466    0.227532
## b_NMO                   5.63650    0.719874      7.8298    0.724803
## b_NMOvo01               1.58724    0.219102      7.2443    0.263080
## b_NMOhi_TNC             3.78482    0.264426     14.3134    0.306941
##                     Rob.t.rat.(0)
## asc_Other                      NA
## asc_Drive                 12.9581
## asc_Passenger              1.7457
## asc_Transit               12.0771
## asc_Walk                  11.7297
## asc_Bike                   0.6154
## asc_PRKR                   6.5534
## asc_TNC                   -5.9040
## asc_Micro                 -4.2312
## b_tt                     -10.8733
## b_cost                   -19.1664
## b_DCBD_Drive              11.0375
## b_DCBD_Passenger           4.5848
## b_male_Drive               2.6252
## b_male_Passenger          -6.5019
## b_male_Bike                4.1848
## b_male_TNC                 3.3608
## b_male_Micro               2.2071
## b_Age20_Bike              -1.8856
## b_Age20_PRKR              -1.9869
## b_Age2140_Transit          3.7809
## b_Age2140_Walk             2.5825
## b_HH1pers_Passenger       -3.4208
## b_HH0car                   7.2114
## b_HH0car_TNC              -2.1548
## b_HH2cars_Drive            9.7647
## b_Morpik                   2.8110
## b_Morpik_PRKR              4.1107
## b_NMO                      7.7766
## b_NMOvo01                  6.0333
## b_NMOhi_TNC               12.3308

Here, asc_Other = Alternative specific constant for Other mode, asc_Drive = Alternative specific constant for Drive mode, asc_Passenger = Alternative specific constant Passenger mode, asc_Transit = Alternative specific constant for Transit mode, asc_Walk = Alternative specific constant for Wlak mode, asc_Bike = Alternative specific constant for Bike mode, asc_PRKR = Alternative specific constant for Park and Ride mode, asc_TNC = Alternative specific constant for TNC mode, asc_Micro = Alternative specific constant for Shared-micromobility mode, b_tt = Coefficient for travel time, b_cost = Coefficient for travel cost, b_DCBD_Drive = Coefficient for destination distance from CBD (Drive mode), b_DCBD_Passenger = Coefficient for destination distance from CBD (Passenger mode), b_male_Drive = Coefficient for male (Drive mode), b_male_Passenger = Coefficient for male (Passenger mode), b_male_Bike = Coefficient for male (Bike mode), b_male_TNC = Coefficient for male (TNC mode), b_male_Micro = Coefficient for male (Shared-micromobility mode), b_Age20_Bike = Coefficient for Age <= 20 (Bike mode), b_Age20_PRKR = Coefficient for Age <= 20 (Park and Ride mode), b_Age2140_Transit = Coefficient for Age 21-40 (Transit mode), b_Age2140_Walk = Coefficient for Age 21-40 (Walk mode), b_HH1pers_Passenger = Coefficient for HH with 1 person (Passenger mode), b_HH0car = Coefficient for HH with zero car (transit, Walk and Bike mode), b_HH0car_TNC = Coefficient for HH with zero car (TNC mode), b_HH2cars_Drive = Coefficient for HH with two cars (Drive mode), b_Morpik = Coefficient for Morning peak (Transit and TNC mode), b_Morpik_PRKR = Coefficient for Morning peak (Park and Ride mode), b_NMO = Coefficient for NMO availability (TNC and Shared-micromobility mode), b_NMOvo01 = Coefficient for NMO availability* HH car ≤ 1 (TNC and Shared-micromobility mode), b_NMOhi_TNC = Coefficient for NMO availability* High income HH (TNC mode)