Important: Read this before posting to this forum

  1. This forum is for questions related to the use of Apollo. We will answer some general choice modelling questions too, where appropriate, and time permitting. We cannot answer questions about how to estimate choice models with other software packages.
  2. There is a very detailed manual for Apollo available at http://www.ApolloChoiceModelling.com/manual.html. This contains detailed descriptions of the various Apollo functions, and numerous examples are available at http://www.ApolloChoiceModelling.com/examples.html. In addition, help files are available for all functions, using e.g. ?apollo_mnl
  3. Before asking a question on the forum, users are kindly requested to follow these steps:
    1. Check that the same issue has not already been addressed in the forum - there is a search tool.
    2. Ensure that the correct syntax has been used. For any function, detailed instructions are available directly in Apollo, e.g. by using ?apollo_mnl for apollo_mnl
    3. Check the frequently asked questions section on the Apollo website, which discusses some common issues/failures. Please see http://www.apollochoicemodelling.com/faq.html
    4. Make sure that R is using the latest official release of Apollo.
  4. If the above steps do not resolve the issue, then users should follow these steps when posting a question:
    1. provide full details on the issue, including the entire code and output, including any error messages
    2. posts will not immediately appear on the forum, but will be checked by a moderator first. We check the forum at least twice a week. It may thus take a couple of days for your post to appear and before we reply. There is no need to submit the post multiple times.

has large Estimates and Std.

Ask questions about the results reported after estimation. If the output includes errors, please include your model code if possible.
Post Reply
kiki
Posts: 12
Joined: 25 Mar 2024, 19:11

has large Estimates and Std.

Post by kiki »

Hi,

I am reaching out to you again! I used effected coding as input variabels. When I use latent class model and also adjust the intial value of variables, it estimates very large estimates and Std as below. I attached my code after the results.

I also try the EM_LC. EM_LC can estimates proper weights but still with large Std. Is it caused by dataset? Or we have other solution for this?

Thank you in advance!

Best regards,
kiki

mu_agecombine1_A 0 NA NA NA NA
mu_agecombine4_A 0 NA NA NA NA
mu_male_A 0 NA NA NA NA
mu_hhincombine1_A 0 NA NA NA NA
mu_hhincombine5_A 0 NA NA NA NA
mu_hhincombine9_A 0 NA NA NA NA
mu_composition1_A 0 NA NA NA NA
mu_composition3_A 0 NA NA NA NA
mu_agecombine1_B -83.2135570007629 4737.64344975588 -0.0175643350714902 16.4513057974797 -5.05817337694318
mu_agecombine4_B 93.3843188251887 5263.55773464753 0.0177416727493048 17.0914482127562 5.46380374926283
mu_male_B -65.4640115521348 3871.91169753977 -0.0169074133570068 11.9501379686124 -5.47809671520775
mu_hhincombine1_B -17.7615826038814 6430.96719618672 -0.00276188356463912 8.37234385537564 -2.12145880660135
mu_hhincombine5_B -52.6943007777475 3536.15585646304 -0.0149015775652077 7.99574751260397 -6.59029073825601
mu_hhincombine9_B 20.2411876675291 2833.37856891902 0.00714383453364351 8.48404875286343 2.38579341740552
mu_composition1_B 28.4716257611836 1869.84643254619 0.0152267187644996 8.56417737248296 3.32450211186238
mu_composition3_B -116.681117738717 6639.29420303333 -0.0175743255488526 24.290894789095 -4.80349195662811
delta_A 0 NA NA NA NA
delta_B 25.4460833819998 2395.67648564759 0.0106216693006949 4.68335215366583 5.43330557837343

# ################################################################# #
#### LOAD LIBRARY AND DEFINE CORE SETTINGS ####
# ################################################################# #

### Initialise
rm(list = ls())
library(apollo)

apollo_initialise()

### Set core controls
apollo_control = list(
modelName = "Hybrid_LC_OL_and_MMNL",
modelDescr = "Hybrid latent class choice model, using ordered measurement model for indicators",
indivID = "ID",
nCores = 5,
outputDirectory = "output"
)

# ################################################################# #
#### LOAD DATA AND APPLY ANY TRANSFORMATIONS ####
# ################################################################# #

### Loading data from package
### if data is to be loaded from a file (e.g. called data.csv),
### the code would be: database = read.csv("data.csv",header=TRUE)
database = read.csv("/Users/romeechow/Desktop/数据预处理/DataProcess_III/datacombine2_effectcode2.csv",header=TRUE)
### for data dictionary, use ?apollo_swissRouteChoiceData

# ################################################################# #
#### DEFINE MODEL PARAMETERS ####
# ################################################################# #

### Vector of parameters, including any that are kept fixed in estimation
apollo_beta = c(
asc2=0,

mu_asc3 =0, sigma_asc3=0,
# Choice parameters
# CPD attributes
# context attributes
b_acquaint1_A=0,b_acquaint2_A=0,b_acquaint3_A=0,

b_passport_A=0,
b_tele_A=0,b_home_A=0,

# alternative-specific attributes
b_DetourdistP1_A=0, b_DetourdistP2_A=0, b_DetourdistP3_A=0,
b_DetourdistD1_A=0, b_DetourdistD2_A=0, b_DetourdistD3_A=0,
b_size1_A=0,b_size2_A=0,b_size3_A=0,

b_weight1_A=0,b_weight2_A=0,b_weight3_A=0,
b_vulner_A=0,
b_co2_A=0,
b_incentive1_A=0,b_incentive2_A=0,b_incentive3_A=0,
b_dpenalty1_A=0, b_dpenalty2_A=0, b_dpenalty3_A=0,

b_retailer_A=0,
b_tariff1_A=0, b_tariff2_A=0, b_tariff3_A=0,

b_acquaint1_B=0,b_acquaint2_B=0,b_acquaint3_B=0,

b_passport_B=0,
b_tele_B=0,b_home_B=0,

# alternative-specific attributes
b_DetourdistP1_B=0, b_DetourdistP2_B=0, b_DetourdistP3_B=0,
b_DetourdistD1_B=0, b_DetourdistD2_B=0, b_DetourdistD3_B=0,
b_size1_B=0,b_size2_B=0,b_size3_B=0,

b_weight1_B=0,b_weight2_B=0,b_weight3_B=0,
b_vulner_B=0,
b_co2_B=0,
b_incentive1_B=0,b_incentive2_B=0,b_incentive3_B=0,
b_dpenalty1_B=0, b_dpenalty2_B=0, b_dpenalty3_B=0,

b_retailer_B=0,
b_tariff1_B=0, b_tariff2_B=0, b_tariff3_B=0,

# travel parameters
# travel parameters
b_purpose1_A = -0.094, b_purpose4_A = 0.406, b_purpose7_A = 0.164, b_purpose9_A = 0.47,
b_trfrequency1_A=-0.355, b_trfrequency2_A=0.18, b_trfrequency7_A=-0.02,
b_trpressure1_A = -0.481, b_trpressure2_A = -0.034,
b_nrow1_A = 0.531,b_nrow2_A = 0.94,b_nrow3_A = -0.48,
b_firstmode1_A=-0.068,b_firstmode2_A=-0.47,b_firstmode3_A=-0.48,b_firstmode4_A=0.81,
b_firstmode5_A=-0.27,b_firstmode6_A=-0.94,b_firstmode7_A=1.048,
b_weather1_A=0.335, b_weather3_A=-0.23,

b_purpose1_B = -0.094, b_purpose4_B = 0.406, b_purpose7_B = 0.164, b_purpose9_B = 0.47,
b_trfrequency1_B=-0.355, b_trfrequency2_B=0.18, b_trfrequency7_B=-0.02,
b_trpressure1_B = -0.481, b_trpressure2_B = -0.034,
b_nrow1_B = 0.531,b_nrow2_B = 0.94,b_nrow3_B = -0.48,
b_firstmode1_B=-0.068,b_firstmode2_B=-0.47,b_firstmode3_B=-0.48,b_firstmode4_B=0.81,
b_firstmode5_B=-0.27,b_firstmode6_B=-0.94,b_firstmode7_B=1.048,
b_weather1_B=0.335, b_weather3_B=-0.23,

# socio-demos coefficients in structual component
gamma_LV_en_age1=0,gamma_LV_en_age4=0,
gamma_LV_en_male=0 ,
gamma_LV_en_hhincome1=0, gamma_LV_en_hhincome5=0, gamma_LV_en_hhincome9=0,
gamma_LV_en_composition1=0,gamma_LV_en_composition3=0,

gamma_LV_ec_age1=0,gamma_LV_ec_age4=0,
gamma_LV_ec_male=0 ,
gamma_LV_ec_hhincome1=0, gamma_LV_ec_hhincome5=0, gamma_LV_ec_hhincome9=0,
gamma_LV_ec_composition1=0,gamma_LV_ec_composition3=0,

gamma_LV_so_age1=0,gamma_LV_so_age4=0,
gamma_LV_so_male=0 ,
gamma_LV_so_hhincome1=0, gamma_LV_so_hhincome5=0, gamma_LV_so_hhincome9=0,
gamma_LV_so_composition1=0,gamma_LV_so_composition3=0,

## socio-demo coefficients in class
mu_agecombine1_A =0, mu_agecombine4_A =0,
mu_male_A=0,
mu_hhincombine1_A=0,mu_hhincombine5_A=0,mu_hhincombine9_A=0,
mu_composition1_A=0, mu_composition3_A=0,

mu_agecombine1_B =0.6, mu_agecombine4_B =-0.25,
mu_male_B=0.322,
mu_hhincombine1_B=0.06,mu_hhincombine5_B=0.179,mu_hhincombine9_B=0.396,
mu_composition1_B=0.022, mu_composition3_B=0.531,

delta_A = 0, delta_B = 0,

# LV
lambda_environ_A = 1, lambda_environ_B = 1,
lambda_eco_A = 1, lambda_eco_B = 1,
lambda_social_A = 1, lambda_social_B = 1,


# Measurement equations parameters-environment
zeta_environ1 = 1, zeta_environ2 = 1, zeta_environ3 = 1,
tau_environ1_1 =-2, tau_environ1_2 =-1, tau_environ1_3 = 1, tau_environ1_4 = 2,
tau_environ2_1 =-2, tau_environ2_2 =-1, tau_environ2_3 = 1, tau_environ2_4 = 2,
tau_environ3_1 =-2, tau_environ3_2 =-1, tau_environ3_3 = 1, tau_environ3_4 = 2,

zeta_eco2 = 1, zeta_eco3 = 1,
tau_eco2_1 =-2, tau_eco2_2 =-1, tau_eco2_3 = 1, tau_eco2_4 = 2,
tau_eco3_1 =-2, tau_eco3_2 =-1, tau_eco3_3 = 1, tau_eco3_4 = 2,

zeta_social2 = 1, zeta_social3 = 1,
tau_social2_1 =-2, tau_social2_2 =-1, tau_social2_3 = 1, tau_social2_4 = 2,
tau_social3_1 =-2, tau_social3_2 =-1, tau_social3_3 = 1, tau_social3_4 = 2

)

### Vector with names (in quotes) of parameters to be kept fixed at their starting value in apollo_beta,
# Use apollo_beta_fixed = c() if all parameters are to be estimated.
apollo_fixed = c("delta_A","mu_agecombine1_A" , "mu_agecombine4_A" ,
"mu_male_A",
"mu_hhincombine1_A","mu_hhincombine5_A","mu_hhincombine9_A",
"mu_composition1_A", "mu_composition3_A"
)

# ################################################################# #
#### DEFINE RANDOM COMPONENTS ####
# ################################################################# #

### Set parameters for generating draws
apollo_draws = list(
interDrawsType = "MLHS",
interNDraws = 400,
interNormDraws = c("draw_asc3",
"eta_en","eta_ec","eta_so")
)

### Create random parameters
apollo_randCoeff=function(apollo_beta, apollo_inputs){
randcoeff = list()

randcoeff[["asc3"]] = (mu_asc3 + sigma_asc3*draw_asc3)
randcoeff[["LV_en"]] =(gamma_LV_en_age1*age_combine_1 + gamma_LV_en_age4*age_combine_4
+ gamma_LV_en_male*gender_1
+ gamma_LV_en_hhincome1*hh_income_combine_1 + gamma_LV_en_hhincome5*hh_income_combine_5+ gamma_LV_en_hhincome9*hh_income_combine_9
+ gamma_LV_en_composition1*composition_combine_1 + gamma_LV_en_composition3*composition_combine_3
+ eta_en) # 这儿是不是没有sigma!! check !!

randcoeff[['LV_ec']] = (gamma_LV_ec_age1*age_combine_1 + gamma_LV_ec_age4*age_combine_4
+ gamma_LV_ec_male*gender_1
+ gamma_LV_ec_hhincome1*hh_income_combine_1 + gamma_LV_ec_hhincome5*hh_income_combine_5+ gamma_LV_ec_hhincome9*hh_income_combine_9
+ gamma_LV_ec_composition1*composition_combine_1 + gamma_LV_ec_composition3*composition_combine_3
+ eta_ec)
randcoeff[['LV_so']] = (gamma_LV_so_age1*age_combine_1 + gamma_LV_so_age4*age_combine_4
+ gamma_LV_so_male*gender_1
+ gamma_LV_so_hhincome1*hh_income_combine_1 + gamma_LV_so_hhincome5*hh_income_combine_5+ gamma_LV_so_hhincome9*hh_income_combine_9
+ gamma_LV_so_composition1*composition_combine_1 + gamma_LV_so_composition3*composition_combine_3
+ eta_so)

return(randcoeff)
}

# ################################################################# #
#### DEFINE LATENT CLASS COMPONENTS ####
# ################################################################# #

apollo_lcPars=function(apollo_beta, apollo_inputs){
lcpars = list()

# CPD attribute
lcpars[["b_acquaint1" ]] = list(b_acquaint1_A , b_acquaint1_B )
lcpars[["b_acquaint2" ]] = list(b_acquaint2_A , b_acquaint2_B )
lcpars[["b_acquaint3" ]] = list(b_acquaint3_A , b_acquaint3_B )

lcpars[["b_passport" ]] = list(b_passport_A , b_passport_B )
lcpars[["b_tele" ]] = list(b_tele_A , b_tele_B )
lcpars[["b_home" ]] = list(b_home_A , b_home_B )

lcpars[["b_size1" ]] = list(b_size1_A , b_size1_B )
lcpars[["b_size2" ]] = list(b_size2_A , b_size2_B )
lcpars[["b_size3" ]] = list(b_size3_A , b_size3_B )

lcpars[["b_weight1" ]] = list(b_weight1_A , b_weight1_B )
lcpars[["b_weight2" ]] = list(b_weight2_A , b_weight2_B )
lcpars[["b_weight3" ]] = list(b_weight3_A , b_weight3_B )

lcpars[["b_retailer" ]] = list(b_retailer_A , b_retailer_B )
lcpars[["b_vulner"]] = list(b_vulner_A, b_vulner_B)

lcpars[["b_incentive1" ]] = list(b_incentive1_A , b_incentive1_B )
lcpars[["b_incentive2" ]] = list(b_incentive2_A , b_incentive2_B )
lcpars[["b_incentive3" ]] = list(b_incentive3_A , b_incentive3_B )

lcpars[["b_dpenalty1" ]] = list(b_dpenalty1_A , b_dpenalty1_B )
lcpars[["b_dpenalty2" ]] = list(b_dpenalty2_A , b_dpenalty2_B )
lcpars[["b_dpenalty3" ]] = list(b_dpenalty3_A , b_dpenalty3_B )

lcpars[["b_tariff1" ]] = list(b_tariff1_A , b_tariff1_B )
lcpars[["b_tariff2" ]] = list(b_tariff2_A , b_tariff2_B )
lcpars[["b_tariff3" ]] = list(b_tariff3_A , b_tariff3_B )

lcpars[["b_co2" ]] = list(b_co2_A , b_co2_B )

lcpars[["b_DetourdistP1" ]] = list(b_DetourdistP1_A , b_DetourdistP1_B )
lcpars[["b_DetourdistP2" ]] = list(b_DetourdistP2_A , b_DetourdistP2_B )
lcpars[["b_DetourdistP3" ]] = list(b_DetourdistP3_A , b_DetourdistP3_B )

lcpars[["b_DetourdistD1" ]] = list(b_DetourdistD1_A , b_DetourdistD1_B )
lcpars[["b_DetourdistD2" ]] = list(b_DetourdistD2_A , b_DetourdistD2_B )
lcpars[["b_DetourdistD3" ]] = list(b_DetourdistD3_A , b_DetourdistD3_B )

# travel variables
lcpars[["b_purpose1" ]] = list(b_purpose1_A , b_purpose1_B )
lcpars[["b_purpose4" ]] = list(b_purpose4_A , b_purpose4_B )
lcpars[["b_purpose7" ]] = list(b_purpose7_A , b_purpose7_B )
lcpars[["b_purpose9" ]] = list(b_purpose9_A , b_purpose9_B )

lcpars[["b_trfrequency1" ]] = list(b_trfrequency1_A , b_trfrequency1_B )
lcpars[["b_trfrequency2" ]] = list(b_trfrequency2_A , b_trfrequency2_B )
lcpars[["b_trfrequency7" ]] = list(b_trfrequency7_A , b_trfrequency7_B )

lcpars[["b_trpressure1" ]] = list(b_trpressure1_A , b_trpressure1_B )
lcpars[["b_trpressure2" ]] = list(b_trpressure2_A , b_trpressure2_B )

lcpars[["b_nrow1" ]] = list(b_nrow1_A , b_nrow1_B )
lcpars[["b_nrow2" ]] = list(b_nrow2_A , b_nrow2_B )
lcpars[["b_nrow3" ]] = list(b_nrow3_A , b_nrow3_B )

lcpars[["b_firstmode1" ]] = list(b_firstmode1_A , b_firstmode1_B )
lcpars[["b_firstmode2" ]] = list(b_firstmode2_A , b_firstmode2_B )
lcpars[["b_firstmode3" ]] = list(b_firstmode3_A , b_firstmode3_B )
lcpars[["b_firstmode4" ]] = list(b_firstmode4_A , b_firstmode4_B )
lcpars[["b_firstmode5" ]] = list(b_firstmode5_A , b_firstmode5_B )
lcpars[["b_firstmode6" ]] = list(b_firstmode6_A , b_firstmode6_B )
lcpars[["b_firstmode7" ]] = list(b_firstmode7_A , b_firstmode7_B )

lcpars[["b_weather1" ]] = list(b_weather1_A , b_weather1_B )
lcpars[["b_weather3" ]] = list(b_weather3_A , b_weather3_B )


lcpars[["lambda_environ" ]] = list(lambda_environ_A , lambda_environ_B )
lcpars[["lambda_eco" ]] = list(lambda_eco_A , lambda_eco_B )
lcpars[["lambda_social" ]] = list(lambda_social_A , lambda_social_B )

V = list()
V[['class_a']] = (delta_A
# ? when we consider these, their parameters are either too big or too small
# but if we remove this, how to know the effect of socio-demos on class-membership component
+ mu_agecombine1_A*age_combine_1 + mu_agecombine4_A*age_combine_4
+ mu_male_A*gender_1
+ mu_hhincombine1_A*hh_income_combine_1+ mu_hhincombine5_A*hh_income_combine_5+ mu_hhincombine9_A*hh_income_combine_9
+ mu_composition1_A*composition_combine_1 + mu_composition3_A*composition_combine_3
+ lambda_environ_A*LV_en + lambda_eco_A*LV_ec + lambda_social_A*LV_so)
V[['class_b']] = (delta_B
+ mu_agecombine1_B*age_combine_1 + mu_agecombine4_B*age_combine_4
+ mu_male_B*gender_1
+ mu_hhincombine1_B*hh_income_combine_1+ mu_hhincombine5_B*hh_income_combine_5+ mu_hhincombine9_B*hh_income_combine_9
+ mu_composition1_B*composition_combine_1 + mu_composition3_B*composition_combine_3
+ lambda_environ_B*LV_en + lambda_eco_B*LV_ec + lambda_social_B*LV_so)
### Settings for class allocation models
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"){

### Initialise
apollo_attach(apollo_beta, apollo_inputs)
on.exit(apollo_detach(apollo_beta, apollo_inputs))
P = list()

### Likelihood of indicators_en
ol_settings1 = list(outcomeOrdered = environ1,
V = zeta_environ1*LV_en,
tau = list(tau_environ1_1, tau_environ1_2, tau_environ1_3, tau_environ1_4),
rows = (task==1),
componentName = "indic_environ1")
ol_settings2 = list(outcomeOrdered = environ2,
V = zeta_environ2*LV_en,
tau = list(tau_environ2_1, tau_environ2_2, tau_environ2_3, tau_environ2_4),
rows = (task==1),
componentName = "indic_environ2")
ol_settings3 = list(outcomeOrdered = environ3,
V = zeta_environ3*LV_en,
tau = list(tau_environ3_1, tau_environ3_2, tau_environ3_3, tau_environ3_4),
rows = (task==1),
componentName = "indic_environ3")

P[["indic_environ1"]] = apollo_ol(ol_settings1, functionality)
P[["indic_environ2"]] = apollo_ol(ol_settings2, functionality)
P[["indic_environ3"]] = apollo_ol(ol_settings3, functionality)

P[["indic_environ1"]] = apollo_panelProd(P[["indic_environ1"]] , apollo_inputs, functionality)
P[["indic_environ2"]] = apollo_panelProd(P[["indic_environ2"]] , apollo_inputs, functionality)
P[["indic_environ3"]] = apollo_panelProd(P[["indic_environ3"]] , apollo_inputs, functionality)

### Likelihood of indicators_eco
ol_settings5 = list(outcomeOrdered = eco2,
V = zeta_eco2*LV_ec,
tau = list(tau_eco2_1, tau_eco2_2, tau_eco2_3, tau_eco2_4),
rows = (task==1),
componentName = "indic_eco2")
ol_settings6 = list(outcomeOrdered = eco3,
V = zeta_eco3*LV_ec,
tau = list(tau_eco3_1, tau_eco3_2, tau_eco3_3, tau_eco3_4),
rows = (task==1),
componentName = "indic_eco3")


P[["indic_eco2"]] = apollo_ol(ol_settings5, functionality)
P[["indic_eco3"]] = apollo_ol(ol_settings6, functionality)

P[["indic_eco2"]] = apollo_panelProd(P[["indic_eco2"]] , apollo_inputs, functionality)
P[["indic_eco3"]] = apollo_panelProd(P[["indic_eco3"]] , apollo_inputs, functionality)



### Likelihood of indicators_so
ol_settings11 = list(outcomeOrdered = social2,
V = zeta_social2*LV_so,
tau = list(tau_social2_1, tau_social2_2, tau_social2_3, tau_social2_4),
rows = (task==1),
componentName = "indic_social2")
ol_settings12 = list(outcomeOrdered = social3,
V = zeta_social3*LV_so,
tau = list(tau_social3_1, tau_social3_2, tau_social3_3, tau_social3_4),
rows = (task==1),
componentName = "indic_social3")


P[["indic_social2"]] = apollo_ol(ol_settings11, functionality)
P[["indic_social3"]] = apollo_ol(ol_settings12, functionality)


P[["indic_social2"]] = apollo_panelProd(P[["indic_social2"]] , apollo_inputs, functionality)
P[["indic_social3"]] = apollo_panelProd(P[["indic_social3"]] , apollo_inputs, functionality)



### Likelihood of choices inside each class
S <- 2
for(s in 1:S){
### Utilities for alternatives
V = list()

V[["alt1"]] =
(b_acquaint1[[s]]*acquaint_1+ b_acquaint2[[s]]*acquaint_2+ b_acquaint3[[s]]*acquaint_3
+ b_tele[[s]]*tele_1 + b_passport[[s]]*passport_1 + b_home[[s]]*home_1

# alternative-specific attributes
+ b_DetourdistP1[[s]]*DetourdistP1_1+ b_DetourdistP2[[s]]*DetourdistP1_2+ b_DetourdistP3[[s]]*DetourdistP1_3
+ b_DetourdistD1[[s]]*DetourdistD1_1+ b_DetourdistD2[[s]]*DetourdistD1_2+ b_DetourdistD3[[s]]*DetourdistD1_3
+ b_size1[[s]]*dummysize1_1 + b_size2[[s]]*dummysize1_2 + b_size3[[s]]*dummysize1_3
+ b_weight1[[s]]*dummyweight1_1 + b_weight2[[s]]*dummyweight1_2 + b_weight3[[s]]*dummyweight1_3
+ b_vulner[[s]]*dummyvulner1_1
+ b_co2[[s]]*dummyco1_1
+ b_incentive1[[s]]*dummyincentive1_1 + b_incentive2[[s]]*dummyincentive1_2 + b_incentive3[[s]]*dummyincentive1_3
+ b_dpenalty1[[s]]*dummydpenalty1_1 + b_dpenalty2[[s]]*dummydpenalty1_2+ b_dpenalty3[[s]]*dummydpenalty1_3
+ b_retailer[[s]]*dummypickpoint1_1
+ b_tariff1[[s]]*dummytariff1_1 + b_tariff2[[s]]*dummytariff1_2 + b_tariff3[[s]]*dummytariff1_3

# travel variables
+ b_purpose1[[s]]*purpose_combine_1 + b_purpose4[[s]]*purpose_combine_4
+ b_purpose7[[s]]*purpose_combine_7 + b_purpose9[[s]]*purpose_combine_9
+ b_trfrequency1[[s]]*trfrequency_combine_1 + b_trfrequency2[[s]]*trfrequency_combine_2
+ b_trfrequency7[[s]]*trfrequency_combine_7
+ b_trpressure1[[s]]*trpressure_combine_1 + b_trpressure2[[s]]*trpressure_combine_2
+ b_nrow1[[s]]*nrow_new_combine_1+ b_nrow2[[s]]*nrow_new_combine_2+ b_nrow3[[s]]*nrow_new_combine_3
+ b_firstmode1[[s]]*firstmode_combine_1+ b_firstmode2[[s]]*firstmode_combine_2+ b_firstmode3[[s]]*firstmode_combine_3
+ b_firstmode4[[s]]*firstmode_combine_4+ b_firstmode5[[s]]*firstmode_combine_5+ b_firstmode6[[s]]*firstmode_combine_6
+ b_firstmode7[[s]]*firstmode_combine_7
+ b_weather1[[s]]*weather_web1_combine_1+ b_weather3[[s]]*weather_web1_combine_3

# LV
+ lambda_environ[[s]]*LV_en + lambda_eco[[s]]*LV_ec+lambda_social[[s]]*LV_so)

V[["alt2"]] = (asc2+ b_acquaint1[[s]]*acquaint_1+ b_acquaint2[[s]]*acquaint_2+ b_acquaint3[[s]]*acquaint_3
+ b_tele[[s]]*tele_1 + b_passport[[s]]*passport_1 + b_home[[s]]*home_1
# alternative-specific attributes
+ b_DetourdistP1[[s]]*DetourdistP2_1+ b_DetourdistP2[[s]]*DetourdistP2_2+ b_DetourdistP3[[s]]*DetourdistP2_3
+ b_DetourdistD1[[s]]*DetourdistD2_1+ b_DetourdistD2[[s]]*DetourdistD2_2+ b_DetourdistD3[[s]]*DetourdistD2_3
+ b_size1[[s]]*dummysize2_1 + b_size2[[s]]*dummysize2_2 + b_size3[[s]]*dummysize2_3
+ b_weight1[[s]]*dummyweight2_1 + b_weight2[[s]]*dummyweight2_2 + b_weight3[[s]]*dummyweight2_3
+ b_vulner[[s]]*dummyvulner2_1
+ b_co2[[s]]*dummyco2_1
+ b_incentive1[[s]]*dummyincentive2_1 + b_incentive2[[s]]*dummyincentive2_2 + b_incentive3[[s]]*dummyincentive2_3
+ b_dpenalty1[[s]]*dummydpenalty2_1 + b_dpenalty2[[s]]*dummydpenalty2_2+ b_dpenalty3[[s]]*dummydpenalty2_3
+ b_retailer[[s]]*dummypickpoint2_1

+ b_tariff1[[s]]*dummytariff2_1 + b_tariff2[[s]]*dummytariff2_2 + b_tariff3[[s]]*dummytariff2_3

+ b_purpose1[[s]]*purpose_combine_1 + b_purpose4[[s]]*purpose_combine_4
+ b_purpose7[[s]]*purpose_combine_7 + b_purpose9[[s]]*purpose_combine_9
+ b_trfrequency1[[s]]*trfrequency_combine_1 + b_trfrequency2[[s]]*trfrequency_combine_2
+ b_trfrequency7[[s]]*trfrequency_combine_7
+ b_trpressure1[[s]]*trpressure_combine_1 + b_trpressure2[[s]]*trpressure_combine_2
+ b_nrow1[[s]]*nrow_new_combine_1+ b_nrow2[[s]]*nrow_new_combine_2+ b_nrow3[[s]]*nrow_new_combine_3
+ b_firstmode1[[s]]*firstmode_combine_1+ b_firstmode2[[s]]*firstmode_combine_2+ b_firstmode3[[s]]*firstmode_combine_3
+ b_firstmode4[[s]]*firstmode_combine_4+ b_firstmode5[[s]]*firstmode_combine_5+ b_firstmode6[[s]]*firstmode_combine_6
+ b_firstmode7[[s]]*firstmode_combine_7

+ b_weather1[[s]]*weather_web1_combine_1+ b_weather3[[s]]*weather_web1_combine_3)


V[["alt3"]] =(asc3)

### Define settings for MNL model component
mnl_settings = list(
alternatives = c(alt1=1, alt2=2,alt3=3),
choiceVar = choice,
utilities = V
)
### Compute within-class choice probabilities using MNL model
P[[paste0("Class_",s)]] = apollo_mnl(mnl_settings, functionality)

### Take product across observation for same individual
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:S)], classProb=pi_values)
P[["choice"]] = apollo_lc(lc_settings, apollo_inputs, functionality)

### Comment out as necessary
P = apollo_combineModels(P, apollo_inputs, functionality)
P = apollo_avgInterDraws(P, apollo_inputs, functionality)
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)

# ################################################################# #
#### MODEL OUTPUTS ####
# ################################################################# #

# ----------------------------------------------------------------- #
#---- FORMATTED OUTPUT (TO SCREEN) ----
# ----------------------------------------------------------------- #

apollo_modelOutput(model)

# ----------------------------------------------------------------- #
#---- FORMATTED OUTPUT (TO FILE, using model name) ----
# ----------------------------------------------------------------- #

apollo_saveOutput(model)
stephanehess
Site Admin
Posts: 1355
Joined: 24 Apr 2020, 16:29

Re: has large Estimates and Std.

Post by stephanehess »

Hi

can you please share the entire output, including model diagnostics and all parameters, not just the subset you are showing?

Thanks

Stephane
--------------------------------
Stephane Hess
www.stephanehess.me.uk
Post Reply