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. This may take a day or two at busy times. There is no need to submit the post multiple times.

Second order latent variable

Ask questions about model specifications. Ideally include a mathematical explanation of your proposed model.
Post Reply
anders
Posts: 1
Joined: 29 Apr 2020, 07:58

Second order latent variable

Post by anders »

Dear Hess and Palma,

I was wondering whether it is possible to define and incorporate a second-order latent variable in a hybrid choice model using Apollo? So a latent variable which is defined by the combination of two first-order latent variables.

Thank you very much
Anders
stephanehess
Site Admin
Posts: 1040
Joined: 24 Apr 2020, 16:29

Re: Second order latent variable

Post by stephanehess »

Hi Anders

yes, this can be done. The following rough code shows you how to do it:

apollo_randCoeff = function(apollo_beta, apollo_inputs){
randcoeff = list()

randcoeff[["LV1"]] = gamma_fem_LV1 * female + eta_LV1
randcoeff[["LV2"]] = gamma_employed_LV2 * employed + eta_LV2
randcoeff[["LV3"]] = gamma_LV1_LV3 * LV1 + gamma_LV2_LV3 * LV2

return(randcoeff)
}
--------------------------------
Stephane Hess
www.stephanehess.me.uk
anders
Posts: 1
Joined: 29 Apr 2020, 07:58

Re: Second order latent variable

Post by anders »

Thank you very much, Stephane.

I guess you need to define all three latent variables in the utility function to get the model to run?
In general, I am only interested in incorporating LV3 in the utility function in your example for example through interaction terms, but then the model can't run because it can't find LV2 and LV1 when LV2 and LV2 are only defined in the step where I define the random components.

All the best
Anders
stephanehess
Site Admin
Posts: 1040
Joined: 24 Apr 2020, 16:29

Re: Second order latent variable

Post by stephanehess »

Anders

your model will "run" even if only LV3 is used in the utility function, and the code will find LV1 and LV2. However, if LV1 and LV2 are only used inside LV3, then it's not clear why you would not just write a single LV. Or are LV1 and LV2 also used in the measurement components, in which case it is fine

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