Page 1 of 1

"NaN" value as output of the apollo_probabilities(apollo_beta, apollo_inputs, functionality="estimate")

Posted: 23 Jun 2022, 12:26
by NimaDadashzadeh
Hi Stephane and David,

I have created my simple linear MNL model for the SP dataset and it works properly. However, when I have tried to convert the utility functions (cost and time) to log MNL, I am getting "NaN" values in my results for the following function.

apollo_probabilities(apollo_beta, apollo_inputs, functionality="estimate")

I have tried to remove the NA values from my dataset using the following code

rawData = read.csv("df_output_avAlts.csv",header=TRUE)
database <- rawData # Duplicate data frame
database[database == "" | database == " "] <- 0 # Replace blank & space by 0

But still, I am getting the following error for the model function:

--------------------------
Testing likelihood function...
Apollo found a model component of type MNL without a componentName. The name was set to "MNL" by
default.
Error in apollo_validate(mnl_settings, modelType, functionality, apollo_inputs) :
Some utilities for model component "MNL" contain values that are not finite numbers!
--------------------------

I was wondering if you could guide me on this.

Best wishes,
Nima

Re: "NaN" value as output of the apollo_probabilities(apollo_beta, apollo_inputs, functionality="estimate")

Posted: 27 Jun 2022, 11:40
by stephanehess
Nima

you're probably now taking the log of some values that are 0, so that would explain the failure

Stephane

Re: "NaN" value as output of the apollo_probabilities(apollo_beta, apollo_inputs, functionality="estimate")

Posted: 27 Jun 2022, 12:16
by NimaDadashzadeh
Hi Stephane,

My utility function was including log for time and cost such as V = ASC + b_time * log(time) + b_cost * log(cost).

I have discussed it with David and I have changed the log(x) to log (1+x) for both time and cost as per his suggestion:
V = ASC + b_time * log(1 + time) + b_cost * log(1 + cost).

The problem is resolved now.

Thank you for your support.
Nima