I am estimating ICLV model with two Latent Classes. My model is quite complex and computationally burdensome (extremely time consuming).
The model has 7 latent variables. With original specifications, where I kept all 7 LVs as random parameters in apollo_randCoeff. But it could not finished estimation even after 30 days. So, I decided to run the estimation keeping Latent variables as fixed except one (which is affecting the Latent Class probability). Though, I am aware that LVs are random parameters, to reduce the estimation time, I wanted to try with this method. However, the estimated parameters show that I got "zero" for all the parameters related to these fixed LVs. I am not sure if I have correctly specified these parameters in the model. The code is as below:
Code: Select all
## Clear memory
rm(list = ls())
## Load apollo library
library(apollo)
## Initialise code
apollo_initialise()
## Set core controls
apollo_control = list(
modelName = "LC with MMNL",
modelDescr = "LC with random coefficients",
indivID = "ID",
nCores = 7,
outputDirectory = "output"
)
## Load data
database = read.csv("Analysis.csv", header = T)
## Define model parameters
## Vector of parameters to be estimated
apollo_beta = c(
## class-specific choice utility
# class a
asc_car_a = 0, car_ivtt_a = 0, car_egt_a = 0, car_tc_a = 0, car_pc_a = 0, lm_innv_car_a = 0, lm_skpt_car_a = 0, lm_risk_car_a = 0, lm_use_car_a = 0, lm_sn_car_a = 0, lm_env_car_a = 0,
asc_pt_a = 0, pt_ivtt_a = 0, pt_act_a = 0, pt_egt_a = 0, pt_wt_a = 0, pt_tc_a = 0, lm_innv_pt_a = 0, lm_skpt_pt_a = 0, lm_risk_pt_a = 0, lm_use_pt_a = 0, lm_sn_pt_a = 0, lm_env_pt_a = 0,
asc_ecar_a = 0, ecar_ivtt_a = 0, ecar_act_a = 0, ecar_egt_a = 0, ecar_tc_a = 0, ecar_av_a = 0, ecar_wt_a = 0, lm_innv_ecar_a = 0, lm_skpt_ecar_a = 0, lm_risk_ecar_a = 0, lm_use_ecar_a = 0, lm_sn_ecar_a = 0, lm_env_ecar_a = 0,
asc_ebike_a = 0, ebike_ivtt_a = 0, ebike_act_a = 0, ebike_egt_a = 0, ebike_tc_a = 0, ebike_av_a = 0, ebike_wt_a = 0, lm_innv_ebike_a = 0, lm_skpt_ebike_a = 0, lm_risk_ebike_a = 0, lm_use_ebike_a = 0, lm_sn_ebike_a = 0, lm_env_ebike_a = 0,
asc_escoot_a = 0, escoot_ivtt_a = 0, escoot_act_a = 0, escoot_egt_a = 0, escoot_tc_a = 0, escoot_av_a = 0, escoot_wt_a = 0, lm_innv_escoot_a = 0, lm_skpt_escoot_a = 0, lm_risk_escoot_a = 0, lm_use_escoot_a = 0, lm_sn_escoot_a = 0, lm_env_escoot_a = 0,
asc_aebike_a = 0, aebike_ivtt_a = 0, aebike_wk_a = 0, aebike_tc_a = 0, aebike_av_a = 0, aebike_wt_a = 0, lm_innv_aebike_a = 0, lm_skpt_aebike_a = 0, lm_risk_aebike_a = 0, lm_use_aebike_a = 0, lm_sn_aebike_a = 0, lm_env_aebike_a = 0,
asc_aescoot_a = 0, aescoot_ivtt_a = 0, aescoot_wk_a = 0, aescoot_tc_a = 0, aescoot_av_a = 0, aescoot_wt_a = 0, lm_innv_aescoot_a = 0, lm_skpt_aescoot_a = 0, lm_risk_aescoot_a = 0, lm_use_aescoot_a = 0, lm_sn_aescoot_a = 0, lm_env_aescoot_a = 0,
asc_awalk_a = 0, awalk_a = 0, lm_risk_awalk_a = 0, lm_use_awalk_a = 0,
# class b
asc_car_b = 0, car_ivtt_b = 0, car_egt_b = 0, car_tc_b = 0, car_pc_b = 0, lm_innv_car_b = 0, lm_skpt_car_b = 0, lm_risk_car_b = 0, lm_use_car_b = 0, lm_sn_car_b = 0, lm_env_car_b = 0,
asc_pt_b = 0, pt_ivtt_b = 0, pt_act_b = 0, pt_egt_b = 0, pt_wt_b = 0, pt_tc_b = 0, lm_innv_pt_b = 0, lm_skpt_pt_b = 0, lm_risk_pt_b = 0, lm_use_pt_b = 0, lm_sn_pt_b = 0, lm_env_pt_b = 0,
asc_ecar_b = 0, ecar_ivtt_b = 0, ecar_act_b = 0, ecar_egt_b = 0, ecar_tc_b = 0, ecar_av_b = 0, ecar_wt_b = 0, lm_innv_ecar_b = 0, lm_skpt_ecar_b = 0, lm_risk_ecar_b = 0, lm_use_ecar_b = 0, lm_sn_ecar_b = 0, lm_env_ecar_b = 0,
asc_ebike_b = 0, ebike_ivtt_b = 0, ebike_act_b = 0, ebike_egt_b = 0, ebike_tc_b = 0, ebike_av_b = 0, ebike_wt_b = 0, lm_innv_ebike_b = 0, lm_skpt_ebike_b = 0, lm_risk_ebike_b = 0, lm_use_ebike_b = 0, lm_sn_ebike_b = 0, lm_env_ebike_b = 0,
asc_escoot_b = 0, escoot_ivtt_b = 0, escoot_act_b = 0, escoot_egt_b = 0, escoot_tc_b = 0, escoot_av_b = 0, escoot_wt_b = 0, lm_innv_escoot_b = 0, lm_skpt_escoot_b = 0, lm_risk_escoot_b = 0, lm_use_escoot_b = 0, lm_sn_escoot_b = 0, lm_env_escoot_b = 0,
asc_aebike_b = 0, aebike_ivtt_b = 0, aebike_wk_b = 0, aebike_tc_b = 0, aebike_av_b = 0, aebike_wt_b = 0, lm_innv_aebike_b = 0, lm_skpt_aebike_b = 0, lm_risk_aebike_b = 0, lm_use_aebike_b = 0, lm_sn_aebike_b = 0, lm_env_aebike_b = 0,
asc_aescoot_b = 0, aescoot_ivtt_b = 0, aescoot_wk_b = 0, aescoot_tc_b = 0, aescoot_av_b = 0, aescoot_wt_b = 0, lm_innv_aescoot_b = 0, lm_skpt_aescoot_b = 0, lm_risk_aescoot_b = 0, lm_use_aescoot_b = 0, lm_sn_aescoot_b = 0, lm_env_aescoot_b = 0,
asc_awalk_b = 0, awalk_b = 0, lm_risk_awalk_b = 0, lm_use_awalk_b = 0,
# # class c
# asc_car_c = 0, car_ivtt_c = -2.835, car_egt_c = -2.69, car_tc_c = -1.80, car_pc_c = 0.72, lm_innv_car_c = 0.44, lm_skpt_car_c = -0.43, lm_risk_car_c = 0.78, lm_use_car_c = 0, lm_sn_car_c = 0, lm_env_car_c = 0,
# asc_pt_c = 0, pt_ivtt_c = 0, pt_act_c = 0, pt_egt_c = 0, pt_wt_c = 0, pt_tc_c = 0, lm_innv_pt_c = 0, lm_skpt_pt_c = 0, lm_risk_pt_c = 0, lm_use_pt_c = 0, lm_sn_pt_c = 0, lm_env_pt_c = 0,
# asc_ecar_c = 0, ecar_ivtt_c = 0, ecar_act_c = 0, ecar_egt_c = 0, ecar_tc_c = 0, ecar_av_c = 0, ecar_wt_c = 0, lm_innv_ecar_c = 0, lm_skpt_ecar_c = 0, lm_risk_ecar_c = 0, lm_use_ecar_c = 0, lm_sn_ecar_c = 0, lm_env_ecar_c = 0,
# asc_ebike_c = 0, ebike_ivtt_c = 0, ebike_act_c = 0, ebike_egt_c = 0, ebike_tc_c = 0, ebike_av_c = 0, ebike_wt_c = 0, lm_innv_ebike_c = 0, lm_skpt_ebike_c = 0, lm_risk_ebike_c = 0, lm_use_ebike_c = 0, lm_sn_ebike_c = 0, lm_env_ebike_c = 0,
# asc_escoot_c = 0, escoot_ivtt_c = 0, escoot_act_c = 0, escoot_egt_c = 0, escoot_tc_c = 0, escoot_av_c = 0, escoot_wt_c = 0, lm_innv_escoot_c = 0, lm_skpt_escoot_c = 0, lm_risk_escoot_c = 0, lm_use_escoot_c = 0, lm_sn_escoot_c = 0, lm_env_escoot_c = 0,
# asc_aebike_c = 0, aebike_ivtt_c = 0, aebike_wk_c = 0, aebike_tc_c = 0, aebike_av_c = 0, aebike_wt_c = 0, lm_innv_aebike_c = 0, lm_skpt_aebike_c = 0, lm_risk_aebike_c = 0, lm_use_aebike_c = 0, lm_sn_aebike_c = 0, lm_env_aebike_c = 0,
# asc_aescoot_c = 0, aescoot_ivtt_c = 0, aescoot_wk_c = 0, aescoot_tc_c = 0, aescoot_av_c = 0, aescoot_wt_c = 0, lm_innv_aescoot_c = 0, lm_skpt_aescoot_c = 0, lm_risk_aescoot_c = 0, lm_use_aescoot_c = 0, lm_sn_aescoot_c = 0, lm_env_aescoot_c = 0,
# asc_awalk_c = 0, awalk_c = 0, lm_risk_awalk_c = 0, lm_use_awalk_c = 0,
## class-membership model
# class a
delta_a = 0, gm_female_a = 0, gm_age1_a = 0, gm_age2_a = 0, gm_age3_a = 0, gm_hhinc1_a = 0, gm_hhinc2_a = 0, gm_hhinc3_a = 0,
gm_ncar0_a = 0, gm_ncar1_a = 0, gm_ncar2_a = 0, gm_nbic0_a = 0, gm_nbic1_a = 0, gm_nbic2_a = 0, gm_hhC_a = 0, lm_hab_a = 0,
# class b
delta_b = 0, gm_female_b = 0, gm_age1_b = 0, gm_age2_b = 0, gm_age3_b = 0, gm_hhinc1_b = 0, gm_hhinc2_b = 0, gm_hhinc3_b = 0,
gm_ncar0_b = 0, gm_ncar1_b = 0, gm_ncar2_b = 0, gm_nbic0_b = 0, gm_nbic1_b = 0, gm_nbic2_b = 0, gm_hhC_b = 0, lm_hab_b = 0,
# class c
# delta_c = 0, gm_female_c = 0, gm_age1_c = 0, gm_age2_c = 0, gm_age3_c = 0, gm_hhinc1_c = 0, gm_hhinc2_c = 0, gm_hhinc3_c = 0,
# gm_ncar0_c = 0, gm_ncar1_c = 0, gm_ncar2_c = 0, gm_nbic0_c = 0, gm_nbic1_c = 0, gm_nbic2_c = 0, gm_hhC_c = 0, lm_hab_c = 0,
## structural model for LVs
gamma_age1_innv = 0, gamma_age2_innv = 0, gamma_age3_innv = 0, gamma_hhinc1_innv = 0, gamma_hhinc2_innv = 0, gamma_hhinc3_innv = 0, gamma_grad_innv = 0, gamma_female_innv = 0,
gamma_age1_skpt = 0, gamma_age2_skpt = 0, gamma_age3_skpt = 0, gamma_hhinc1_skpt = 0, gamma_hhinc2_skpt = 0, gamma_hhinc3_skpt = 0, gamma_grad_skpt = 0, gamma_female_skpt = 0,
gamma_age1_risk = 0, gamma_age2_risk = 0, gamma_age3_risk = 0, gamma_hhinc1_risk = 0, gamma_hhinc2_risk = 0, gamma_hhinc3_risk = 0, gamma_grad_risk = 0, gamma_female_risk = 0,
gamma_age1_use = 0, gamma_age2_use = 0, gamma_age3_use = 0, gamma_hhinc1_use = 0, gamma_hhinc2_use = 0, gamma_hhinc3_use = 0, gamma_grad_use = 0, gamma_female_use = 0,
gamma_age1_sn = 0, gamma_age2_sn = 0, gamma_age3_sn = 0, gamma_hhinc1_sn = 0, gamma_hhinc2_sn = 0, gamma_hhinc3_sn = 0, gamma_grad_sn = 0, gamma_female_sn = 0,
gamma_age1_env = 0, gamma_age2_env = 0, gamma_age3_env = 0, gamma_hhinc1_env = 0, gamma_hhinc2_env = 0, gamma_hhinc3_env = 0, gamma_grad_env = 0, gamma_female_env = 0,
gamma_age1_hab = 0, gamma_age2_hab = 0, gamma_age3_hab = 0, gamma_hhinc1_hab = 0, gamma_hhinc2_hab = 0, gamma_hhinc3_hab = 0, gamma_grad_hab = 0, gamma_female_hab = 0,
gamma_ncar0 = 0, gamma_ncar1 = 0, gamma_ncar2 = 0, gamma_nbic0 = 0, gamma_nbic1 = 0, gamma_nbic2 = 0,
## measurement model - LV to indicators
zeta_innv1 = 0, zeta_innv2 = 0, zeta_innv3 = 0, zeta_skpt1 = 0, zeta_skpt2 = 0, zeta_skpt3 = 0, zeta_risk1 = 0, zeta_risk2 = 0, zeta_risk3 = 0,
zeta_use1 = 0, zeta_use2 = 0, zeta_use3 = 0, zeta_use4 = 0, zeta_use5 = 0, zeta_sn1 = 0, zeta_sn2 = 0,
zeta_env1 = 0, zeta_env2 = 0, zeta_env3 = 0, zeta_hab1 = 0, zeta_hab2 = 0, zeta_hab3 = 0, zeta_hab4 = 0, zeta_hab5 = 0,
tau_innv1_1 = -2, tau_innv1_2 = -1, tau_innv1_3 = 1, tau_innv1_4 = 2,
tau_innv2_1 = -2, tau_innv2_2 = -1, tau_innv2_3 = 1, tau_innv2_4 = 2,
tau_innv3_1 = -2, tau_innv3_2 = -1, tau_innv3_3 = 1, tau_innv3_4 = 2,
tau_skpt1_1 = -2, tau_skpt1_2 = -1, tau_skpt1_3 = 1, tau_skpt1_4 = 2,
tau_skpt2_1 = -2, tau_skpt2_2 = -1, tau_skpt2_3 = 1, tau_skpt2_4 = 2,
tau_skpt3_1 = -2, tau_skpt3_2 = -1, tau_skpt3_3 = 1, tau_skpt3_4 = 2,
tau_risk1_1 = -2, tau_risk1_2 = -1, tau_risk1_3 = 1, tau_risk1_4 = 2,
tau_risk2_1 = -2, tau_risk2_2 = -1, tau_risk2_3 = 1, tau_risk2_4 = 2,
tau_risk3_1 = -2, tau_risk3_2 = -1, tau_risk3_3 = 1, tau_risk3_4 = 2,
tau_use1_1 = -2, tau_use1_2 = -1, tau_use1_3 = 1, tau_use1_4 = 2,
tau_use2_1 = -2, tau_use2_2 = -1, tau_use2_3 = 1, tau_use2_4 = 2,
tau_use3_1 = -2, tau_use3_2 = -1, tau_use3_3 = 1, tau_use3_4 = 2,
tau_use4_1 = -2, tau_use4_2 = -1, tau_use4_3 = 1, tau_use4_4 = 2,
tau_use5_1 = -2, tau_use5_2 = -1, tau_use5_3 = 1, tau_use5_4 = 2,
tau_sn1_1 = -2, tau_sn1_2 = -1, tau_sn1_3 = 1, tau_sn1_4 = 2,
tau_sn2_1 = -2, tau_sn2_2 = -1, tau_sn2_3 = 1, tau_sn2_4 = 2,
tau_env1_1 = -2, tau_env1_2 = -1, tau_env1_3 = 1, tau_env1_4 = 2,
tau_env2_1 = -2, tau_env2_2 = -1, tau_env2_3 = 1, tau_env2_4 = 2,
tau_env3_1 = -2, tau_env3_2 = -1, tau_env3_3 = 1, tau_env3_4 = 2,
tau_hab1_1 = -2, tau_hab1_2 = -1, tau_hab1_3 = 1, tau_hab1_4 = 2,
tau_hab2_1 = -2, tau_hab2_2 = -1, tau_hab2_3 = 1, tau_hab2_4 = 2,
tau_hab3_1 = -2, tau_hab3_2 = -1, tau_hab3_3 = 1, tau_hab3_4 = 2,
tau_hab4_1 = -2, tau_hab4_2 = -1, tau_hab4_3 = 1, tau_hab4_4 = 2,
tau_hab5_1 = -2, tau_hab5_2 = -1, tau_hab5_3 = 1, tau_hab5_4 = 2,
# ETA
eta1= 0, eta2= 0, eta3= 0, eta4= 0, eta5= 0, eta6= 0
)
## Define fixed parameters in model
apollo_fixed = c("asc_car_a", "asc_awalk_a", "asc_car_b", "asc_awalk_b", "delta_b", "gm_female_b", "gm_age1_b", "gm_age2_b", "gm_age3_b", "gm_hhinc1_b",
"gm_hhinc2_b", "gm_hhinc3_b", "gm_ncar0_b", "gm_ncar1_b", "gm_ncar2_b", "gm_nbic0_b", "gm_nbic1_b", "gm_nbic2_b", "gm_hhC_b", "lm_hab_b",
"gm_age3_a", "gm_hhinc3_a", "gm_ncar0_a", "gm_nbic0_a",
"gamma_age3_innv", "gamma_hhinc3_innv", "gamma_age3_skpt", "gamma_hhinc3_skpt", "gamma_age3_risk", "gamma_hhinc3_risk", "gamma_age3_sn", "gamma_hhinc3_sn",
"gamma_age3_env", "gamma_hhinc3_env","gamma_age3_use", "gamma_hhinc3_use", "gamma_age3_hab", "gamma_hhinc3_hab", "gamma_ncar0", "gamma_nbic0")
## Define random parameter
apollo_draws = list(
interDrawsType = "mlhs",
interNDraws = 1000,
interNormDraws = c("eta")
)
apollo_randCoeff = function(apollo_beta, apollo_inputs) {
randcoeff = list()
randcoeff[["hab"]] = gamma_female_hab*female + gamma_age1_hab*(age==1) + gamma_age2_hab*(age==3) + gamma_age3_hab*(age==5) + gamma_hhinc1_hab*(hhinc==1) + gamma_hhinc2_hab*(hhinc==3) + gamma_hhinc3_hab*(hhinc==5) + gamma_grad_hab*edu +
gamma_ncar0*(ncar==0) + gamma_ncar1*(ncar==1) + gamma_ncar2*(ncar==2) + gamma_nbic0*(nbic==0) + gamma_nbic1*(nbic==1) + gamma_nbic2*(nbic==2) + eta
return(randcoeff)
}
## Define latent class components
apollo_lcPars = function(apollo_beta, apollo_inputs){
lcpars = list()
lcpars[["asc_car"]] = list(asc_car_a, asc_car_b)
lcpars[["asc_pt"]] = list(asc_pt_a, asc_pt_b)
lcpars[["asc_ecar"]] = list(asc_ecar_a, asc_ecar_b)
lcpars[["asc_ebike"]] = list(asc_ebike_a, asc_ebike_b)
lcpars[["asc_escoot"]] = list(asc_escoot_a, asc_escoot_b)
lcpars[["asc_aebike"]] = list(asc_aebike_a, asc_aebike_b)
lcpars[["asc_aescoot"]] = list(asc_aescoot_a, asc_aescoot_b)
lcpars[["asc_awalk"]] = list(asc_awalk_a, asc_awalk_b)
lcpars[["b_car_ivtt"]] = list(car_ivtt_a, car_ivtt_b)
lcpars[["b_car_egt"]] = list(car_egt_a, car_egt_b)
lcpars[["b_car_tc"]] = list(car_tc_a, car_tc_b)
lcpars[["b_car_pc"]] = list(car_pc_a, car_pc_b)
lcpars[["b_pt_ivtt"]] = list(pt_ivtt_a, pt_ivtt_b)
lcpars[["b_pt_act"]] = list(pt_act_a, pt_act_b)
lcpars[["b_pt_egt"]] = list(pt_egt_a, pt_egt_b)
lcpars[["b_pt_wt"]] = list(pt_wt_a, pt_wt_b)
lcpars[["b_pt_tc"]] = list(pt_tc_a, pt_tc_b)
lcpars[["b_ecar_ivtt"]] = list(ecar_ivtt_a, ecar_ivtt_b)
lcpars[["b_ecar_act"]] = list(ecar_act_a, ecar_act_b)
lcpars[["b_ecar_egt"]] = list(ecar_egt_a, ecar_egt_b)
lcpars[["b_ecar_tc"]] = list(ecar_tc_a, ecar_tc_b)
lcpars[["b_ecar_av"]] = list(ecar_av_a, ecar_av_b)
lcpars[["b_ecar_wt"]] = list(ecar_wt_a, ecar_wt_b)
lcpars[["b_ebike_ivtt"]] = list(ebike_ivtt_a, ebike_ivtt_b)
lcpars[["b_ebike_act"]] = list(ebike_act_a, ebike_act_b)
lcpars[["b_ebike_egt"]] = list(ebike_egt_a, ebike_egt_b)
lcpars[["b_ebike_tc"]] = list(ebike_tc_a, ebike_tc_b)
lcpars[["b_ebike_av"]] = list(ebike_av_a, ebike_av_b)
lcpars[["b_ebike_wt"]] = list(ebike_wt_a, ebike_wt_b)
lcpars[["b_escoot_ivtt"]] = list(escoot_ivtt_a, escoot_ivtt_b)
lcpars[["b_escoot_act"]] = list(escoot_act_a, escoot_act_b)
lcpars[["b_escoot_egt"]] = list(escoot_egt_a, escoot_egt_b)
lcpars[["b_escoot_tc"]] = list(escoot_tc_a, escoot_tc_b)
lcpars[["b_escoot_av"]] = list(escoot_av_a, escoot_av_b)
lcpars[["b_escoot_wt"]] = list(escoot_wt_a, escoot_wt_b)
lcpars[["b_aebike_ivtt"]] = list(aebike_ivtt_a, aebike_ivtt_b)
lcpars[["b_aebike_wk"]] = list(aebike_wk_a, aebike_wk_b)
lcpars[["b_aebike_tc"]] = list(aebike_tc_a, aebike_tc_b)
lcpars[["b_aebike_av"]] = list(aebike_av_a, aebike_av_b)
lcpars[["b_aebike_wt"]] = list(aebike_wt_a, aebike_wt_b)
lcpars[["b_aescoot_ivtt"]] = list(aescoot_ivtt_a, aescoot_ivtt_b)
lcpars[["b_aescoot_wk"]] = list(aescoot_wk_a, aescoot_wk_b)
lcpars[["b_aescoot_tc"]] = list(aescoot_tc_a, aescoot_tc_b)
lcpars[["b_aescoot_av"]] = list(aescoot_av_a, aescoot_av_b)
lcpars[["b_aescoot_wt"]] = list(aescoot_wt_a, aescoot_wt_b)
lcpars[["b_awalk"]] = list(awalk_a, awalk_b)
lcpars[["lm_innv_car"]] = list(lm_innv_car_a, lm_innv_car_b)
lcpars[["lm_skpt_car"]] = list(lm_skpt_car_a, lm_skpt_car_b)
lcpars[["lm_risk_car"]] = list(lm_risk_car_a, lm_risk_car_b)
lcpars[["lm_use_car"]] = list(lm_use_car_a, lm_use_car_b)
lcpars[["lm_sn_car"]] = list(lm_sn_car_a, lm_sn_car_b)
lcpars[["lm_env_car"]] = list(lm_env_car_a, lm_env_car_b)
lcpars[["lm_innv_pt"]] = list(lm_innv_pt_a, lm_innv_pt_b)
lcpars[["lm_skpt_pt"]] = list(lm_skpt_pt_a, lm_skpt_pt_b)
lcpars[["lm_risk_pt"]] = list(lm_risk_pt_a, lm_risk_pt_b)
lcpars[["lm_use_pt"]] = list(lm_use_pt_a, lm_use_pt_b)
lcpars[["lm_sn_pt"]] = list(lm_sn_pt_a, lm_sn_pt_b)
lcpars[["lm_env_pt"]] = list(lm_env_pt_a, lm_env_pt_b)
lcpars[["lm_innv_ecar"]] = list(lm_innv_ecar_a, lm_innv_ecar_b)
lcpars[["lm_skpt_ecar"]] = list(lm_skpt_ecar_a, lm_skpt_ecar_b)
lcpars[["lm_risk_ecar"]] = list(lm_risk_ecar_a, lm_risk_ecar_b)
lcpars[["lm_use_ecar"]] = list(lm_use_ecar_a, lm_use_ecar_b)
lcpars[["lm_sn_ecar"]] = list(lm_sn_ecar_a, lm_sn_ecar_b)
lcpars[["lm_env_ecar"]] = list(lm_env_ecar_a, lm_env_ecar_b)
lcpars[["lm_innv_ebike"]] = list(lm_innv_ebike_a, lm_innv_ebike_b)
lcpars[["lm_skpt_ebike"]] = list(lm_skpt_ebike_a, lm_skpt_ebike_b)
lcpars[["lm_risk_ebike"]] = list(lm_risk_ebike_a, lm_risk_ebike_b)
lcpars[["lm_use_ebike"]] = list(lm_use_ebike_a, lm_use_ebike_b)
lcpars[["lm_sn_ebike"]] = list(lm_sn_ebike_a, lm_sn_ebike_b)
lcpars[["lm_env_ebike"]] = list(lm_env_ebike_a, lm_env_ebike_b)
lcpars[["lm_innv_escoot"]] = list(lm_innv_escoot_a, lm_innv_escoot_b)
lcpars[["lm_skpt_escoot"]] = list(lm_skpt_escoot_a, lm_skpt_escoot_b)
lcpars[["lm_risk_escoot"]] = list(lm_risk_escoot_a, lm_risk_escoot_b)
lcpars[["lm_use_escoot"]] = list(lm_use_escoot_a, lm_use_escoot_b)
lcpars[["lm_sn_escoot"]] = list(lm_sn_escoot_a, lm_sn_escoot_b)
lcpars[["lm_env_escoot"]] = list(lm_env_escoot_a, lm_env_escoot_b)
lcpars[["lm_innv_aebike"]] = list(lm_innv_aebike_a, lm_innv_aebike_b)
lcpars[["lm_skpt_aebike"]] = list(lm_skpt_aebike_a, lm_skpt_aebike_b)
lcpars[["lm_risk_aebike"]] = list(lm_risk_aebike_a, lm_risk_aebike_b)
lcpars[["lm_use_aebike"]] = list(lm_use_aebike_a, lm_use_aebike_b)
lcpars[["lm_sn_aebike"]] = list(lm_sn_aebike_a, lm_sn_aebike_b)
lcpars[["lm_env_aebike"]] = list(lm_env_aebike_a, lm_env_aebike_b)
lcpars[["lm_innv_aescoot"]] = list(lm_innv_aescoot_a, lm_innv_aescoot_b)
lcpars[["lm_skpt_aescoot"]] = list(lm_skpt_aescoot_a, lm_skpt_aescoot_b)
lcpars[["lm_risk_aescoot"]] = list(lm_risk_aescoot_a, lm_risk_aescoot_b)
lcpars[["lm_use_aescoot"]] = list(lm_use_aescoot_a, lm_use_aescoot_b)
lcpars[["lm_sn_aescoot"]] = list(lm_sn_aescoot_a, lm_sn_aescoot_b)
lcpars[["lm_env_aescoot"]] = list(lm_env_aescoot_a, lm_env_aescoot_b)
lcpars[["lm_risk_awalk"]] = list(lm_risk_awalk_a, lm_risk_awalk_b)
lcpars[["lm_use_awalk"]] = list(lm_use_awalk_a, lm_use_awalk_b)
## Class segmentation model
V = list()
V[["class_a"]] = delta_a + gm_age1_a*(age==1) + gm_age2_a*(age==3) + gm_age3_a*(age==5) + gm_female_a*female + gm_hhinc1_a*(hhinc==1) + gm_hhinc2_a*(hhinc==3) + gm_hhinc3_a*(hhinc==5) +
gm_ncar0_a*(ncar==0) + gm_ncar1_a*(ncar==1) + gm_ncar2_a*(ncar==2) + gm_nbic0_a*(nbic==0) + gm_nbic1_a*(nbic==1) + gm_nbic2_a*(nbic==2) + gm_hhC_a*hhC + lm_hab_a*hab
V[["class_b"]] = delta_b + gm_age1_b*(age==1) + gm_age2_b*(age==3) + gm_age3_b*(age==5) + gm_female_b*female + gm_hhinc1_b*(hhinc==1) + gm_hhinc2_b*(hhinc==3) + gm_hhinc3_b*(hhinc==5) +
gm_ncar0_b*(ncar==0) + gm_ncar1_b*(ncar==1) + gm_ncar2_b*(ncar==2) + gm_nbic0_b*(nbic==0) + gm_nbic1_b*(nbic==1) + gm_nbic2_b*(nbic==2) + gm_hhC_b*hhC + lm_hab_b*hab
# V[["class_c"]] = delta_c + gm_age1_c*(age==1) + gm_age2_c*(age==3) + gm_age3_c*(age==5) + gm_female_c*female + gm_hhinc1_c*(hhinc==1) + gm_hhinc2_c*(hhinc==3) + gm_hhinc3_c*(hhinc==5) +
# gm_ncar0_c*(ncar==0) + gm_ncar1_c*(ncar==1) + gm_ncar2_c*(ncar==2) + gm_nbic0_c*(nbic==0) + gm_nbic1_c*(nbic==1) + gm_nbic2_c*(nbic==2) + gm_hhC_c*hhC + lm_hab_c*hab
## Class allocation settings
classAlloc_settings = list(
classes = c(class_a = 1, class_b = 2),
utilities = V
)
lcpars[["pi_values"]] = apollo_classAlloc(classAlloc_settings)
return(lcpars)
}
## Group and Validate inputs
apollo_inputs = apollo_validateInputs()
## Define model and likelihood function
apollo_probabilities = function(apollo_beta, apollo_inputs, functionality = "estimate") {
## Initialize
apollo_attach(apollo_beta, apollo_inputs)
on.exit(apollo_detach(apollo_beta, apollo_inputs))
## Creating LVs
innv = gamma_female_innv*female + gamma_age1_innv*(age==1) + gamma_age2_innv*(age==3) + gamma_age3_innv*(age==5) + gamma_hhinc1_innv*(hhinc==1) + gamma_hhinc2_innv*(hhinc==3) + gamma_hhinc3_innv*(hhinc==5) + gamma_grad_innv*edu + eta1
skpt = gamma_female_skpt*female + gamma_age1_skpt*(age==1) + gamma_age2_skpt*(age==3) + gamma_age3_skpt*(age==5) + gamma_hhinc1_skpt*(hhinc==1) + gamma_hhinc2_skpt*(hhinc==3) + gamma_hhinc3_skpt*(hhinc==5) + gamma_grad_skpt*edu + eta2
risk = gamma_female_risk*female + gamma_age1_risk*(age==1) + gamma_age2_risk*(age==3) + gamma_age3_risk*(age==5) + gamma_hhinc1_risk*(hhinc==1) + gamma_hhinc2_risk*(hhinc==3) + gamma_hhinc3_risk*(hhinc==5) + gamma_grad_risk*edu + eta3
use = gamma_female_use*female + gamma_age1_use*(age==1) + gamma_age2_use*(age==3) + gamma_age3_use*(age==5) + gamma_hhinc1_use*(hhinc==1) + gamma_hhinc2_use*(hhinc==3) + gamma_hhinc3_use*(hhinc==5) + gamma_grad_use*edu + eta4
sn = gamma_female_sn*female + gamma_age1_sn*(age==1) + gamma_age2_sn*(age==3) + gamma_age3_sn*(age==5) + gamma_hhinc1_sn*(hhinc==1) + gamma_hhinc2_sn*(hhinc==3) + gamma_hhinc3_sn*(hhinc==5) + gamma_grad_sn*edu + eta5
env = gamma_female_env*female + gamma_age1_env*(age==1) + gamma_age2_env*(age==3) + gamma_age3_env*(age==5) + gamma_hhinc1_env*(hhinc==1) + gamma_hhinc2_env*(hhinc==3) + gamma_hhinc3_env*(hhinc==5) + gamma_grad_env*edu + eta6
# Creating list of probabilities P
P = list()
## Likelihood of indicators to LVs
ol_settings1 = list(outcomeOrdered = att1,
V = zeta_innv1*innv,
tau = list(tau_innv1_1, tau_innv1_2, tau_innv1_3, tau_innv1_4),
rows = (task==1),
componentName = "indic_innv1")
ol_settings2 = list(outcomeOrdered = att2,
V = zeta_innv2*innv,
tau = list(tau_innv2_1, tau_innv2_2, tau_innv2_3, tau_innv2_4),
rows = (task==1),
componentName = "indic_innv2")
ol_settings3 = list(outcomeOrdered = att3,
V = zeta_innv3*innv,
tau = list(tau_innv3_1, tau_innv3_2, tau_innv3_3, tau_innv3_4),
rows = (task==1),
componentName = "indic_innv3")
ol_settings4 = list(outcomeOrdered = att4,
V = zeta_skpt1*skpt,
tau = list(tau_skpt1_1, tau_skpt1_2, tau_skpt1_3, tau_skpt1_4),
rows = (task==1),
componentName = "indic_skpt1")
ol_settings5 = list(outcomeOrdered = att5,
V = zeta_skpt2*skpt,
tau = list(tau_skpt2_1, tau_skpt2_2, tau_skpt2_3, tau_skpt2_4),
rows = (task==1),
componentName = "indic_skpt2")
ol_settings6 = list(outcomeOrdered = att10,
V = zeta_skpt3*skpt,
tau = list(tau_skpt3_1, tau_skpt3_2, tau_skpt3_3, tau_skpt3_4),
rows = (task==1),
componentName = "indic_skpt3")
ol_settings7 = list(outcomeOrdered = att11,
V = zeta_risk1*risk,
tau = list(tau_risk1_1, tau_risk1_2, tau_risk1_3, tau_risk1_4),
rows = (task==1),
componentName = "indic_risk1")
ol_settings8 = list(outcomeOrdered = att13,
V = zeta_risk2*risk,
tau = list(tau_risk2_1, tau_risk2_2, tau_risk2_3, tau_risk2_4),
rows = (task==1),
componentName = "indic_risk2")
ol_settings9 = list(outcomeOrdered = att14,
V = zeta_risk3*risk,
tau = list(tau_risk3_1, tau_risk3_2, tau_risk3_3, tau_risk3_4),
rows = (task==1),
componentName = "indic_risk3")
ol_settings10 = list(outcomeOrdered = att8,
V = zeta_use1*use,
tau = list(tau_use1_1, tau_use1_2, tau_use1_3, tau_use1_4),
rows = (task==1),
componentName = "indic_use1")
ol_settings11 = list(outcomeOrdered = att16,
V = zeta_use2*use,
tau = list(tau_use2_1, tau_use2_2, tau_use2_3, tau_use2_4),
rows = (task==1),
componentName = "indic_use2")
ol_settings12 = list(outcomeOrdered = att17,
V = zeta_use3*use,
tau = list(tau_use3_1, tau_use3_2, tau_use3_3, tau_use3_4),
rows = (task==1),
componentName = "indic_use3")
ol_settings13 = list(outcomeOrdered = att18,
V = zeta_use4*use,
tau = list(tau_use4_1, tau_use4_2, tau_use4_3, tau_use4_4),
rows = (task==1),
componentName = "indic_use4")
ol_settings14 = list(outcomeOrdered = att19,
V = zeta_use5*use,
tau = list(tau_use5_1, tau_use5_2, tau_use5_3, tau_use5_4),
rows = (task==1),
componentName = "indic_use5")
ol_settings15 = list(outcomeOrdered = att21,
V = zeta_sn1*sn,
tau = list(tau_sn1_1, tau_sn1_2, tau_sn1_3, tau_sn1_4),
rows = (task==1),
componentName = "indic_sn1")
ol_settings16 = list(outcomeOrdered = att22,
V = zeta_sn2*sn,
tau = list(tau_sn2_1, tau_sn2_2, tau_sn2_3, tau_sn2_4),
rows = (task==1),
componentName = "indic_sn2")
ol_settings17 = list(outcomeOrdered = att23,
V = zeta_env1*env,
tau = list(tau_env1_1, tau_env1_2, tau_env1_3, tau_env1_4),
rows = (task==1),
componentName = "indic_env1")
ol_settings18 = list(outcomeOrdered = att24,
V = zeta_env2*env,
tau = list(tau_env2_1, tau_env2_2, tau_env2_3, tau_env2_4),
rows = (task==1),
componentName = "indic_env2")
ol_settings19 = list(outcomeOrdered = att25,
V = zeta_env3*env,
tau = list(tau_env3_1, tau_env3_2, tau_env3_3, tau_env3_4),
rows = (task==1),
componentName = "indic_env3")
ol_settings20 = list(outcomeOrdered = hab1,
V = zeta_hab1*hab,
tau = list(tau_hab1_1, tau_hab1_2, tau_hab1_3, tau_hab1_4),
rows = (task==1),
componentName = "indic_hab1")
ol_settings21 = list(outcomeOrdered = hab2,
V = zeta_hab2*hab,
tau = list(tau_hab2_1, tau_hab2_2, tau_hab2_3, tau_hab2_4),
rows = (task==1),
componentName = "indic_hab2")
ol_settings22 = list(outcomeOrdered = hab3,
V = zeta_hab3*hab,
tau = list(tau_hab3_1, tau_hab3_2, tau_hab3_3, tau_hab3_4),
rows = (task==1),
componentName = "indic_hab3")
ol_settings23 = list(outcomeOrdered = hab4,
V = zeta_hab4*hab,
tau = list(tau_hab4_1, tau_hab4_2, tau_hab4_3, tau_hab4_4),
rows = (task==1),
componentName = "indic_hab4")
ol_settings24 = list(outcomeOrdered = hab5,
V = zeta_hab5*hab,
tau = list(tau_hab5_1, tau_hab5_2, tau_hab5_3, tau_hab5_4),
rows = (task==1),
componentName = "indic_hab5")
P[["indic_innv1"]] = apollo_ol(ol_settings1, functionality)
P[["indic_innv2"]] = apollo_ol(ol_settings2, functionality)
P[["indic_innv3"]] = apollo_ol(ol_settings3, functionality)
P[["indic_skpt1"]] = apollo_ol(ol_settings4, functionality)
P[["indic_skpt2"]] = apollo_ol(ol_settings5, functionality)
P[["indic_skpt3"]] = apollo_ol(ol_settings6, functionality)
P[["indic_risk1"]] = apollo_ol(ol_settings7, functionality)
P[["indic_risk2"]] = apollo_ol(ol_settings8, functionality)
P[["indic_risk3"]] = apollo_ol(ol_settings9, functionality)
P[["indic_use1"]] = apollo_ol(ol_settings10, functionality)
P[["indic_use2"]] = apollo_ol(ol_settings11, functionality)
P[["indic_use3"]] = apollo_ol(ol_settings12, functionality)
P[["indic_use4"]] = apollo_ol(ol_settings13, functionality)
P[["indic_use5"]] = apollo_ol(ol_settings14, functionality)
P[["indic_sn1"]] = apollo_ol(ol_settings15, functionality)
P[["indic_sn2"]] = apollo_ol(ol_settings16, functionality)
P[["indic_env1"]] = apollo_ol(ol_settings17, functionality)
P[["indic_env2"]] = apollo_ol(ol_settings18, functionality)
P[["indic_env3"]] = apollo_ol(ol_settings19, functionality)
P[["indic_hab1"]] = apollo_ol(ol_settings20, functionality)
P[["indic_hab2"]] = apollo_ol(ol_settings21, functionality)
P[["indic_hab3"]] = apollo_ol(ol_settings22, functionality)
P[["indic_hab4"]] = apollo_ol(ol_settings23, functionality)
P[["indic_hab5"]] = apollo_ol(ol_settings24, functionality)
P[["indic_innv1"]] = apollo_panelProd(P[["indic_innv1"]], apollo_inputs, functionality)
P[["indic_innv2"]] = apollo_panelProd(P[["indic_innv2"]], apollo_inputs, functionality)
P[["indic_innv3"]] = apollo_panelProd(P[["indic_innv3"]], apollo_inputs, functionality)
P[["indic_skpt1"]] = apollo_panelProd(P[["indic_skpt1"]], apollo_inputs, functionality)
P[["indic_skpt2"]] = apollo_panelProd(P[["indic_skpt2"]], apollo_inputs, functionality)
P[["indic_skpt3"]] = apollo_panelProd(P[["indic_skpt3"]], apollo_inputs, functionality)
P[["indic_risk1"]] = apollo_panelProd(P[["indic_risk1"]], apollo_inputs, functionality)
P[["indic_risk2"]] = apollo_panelProd(P[["indic_risk2"]], apollo_inputs, functionality)
P[["indic_risk3"]] = apollo_panelProd(P[["indic_risk3"]], apollo_inputs, functionality)
P[["indic_use1"]] = apollo_panelProd(P[["indic_use1"]], apollo_inputs, functionality)
P[["indic_use2"]] = apollo_panelProd(P[["indic_use2"]], apollo_inputs, functionality)
P[["indic_use3"]] = apollo_panelProd(P[["indic_use3"]], apollo_inputs, functionality)
P[["indic_use4"]] = apollo_panelProd(P[["indic_use4"]], apollo_inputs, functionality)
P[["indic_use5"]] = apollo_panelProd(P[["indic_use5"]], apollo_inputs, functionality)
P[["indic_sn1"]] = apollo_panelProd(P[["indic_sn1"]], apollo_inputs, functionality)
P[["indic_sn2"]] = apollo_panelProd(P[["indic_sn2"]], apollo_inputs, functionality)
P[["indic_env1"]] = apollo_panelProd(P[["indic_env1"]], apollo_inputs, functionality)
P[["indic_env2"]] = apollo_panelProd(P[["indic_env2"]], apollo_inputs, functionality)
P[["indic_env3"]] = apollo_panelProd(P[["indic_env3"]], apollo_inputs, functionality)
P[["indic_hab1"]] = apollo_panelProd(P[["indic_hab1"]], apollo_inputs, functionality)
P[["indic_hab2"]] = apollo_panelProd(P[["indic_hab2"]], apollo_inputs, functionality)
P[["indic_hab3"]] = apollo_panelProd(P[["indic_hab3"]], apollo_inputs, functionality)
P[["indic_hab4"]] = apollo_panelProd(P[["indic_hab4"]], apollo_inputs, functionality)
P[["indic_hab5"]] = apollo_panelProd(P[["indic_hab5"]], apollo_inputs, functionality)
## Compute class-specific utilities in choice sub-model
## Loop over classes
for (s in 1:2) {
V = list()
V[["car"]] = asc_car[[s]] + b_car_ivtt[[s]]*car_ivtt + b_car_egt[[s]]*car_egt + b_car_tc[[s]]*car_tc + b_car_pc[[s]]*car_pc +
lm_innv_car[[s]]*innv + lm_skpt_car[[s]]*skpt + lm_risk_car[[s]]*risk + lm_use_car[[s]]*use + lm_sn_car[[s]]*sn + lm_env_car[[s]]*env
V[["pt"]] = asc_pt[[s]] + b_pt_ivtt[[s]]*pt_ivtt + b_pt_act[[s]]*pt_act + b_pt_egt[[s]]*pt_egt + b_pt_wt[[s]]*pt_wt + b_pt_tc[[s]]*pt_tc +
lm_innv_pt[[s]]*innv + lm_skpt_pt[[s]]*skpt + lm_risk_pt[[s]]*risk + lm_use_pt[[s]]*use + lm_sn_pt[[s]]*sn + lm_env_pt[[s]]*env
V[["ecar"]] = asc_ecar[[s]] + b_ecar_ivtt[[s]]*ecar_ivtt + b_ecar_act[[s]]*ecar_act + b_ecar_egt[[s]]*ecar_egt + b_ecar_wt[[s]]*ecar_wt + b_ecar_tc[[s]]*ecar_tc + b_ecar_av[[s]]*ecar_av +
lm_innv_ecar[[s]]*innv + lm_skpt_ecar[[s]]*skpt + lm_risk_ecar[[s]]*risk + lm_use_ecar[[s]]*use + lm_sn_ecar[[s]]*sn + lm_env_ecar[[s]]*env
V[["ebike"]] = asc_ebike[[s]] + b_ebike_ivtt[[s]]*ebike_ivtt + b_ebike_act[[s]]*ebike_act + b_ebike_egt[[s]]*ebike_egt + b_ebike_wt[[s]]*ebike_wt + b_ebike_tc[[s]]*ebike_tc + b_ebike_av[[s]]*ebike_av +
lm_innv_ebike[[s]]*innv + lm_skpt_ebike[[s]]*skpt + lm_risk_ebike[[s]]*risk + lm_use_ebike[[s]]*use + lm_sn_ebike[[s]]*sn + lm_env_ebike[[s]]*env
V[["escoot"]] = asc_escoot[[s]] + b_escoot_ivtt[[s]]*escoot_ivtt + b_escoot_act[[s]]*escoot_act + b_escoot_egt[[s]]*escoot_egt + b_escoot_wt[[s]]*escoot_wt + b_escoot_tc[[s]]*escoot_tc + b_escoot_av[[s]]*escoot_av +
lm_innv_escoot[[s]]*innv + lm_skpt_escoot[[s]]*skpt + lm_risk_escoot[[s]]*risk + lm_use_escoot[[s]]*use + lm_sn_escoot[[s]]*sn + lm_env_escoot[[s]]*env
V[["aebike"]] = asc_aebike[[s]] + b_aebike_ivtt[[s]]*aebike_ivtt + b_aebike_wk[[s]]*aebike_wk + b_aebike_wt[[s]]*aebike_wt + b_aebike_tc[[s]]*aebike_tc + b_aebike_av[[s]]*aebike_av +
lm_innv_aebike[[s]]*innv + lm_skpt_aebike[[s]]*skpt + lm_risk_aebike[[s]]*risk + lm_use_aebike[[s]]*use + lm_sn_aebike[[s]]*sn + lm_env_aebike[[s]]*env
V[["aescoot"]] = asc_aescoot[[s]] + b_aescoot_ivtt[[s]]*aescoot_ivtt + b_aescoot_wk[[s]]*aescoot_wk + b_aescoot_wt[[s]]*aescoot_wt + b_aescoot_tc[[s]]*aescoot_tc + b_aescoot_av[[s]]*aescoot_av +
lm_innv_aescoot[[s]]*innv + lm_skpt_aescoot[[s]]*skpt + lm_risk_aescoot[[s]]*risk + lm_use_aescoot[[s]]*use + lm_sn_aescoot[[s]]*sn + lm_env_aescoot[[s]]*env
V[["awalk"]] = asc_awalk[[s]] + b_awalk[[s]]*awalk + lm_risk_awalk[[s]]*risk + lm_use_awalk[[s]]*use
## Settings for MNL model component
mnl_settings = list(
alternatives = c(car=1, pt=2, ecar=3, ebike=4, escoot=5, aebike=6, aescoot=7, awalk=8),
avail = list(car=av_car, pt=av_pt, ecar=av_ecar, ebike=av_ebike, escoot=av_escoot, aebike=av_aebike, aescoot=av_aescoot, awalk=av_awalk),
choiceVar = mode,
utilities = V,
componentName = paste0("class_", s)
)
## Compute within-class choice probabilities using MNL
P[[paste0("class_",s)]] = apollo_mnl(mnl_settings, functionality)
## Product across observations for same ID
P[[paste0("class_",s)]] = apollo_panelProd(P[[paste0("class_",s)]], apollo_inputs, functionality)
}
### Compute latent class model probabilities
lc_settings = list(inClassProb = P[paste0("class_", 1:2)], classProb=pi_values, componentName="choice")
P[["choice"]] = apollo_lc(lc_settings, apollo_inputs, functionality)
### Comment out as necessary
P = apollo_combineModels(P, apollo_inputs, functionality, components=c("indic_innv1", "indic_innv2", "indic_innv3",
"indic_skpt1", "indic_skpt2", "indic_skpt3",
"indic_risk1", "indic_risk2", "indic_risk3",
"indic_use1", "indic_use2", "indic_use3", "indic_use4", "indic_use5",
"indic_sn1", "indic_sn2",
"indic_env1", "indic_env2", "indic_env3",
"indic_hab1", "indic_hab2", "indic_hab3", "indic_hab4", "indic_hab5",
"choice"))
## Average across inter-individual draws
P = apollo_avgInterDraws(P, apollo_inputs, functionality)
## Prepare and return outputs of function
P = apollo_prepareProb(P, apollo_inputs, functionality)
return(P)
}
## Calculate LL at starting values
apollo_llCalc(apollo_beta, apollo_probabilities, apollo_inputs)
## Model Estimation
model = apollo_estimate(apollo_beta, apollo_fixed, apollo_probabilities, apollo_inputs, estimate_settings = list(maxIterations=1000))
## Model output
apollo_modelOutput(model)
apollo_saveOutput(model)
Code: Select all
final value 29654.784732
converged
Estimated parameters:
Estimate
asc_car_a 0.000000
car_ivtt_a -0.403663
car_egt_a -0.106567
car_tc_a -0.356650
car_pc_a -0.593426
lm_innv_car_a 0.000000
lm_skpt_car_a 0.000000
lm_risk_car_a 0.000000
lm_use_car_a 0.000000
lm_sn_car_a 0.000000
lm_env_car_a 0.000000
asc_pt_a -8.371614
pt_ivtt_a -0.281204
pt_act_a 0.139145
pt_egt_a -2.083376
pt_wt_a -0.354639
pt_tc_a 2.822185
lm_innv_pt_a 0.000000
lm_skpt_pt_a 0.000000
lm_risk_pt_a 0.000000
lm_use_pt_a 0.000000
lm_sn_pt_a 0.000000
lm_env_pt_a 0.000000
asc_ecar_a 10.548468
ecar_ivtt_a -0.148799
ecar_act_a -4.271748
ecar_egt_a -0.186116
ecar_tc_a -0.380282
ecar_av_a 0.036170
ecar_wt_a -0.718559
lm_innv_ecar_a 0.000000
lm_skpt_ecar_a 0.000000
lm_risk_ecar_a 0.000000
lm_use_ecar_a 0.000000
lm_sn_ecar_a 0.000000
lm_env_ecar_a 0.000000
asc_ebike_a -16.343402
ebike_ivtt_a 4.790125
ebike_act_a -13.477655
ebike_egt_a 1.047121
ebike_tc_a 33.073094
ebike_av_a -0.567727
ebike_wt_a -15.057779
lm_innv_ebike_a 0.000000
lm_skpt_ebike_a 0.000000
lm_risk_ebike_a 0.000000
lm_use_ebike_a 0.000000
lm_sn_ebike_a 0.000000
lm_env_ebike_a 0.000000
asc_escoot_a -1.726878
escoot_ivtt_a 0.526737
escoot_act_a 4.094076
escoot_egt_a -21.173187
escoot_tc_a 5.111102
escoot_av_a 0.460357
escoot_wt_a 17.824858
lm_innv_escoot_a 0.000000
lm_skpt_escoot_a 0.000000
lm_risk_escoot_a 0.000000
lm_use_escoot_a 0.000000
lm_sn_escoot_a 0.000000
lm_env_escoot_a 0.000000
asc_aebike_a -0.014579
aebike_ivtt_a -0.511012
aebike_wk_a -0.473866
aebike_tc_a -0.905599
aebike_av_a 0.110548
aebike_wt_a -0.908376
lm_innv_aebike_a 0.000000
lm_skpt_aebike_a 0.000000
lm_risk_aebike_a 0.000000
lm_use_aebike_a 0.000000
lm_sn_aebike_a 0.000000
lm_env_aebike_a 0.000000
asc_aescoot_a -3.915401
aescoot_ivtt_a -0.143161
aescoot_wk_a -0.337634
aescoot_tc_a -1.304077
aescoot_av_a 0.047112
aescoot_wt_a 0.125627
lm_innv_aescoot_a 0.000000
lm_skpt_aescoot_a 0.000000
lm_risk_aescoot_a 0.000000
lm_use_aescoot_a 0.000000
lm_sn_aescoot_a 0.000000
lm_env_aescoot_a 0.000000
asc_awalk_a 0.000000
awalk_a -0.369069
lm_risk_awalk_a 0.000000
lm_use_awalk_a 0.000000
asc_car_b 0.000000
car_ivtt_b -0.061964
car_egt_b -0.049862
car_tc_b -0.161234
car_pc_b -0.243082
lm_innv_car_b 0.000000
lm_skpt_car_b 0.000000
lm_risk_car_b 0.000000
lm_use_car_b 0.000000
lm_sn_car_b 0.000000
lm_env_car_b 0.000000
asc_pt_b -0.068008
pt_ivtt_b -0.106423
pt_act_b -0.037507
pt_egt_b -0.086326
pt_wt_b -0.080557
pt_tc_b 0.082268
lm_innv_pt_b 0.000000
lm_skpt_pt_b 0.000000
lm_risk_pt_b 0.000000
lm_use_pt_b 0.000000
lm_sn_pt_b 0.000000
lm_env_pt_b 0.000000
asc_ecar_b -0.229641
ecar_ivtt_b -0.095359
ecar_act_b -0.041611
ecar_egt_b -0.144088
ecar_tc_b -0.249871
ecar_av_b 0.004606
ecar_wt_b -0.036072
lm_innv_ecar_b 0.000000
lm_skpt_ecar_b 0.000000
lm_risk_ecar_b 0.000000
lm_use_ecar_b 0.000000
lm_sn_ecar_b 0.000000
lm_env_ecar_b 0.000000
asc_ebike_b -0.136862
ebike_ivtt_b -0.045792
ebike_act_b 0.014120
ebike_egt_b -0.065301
ebike_tc_b -0.511616
ebike_av_b -0.010648
ebike_wt_b -0.383772
lm_innv_ebike_b 0.000000
lm_skpt_ebike_b 0.000000
lm_risk_ebike_b 0.000000
lm_use_ebike_b 0.000000
lm_sn_ebike_b 0.000000
lm_env_ebike_b 0.000000
asc_escoot_b 4.411574
escoot_ivtt_b -0.139691
escoot_act_b -0.207376
escoot_egt_b -0.269040
escoot_tc_b -0.124885
escoot_av_b -0.040926
escoot_wt_b -0.586947
lm_innv_escoot_b 0.000000
lm_skpt_escoot_b 0.000000
lm_risk_escoot_b 0.000000
lm_use_escoot_b 0.000000
lm_sn_escoot_b 0.000000
lm_env_escoot_b 0.000000
asc_aebike_b -3.741093
aebike_ivtt_b 0.111733
aebike_wk_b 0.012083
aebike_tc_b -0.561805
aebike_av_b 0.021926
aebike_wt_b -0.082681
lm_innv_aebike_b 0.000000
lm_skpt_aebike_b 0.000000
lm_risk_aebike_b 0.000000
lm_use_aebike_b 0.000000
lm_sn_aebike_b 0.000000
lm_env_aebike_b 0.000000
asc_aescoot_b -4.663551
aescoot_ivtt_b -0.249341
aescoot_wk_b -0.032409
aescoot_tc_b -0.072079
aescoot_av_b 0.045159
aescoot_wt_b 0.074601
lm_innv_aescoot_b 0.000000
lm_skpt_aescoot_b 0.000000
lm_risk_aescoot_b 0.000000
lm_use_aescoot_b 0.000000
lm_sn_aescoot_b 0.000000
lm_env_aescoot_b 0.000000
asc_awalk_b 0.000000
awalk_b -0.034264
lm_risk_awalk_b 0.000000
lm_use_awalk_b 0.000000
delta_a -3.163460
gm_female_a -0.328585
gm_age1_a 1.290636
gm_age2_a 1.004727
gm_age3_a 0.000000
gm_hhinc1_a -1.684520
gm_hhinc2_a -0.149498
gm_hhinc3_a 0.000000
gm_ncar0_a 0.000000
gm_ncar1_a 0.202538
gm_ncar2_a 0.126651
gm_nbic0_a 0.000000
gm_nbic1_a 0.098099
gm_nbic2_a -0.170477
gm_hhC_a 0.003141
lm_hab_a 0.123190
delta_b 0.000000
gm_female_b 0.000000
gm_age1_b 0.000000
gm_age2_b 0.000000
gm_age3_b 0.000000
gm_hhinc1_b 0.000000
gm_hhinc2_b 0.000000
gm_hhinc3_b 0.000000
gm_ncar0_b 0.000000
gm_ncar1_b 0.000000
gm_ncar2_b 0.000000
gm_nbic0_b 0.000000
gm_nbic1_b 0.000000
gm_nbic2_b 0.000000
gm_hhC_b 0.000000
lm_hab_b 0.000000
gamma_age1_innv 0.000000
gamma_age2_innv 0.000000
gamma_age3_innv 0.000000
gamma_hhinc1_innv 0.000000
gamma_hhinc2_innv 0.000000
gamma_hhinc3_innv 0.000000
gamma_grad_innv 0.000000
gamma_female_innv 0.000000
gamma_age1_skpt 0.000000
gamma_age2_skpt 0.000000
gamma_age3_skpt 0.000000
gamma_hhinc1_skpt 0.000000
gamma_hhinc2_skpt 0.000000
gamma_hhinc3_skpt 0.000000
gamma_grad_skpt 0.000000
gamma_female_skpt 0.000000
gamma_age1_risk 0.000000
gamma_age2_risk 0.000000
gamma_age3_risk 0.000000
gamma_hhinc1_risk 0.000000
gamma_hhinc2_risk 0.000000
gamma_hhinc3_risk 0.000000
gamma_grad_risk 0.000000
gamma_female_risk 0.000000
gamma_age1_use 0.000000
gamma_age2_use 0.000000
gamma_age3_use 0.000000
gamma_hhinc1_use 0.000000
gamma_hhinc2_use 0.000000
gamma_hhinc3_use 0.000000
gamma_grad_use 0.000000
gamma_female_use 0.000000
gamma_age1_sn 0.000000
gamma_age2_sn 0.000000
gamma_age3_sn 0.000000
gamma_hhinc1_sn 0.000000
gamma_hhinc2_sn 0.000000
gamma_hhinc3_sn 0.000000
gamma_grad_sn 0.000000
gamma_female_sn 0.000000
gamma_age1_env 0.000000
gamma_age2_env 0.000000
gamma_age3_env 0.000000
gamma_hhinc1_env 0.000000
gamma_hhinc2_env 0.000000
gamma_hhinc3_env 0.000000
gamma_grad_env 0.000000
gamma_female_env 0.000000
gamma_age1_hab 0.311939
gamma_age2_hab 0.119120
gamma_age3_hab 0.000000
gamma_hhinc1_hab -0.164456
gamma_hhinc2_hab -0.329104
gamma_hhinc3_hab 0.000000
gamma_grad_hab 0.169466
gamma_female_hab -0.357677
gamma_ncar0 0.000000
gamma_ncar1 -0.080386
gamma_ncar2 -0.405700
gamma_nbic0 0.000000
gamma_nbic1 0.206535
gamma_nbic2 0.085154
zeta_innv1 0.000000
zeta_innv2 0.000000
zeta_innv3 0.000000
zeta_skpt1 0.000000
zeta_skpt2 0.000000
zeta_skpt3 0.000000
zeta_risk1 0.000000
zeta_risk2 0.000000
zeta_risk3 0.000000
zeta_use1 0.000000
zeta_use2 0.000000
zeta_use3 0.000000
zeta_use4 0.000000
zeta_use5 0.000000
zeta_sn1 0.000000
zeta_sn2 0.000000
zeta_env1 0.000000
zeta_env2 0.000000
zeta_env3 0.000000
zeta_hab1 -2.815868
zeta_hab2 -2.706638
zeta_hab3 -0.969271
zeta_hab4 -1.479420
zeta_hab5 -1.526375
tau_innv1_1 -3.513662
tau_innv1_2 -1.659840
tau_innv1_3 -0.448101
tau_innv1_4 1.609411
tau_innv2_1 -3.253810
tau_innv2_2 -1.458419
tau_innv2_3 0.082705
tau_innv2_4 1.968122
tau_innv3_1 -3.216016
tau_innv3_2 -1.690958
tau_innv3_3 -0.442341
tau_innv3_4 1.345462
tau_skpt1_1 -5.485787
tau_skpt1_2 -2.953069
tau_skpt1_3 -2.007099
tau_skpt1_4 -0.482985
tau_skpt2_1 -2.790269
tau_skpt2_2 -1.102287
tau_skpt2_3 0.137949
tau_skpt2_4 1.504082
tau_skpt3_1 -1.766281
tau_skpt3_2 -0.210092
tau_skpt3_3 0.583447
tau_skpt3_4 2.047287
tau_risk1_1 -1.722752
tau_risk1_2 0.187861
tau_risk1_3 1.659830
tau_risk1_4 3.513683
tau_risk2_1 -2.033757
tau_risk2_2 -0.038570
tau_risk2_3 1.184948
tau_risk2_4 2.868765
tau_risk3_1 -2.582875
tau_risk3_2 -0.781248
tau_risk3_3 0.277263
tau_risk3_4 2.161020
tau_use1_1 -2.088765
tau_use1_2 -0.459731
tau_use1_3 0.885631
tau_use1_4 2.647930
tau_use2_1 -1.845827
tau_use2_2 -0.367716
tau_use2_3 0.705553
tau_use2_4 2.501404
tau_use3_1 -2.924333
tau_use3_2 -1.560619
tau_use3_3 -0.154570
tau_use3_4 1.701490
tau_use4_1 -2.191119
tau_use4_2 -0.430785
tau_use4_3 0.872341
tau_use4_4 2.582892
tau_use5_1 -2.561964
tau_use5_2 -0.577512
tau_use5_3 0.571539
tau_use5_4 2.765250
tau_sn1_1 -2.074801
tau_sn1_2 -0.459723
tau_sn1_3 1.102277
tau_sn1_4 2.896190
tau_sn2_1 -3.253790
tau_sn2_2 -1.337071
tau_sn2_3 0.471345
tau_sn2_4 2.604150
tau_env1_1 -3.292987
tau_env1_2 -2.088764
tau_env1_3 -1.022867
tau_env1_4 1.200369
tau_env2_1 -3.563833
tau_env2_2 -2.175982
tau_env2_3 -1.037096
tau_env2_4 0.892317
tau_env3_1 -1.917867
tau_env3_2 -0.266024
tau_env3_3 1.303949
tau_env3_4 2.924322
tau_hab1_1 -8.865276
tau_hab1_2 -7.066860
tau_hab1_3 -5.139945
tau_hab1_4 -1.290712
tau_hab2_1 -9.038670
tau_hab2_2 -6.089578
tau_hab2_3 -4.124917
tau_hab2_4 -0.774950
tau_hab3_1 -5.851724
tau_hab3_2 -2.877534
tau_hab3_3 -1.427800
tau_hab3_4 0.397804
tau_hab4_1 -3.492639
tau_hab4_2 -1.221041
tau_hab4_3 -0.078460
tau_hab4_4 1.381377
tau_hab5_1 -4.461141
tau_hab5_2 -2.713751
tau_hab5_3 -1.179994
tau_hab5_4 0.771445
eta1 0.000000
eta2 0.000000
eta3 0.000000
eta4 0.000000
eta5 0.000000
eta6 0.000000
Final LL: -29654.7847
Summary of class allocation for model component choice:
Mean prob.
class_1 0.1001
class_2 0.8999