Hi Professor,
I have estimated a nested logit model using Apollo. I wonder how I could calculate the Direct Elasticity. Is that possible to provide an example in calculating it in R? I think for Cross-Elasticity within the nest is the same with Multinominal Logit, how about cross-elasticity between nests?
Thank you!
Important: Read this before posting to this forum
- 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.
- 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
- Before asking a question on the forum, users are kindly requested to follow these steps:
- Check that the same issue has not already been addressed in the forum - there is a search tool.
- 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
- Check the frequently asked questions section on the Apollo website, which discusses some common issues/failures. Please see http://www.apollochoicemodelling.com/faq.html
- Make sure that R is using the latest official release of Apollo.
- Users can check which version they are running by entering packageVersion("apollo").
- Then check what is the latest full release (not development version) at http://www.ApolloChoiceModelling.com/code.html.
- To update to the latest official version, just enter install.packages("apollo"). To update to a development version, download the appropriate binary file from http://www.ApolloChoiceModelling.com/code.html, and install the package from file
- If the above steps do not resolve the issue, then users should follow these steps when posting a question:
- provide full details on the issue, including the entire code and output, including any error messages
- 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.
Cross and Direct Elasticity calculation for Nested Logit
-
- Site Admin
- Posts: 1042
- Joined: 24 Apr 2020, 16:29
Re: Cross and Direct Elasticity calculation for Nested Logit
Hi
other than calculating them analytically, you can approximate them numerically just as in the MNL example MNL_SP_covariates.r
Stephane
other than calculating them analytically, you can approximate them numerically just as in the MNL example MNL_SP_covariates.r
Stephane
Re: Cross and Direct Elasticity calculation for Nested Logit
Hi Professor Hess,
Thank you for your prompt reply!
I have another question relating to arc elasticity for dummy variables.
I manually changed the variable to 0 and to 1 by adding two new columns, but when I calculate the arc elasticity, it shows an Error in predictions_base[, "auto"]: incorrect number of dimensions. I am not sure whether I calculate it in the wrong way.
I attached the code and description below for you to review.
#add two colume
database$rail_use0 <- c(0:0)
database$rail_use1 <- c(1:1)
#estimate 0 model
database$rail_use = database$rail_use0
apollo_inputs = apollo_validateInputs()
predictions_base = apollo_prediction(NL_model, apollo_probabilities, apollo_inputs, prediction_settings=list(runs=30))
#estimate 1 model
database$rail_use = database$rail_use1
apollo_inputs = apollo_validateInputs()
predictions_new = apollo_prediction(EC_model, apollo_probabilities, apollo_inputs)
#elasticity calculation
(predictions_new[,"rail"]-predictions_base[,"rail"])/(predictions_new[,"rail"]+predictions_base[,"rail"])
Thank you!
Lucia
Thank you for your prompt reply!
I have another question relating to arc elasticity for dummy variables.
I manually changed the variable to 0 and to 1 by adding two new columns, but when I calculate the arc elasticity, it shows an Error in predictions_base[, "auto"]: incorrect number of dimensions. I am not sure whether I calculate it in the wrong way.
I attached the code and description below for you to review.
#add two colume
database$rail_use0 <- c(0:0)
database$rail_use1 <- c(1:1)
#estimate 0 model
database$rail_use = database$rail_use0
apollo_inputs = apollo_validateInputs()
predictions_base = apollo_prediction(NL_model, apollo_probabilities, apollo_inputs, prediction_settings=list(runs=30))
#estimate 1 model
database$rail_use = database$rail_use1
apollo_inputs = apollo_validateInputs()
predictions_new = apollo_prediction(EC_model, apollo_probabilities, apollo_inputs)
#elasticity calculation
(predictions_new[,"rail"]-predictions_base[,"rail"])/(predictions_new[,"rail"]+predictions_base[,"rail"])
Thank you!
Lucia
-
- Site Admin
- Posts: 1042
- Joined: 24 Apr 2020, 16:29
Re: Cross and Direct Elasticity calculation for Nested Logit
Lucia
first, your denominator doesn't look correct, as you should only have the base prediction in, not the sum of base and future.
I believe the error you are getting is because for your base prediction, you are using sampling from the asymptotic variance covariance matrix, so try without runs
Stephane
first, your denominator doesn't look correct, as you should only have the base prediction in, not the sum of base and future.
I believe the error you are getting is because for your base prediction, you are using sampling from the asymptotic variance covariance matrix, so try without runs
Stephane
Re: Cross and Direct Elasticity calculation for Nested Logit
Hi Prof. Hess,
Thank you very much for your clarification, really appreciate it!
Kind Regards,
Lucia
Thank you very much for your clarification, really appreciate it!
Kind Regards,
Lucia