Page 1 of 1

Errors in Hybrid Choice Model with Bayesian Estimator

Posted: 26 Sep 2021, 09:45
by janak12_jp
Hello,

I have tried several specifications of Hybrid Choice Model with Bayesian Estimator to solve my choice problem. My data contains several mode specific LVs in addition to other observable attributes like trip characteristics. I used initial 100k iterations as burn-in and next 100k for estimation. But after completing the estimation, I come across the same error each time:

Code: Select all

WARNING: RSGHB has censored the probabilities. Please note that in at least some iterations RSGHB has avoided numerical
issues by left censoring the probabilities. This has the side effect of zero or negative probabilities not leading to
failures!
Warning messages:
1: In log(test2_LL) : NaNs produced
2: In log(test1_LL) : NaNs produced
The problem as I seen in my results is most probably related to estimation of covariance matrix (though not 100% sure).
It shows the initial loglikelihood value to -Inf though it was somewhere around -56000 when I started estimation.

I produces correlation matrices but NaNs in covariance matrices, what is the reason for that? I read somewhere that correlation matrix is unstandardized version of covariance matrix. Can you please suggest on this also?

I am attaching the code as well as my results.

Re: Errors in Hybrid Choice Model with Bayesian Estimator

Posted: 30 Sep 2021, 09:48
by dpalma
Hi,

It's difficult to diagnose the problem without looking at your data. Could you share your database? If you don;t want to share it in the forum, you can email it to D.Palma [at] leeds.ac.uk

Cheers
David

Re: Errors in Hybrid Choice Model with Bayesian Estimator

Posted: 30 Sep 2021, 10:00
by janak12_jp
Dear Dr Palma,

I have mailed the data file to the stated email. Thank you.

Regards,
Janak

Re: Errors in Hybrid Choice Model with Bayesian Estimator

Posted: 11 Oct 2021, 15:00
by dpalma
Hi Janak,

Sorry for the slow response.

First of all, you are not getting errors, but only warnings. The first warning (related to the censoring of probabilities) means that during the estimation process (i.e. for some values in your chain) the likelihood values you obtained were so small that they were indistinguishable from zero. To avoid numerical issues Apollo replaced those values by a small (but bigger than zero) value. If the chain looks like it converged correctly, then this was probably due to the chain going through these problematic values only for a short time, and then moved on to better values.

The second warning (NaN in log(test2_LL)) has to do with your starting values leading to very a small likelihood, i.e. too close to zero. Considering the previous warning, my guess is your starting values are not very good. I would recommend using your estimated values as starting values, and performing the estimation again. You will probably run into fewer warnings then.

Finally, concerning the NaNs in the "Covariances of random parameters", this was to be expected as you set the option gFULLCV= FALSE inside apollo_HB. This means you are forcing the chains of the random parameters to be uncorrelated, that is why the covariance matrix only has values for the diagonal (e.g. asc_bus_asc_bus, asc_air_asc_air), but not for off-diagonal elements (e.g. asc_air_asc_bus).

Finally, note that the number of draws to keep in the chain is defined in the setting "gNEREP", not "GNEREP". R is case sensitive, so using upper or lower case does matter.

Cheers
David