Model run by stephane.hess using Apollo 0.3.5 on R 4.4.0 for Darwin. Please acknowledge the use of Apollo by citing Hess & Palma (2019) DOI 10.1016/j.jocm.2019.100170 www.ApolloChoiceModelling.com Model name : DFT_route_choice Model description : DFT model on Swiss route choice SP data Model run at : 2025-03-10 17:11:52.514402 Estimation method : bgw Model diagnosis : Relative function convergence Optimisation diagnosis : Maximum found hessian properties : Negative definite maximum eigenvalue : -0.260909 reciprocal of condition number : 0.000406092 Number of individuals : 388 Number of rows in database : 3492 Number of modelled outcomes : 3492 Number of cores used : 4 Model without mixing LL(start) : -2334.29 LL at equal shares, LL(0) : -2420.47 LL at observed shares, LL(C) : NA LL(final) : -1620.96 Rho-squared vs equal shares : 0.3303 Adj.Rho-squared vs equal shares : 0.3278 Rho-squared vs observed shares : Not applicable Adj.Rho-squared vs observed shares : Not applicable AIC : 3253.92 BIC : 3290.87 Estimated parameters : 6 Time taken (hh:mm:ss) : 00:00:12.1 pre-estimation : 00:00:2.25 estimation : 00:00:3.04 post-estimation : 00:00:6.8 Iterations : 11 Unconstrained optimisation. Estimates: Estimate s.e. t.rat.(0) Rob.s.e. Rob.t.rat.(0) asc_1 0.3854 1.95769 0.1969 2.07966 0.1853 asc_2 0.0000 NA NA NA NA b_tc 0.8968 0.05453 16.4474 0.09469 9.4712 b_tt 0.0000 NA NA NA NA b_hw -0.6710 0.08637 -7.7693 0.11341 -5.9165 b_ch 2.6244 0.07859 33.3940 0.10270 25.5545 p_phi1 1.0000 NA NA NA NA p_phi2 0.0000 NA NA NA NA p_error_sd 6.2632 0.71642 8.7423 0.88504 7.0768 p_timesteps 3.5444 0.12772 27.7522 0.15235 23.2654 Overview of choices for DFT model component : alt1 alt2 Times available 3492.00 3492.00 Times chosen 1734.00 1758.00 Percentage chosen overall 49.66 50.34 Percentage chosen when available 49.66 50.34 Classical covariance matrix: asc_1 b_tc b_hw b_ch p_error_sd p_timesteps asc_1 3.832536 -9.1971e-04 0.001641 7.6314e-04 -0.026374 -0.002691 b_tc -9.1971e-04 0.002973 -5.2002e-04 -8.9812e-04 -0.010712 -9.0930e-04 b_hw 0.001641 -5.2002e-04 0.007460 0.005019 0.009316 -4.0557e-04 b_ch 7.6314e-04 -8.9812e-04 0.005019 0.006176 0.018422 0.001572 p_error_sd -0.026374 -0.010712 0.009316 0.018422 0.513258 0.078346 p_timesteps -0.002691 -9.0930e-04 -4.0557e-04 0.001572 0.078346 0.016311 Robust covariance matrix: asc_1 b_tc b_hw b_ch p_error_sd p_timesteps asc_1 4.324980 0.008500 -0.004231 -0.011551 -0.05769 0.007353 b_tc 0.008500 0.008966 -0.001927 -0.002430 -0.03180 -0.002342 b_hw -0.004231 -0.001927 0.012863 0.008789 0.02844 7.3561e-04 b_ch -0.011551 -0.002430 0.008789 0.010547 0.03720 0.004044 p_error_sd -0.057693 -0.031804 0.028439 0.037205 0.78329 0.107555 p_timesteps 0.007353 -0.002342 7.3561e-04 0.004044 0.10756 0.023210 Classical correlation matrix: asc_1 b_tc b_hw b_ch p_error_sd p_timesteps asc_1 1.000000 -0.008616 0.009705 0.004960 -0.01880 -0.01076 b_tc -0.008616 1.000000 -0.110423 -0.209584 -0.27423 -0.13057 b_hw 0.009705 -0.110423 1.000000 0.739432 0.15056 -0.03677 b_ch 0.004960 -0.209584 0.739432 1.000000 0.32719 0.15663 p_error_sd -0.018805 -0.274229 0.150558 0.327186 1.00000 0.85625 p_timesteps -0.010763 -0.130574 -0.036768 0.156634 0.85625 1.00000 Robust correlation matrix: asc_1 b_tc b_hw b_ch p_error_sd p_timesteps asc_1 1.00000 0.04316 -0.01794 -0.05408 -0.03135 0.02321 b_tc 0.04316 1.00000 -0.17942 -0.24985 -0.37951 -0.16234 b_hw -0.01794 -0.17942 1.00000 0.75454 0.28333 0.04257 b_ch -0.05408 -0.24985 0.75454 1.00000 0.40933 0.25845 p_error_sd -0.03135 -0.37951 0.28333 0.40933 1.00000 0.79769 p_timesteps 0.02321 -0.16234 0.04257 0.25845 0.79769 1.00000 20 most extreme outliers in terms of lowest average per choice prediction: ID Avg prob per choice 13214 0.2207897 23205 0.2446326 19470 0.2941429 22278 0.2945756 20323 0.3004175 22580 0.3193562 14802 0.3200012 76862 0.3212977 18219 0.3263664 20010 0.3447909 15174 0.3488930 14728 0.3551042 16489 0.3668115 80546 0.3690911 20063 0.3708069 15030 0.3762901 18272 0.3811427 22186 0.3812374 14951 0.3835889 22961 0.3839414 Changes in parameter estimates from starting values: Initial Estimate Difference asc_1 0.000 0.3854 0.3854 asc_2 0.000 0.0000 0.0000 b_tc 0.000 0.8968 0.8968 b_tt 0.000 0.0000 0.0000 b_hw 0.000 -0.6710 -0.6710 b_ch 0.000 2.6244 2.6244 p_phi1 1.000 1.0000 0.0000 p_phi2 0.000 0.0000 0.0000 p_error_sd 1.000 6.2632 5.2632 p_timesteps 1.000 3.5444 2.5444 Settings and functions used in model definition: apollo_control -------------- Value modelDescr "DFT model on Swiss route choice SP data" indivID "ID" nCores "4" outputDirectory "output/" debug "FALSE" modelName "DFT_route_choice" workInLogs "FALSE" seed "13" mixing "FALSE" HB "FALSE" noValidation "FALSE" noDiagnostics "FALSE" calculateLLC "TRUE" analyticHessian "FALSE" memorySaver "FALSE" panelData "TRUE" analyticGrad "TRUE" analyticGrad_manualSet "FALSE" overridePanel "FALSE" preventOverridePanel "FALSE" noModification "FALSE" Hessian routines attempted -------------------------- numerical second derivative of LL (using numDeriv) Scaling used in computing Hessian --------------------------------- Value asc_1 0.3854485 b_tc 0.8968159 b_hw 0.6710211 b_ch 2.6244448 p_error_sd 6.2631822 p_timesteps 3.5444108 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 attribute values attrValues = list() attrValues[["alt1"]] = list(time=-tt1, cost=-tc1, headway = -hw1, changes=-ch1) attrValues[["alt2"]] = list(time=-tt2, cost=-tc2, headway = -hw2, changes=-ch2) ### List of initial preference values altStart = list() altStart[["alt1"]] = asc_1 altStart[["alt2"]] = asc_2 ### List of attribute weights attrWeights = list(time = exp(b_tt)/(exp(b_tt)+exp(b_tc)+exp(b_hw)+exp(b_ch)), cost = exp(b_tc)/(exp(b_tt)+exp(b_tc)+exp(b_hw)+exp(b_ch)), headway = exp(b_hw)/(exp(b_tt)+exp(b_tc)+exp(b_hw)+exp(b_ch)), changes = exp(b_ch)/(exp(b_tt)+exp(b_tc)+exp(b_hw)+exp(b_ch))) ### List of process parameters procPars = list( error_sd = p_error_sd, timesteps = 1+exp(p_timesteps), phi1 = p_phi1, phi2 = p_phi2 ) ### Define settings for DFT model component dft_settings = list( alternatives = c(alt1=1, alt2=2), avail = list(alt1=1,alt2=1), choiceVar = choice, attrValues = attrValues, altStart = altStart, attrWeights = attrWeights, attrScalings = 1, ### Using weights, so attrScalings must be set to 1. procPars = procPars ) ### Compute choice probabilities using DFT model P[["model"]] = apollo_dft(dft_settings, functionality) ### Take product across observation for same individual P = apollo_panelProd(P, apollo_inputs, functionality) ### Prepare and return outputs of function P = apollo_prepareProb(P, apollo_inputs, functionality) return(P) }