'Unidentifiable model' on inclusion of weights

347 views
Skip to first unread message

Hema Sharanya

unread,
May 17, 2017, 11:20:53 AM5/17/17
to Biogeme
Hi Michel, 
Hi everyone,

I am trying to estimate a multinomial logit model using Pythonbiogeme (on a virtual Linux machine on Windows host). The estimation gives proper results when I run without giving the weights in. But, when estimated with weights, all variables are shown to be statistically insignificant and the model appears to be 'unidentifiable' with the log likelihood being flat for almost all parameter combinations. I can't understand why this is happening. I am using the weights reported in a national household travel survey. As I am using a subset of the complete survey records, the sum of weights doesn't equal the total number of observations. However, even on adjusting the weights so that their sum matches the number of observations, I get a similar outcome. Is there something I am missing / doing wrong?
My model files and html outcomes are are attached.
I would really appreciate any advice.

Thank you,
Hema.
MNL.html
MNL.py
MNL_wo_Weights.html
MNL_wo_Weights.py

michel.b...@epfl.ch

unread,
May 17, 2017, 11:24:17 AM5/17/17
to Biogeme
It is a numerical issue. The weights are too high to calculate correctly the variance-covariance matrix. 
I would suggest to normalize the weights so that they sum up to 1,0, for instance. 

Hema Sharanya

unread,
May 23, 2017, 4:48:21 AM5/23/17
to Biogeme
Hi Michel,

Thank you for the advice. 
I tried normalizing weights to sum up to 1 and a few other smaller numbers (0.5, 0.1, 0.05, 0.01, 0.001, 0.0001, and 0.00001). However, the problem persists - the result files are attached herewith.
Do you think I should continue trying smaller sums, or is there anything else I can do to get around this?

Thanks and regards,
Hema
MNL_0.00001.html
MNL_0.0001.html
MNL_0.001.html
MNL_0.01.html
MNL_0.1.html
MNL_0.05.html
MNL_0.5.html
MNL_1.html

michel.b...@epfl.ch

unread,
May 23, 2017, 7:36:18 AM5/23/17
to Biogeme
The problem does not come from the weights. About the weights, I made a mistake: they should not add up to 1. They should add up to the sample size. 

The error in your specification file is: 
logprob = bioLogit(V,av,choice)
It should be 
logprob = bioLogLogit(V,av,choice) 

Also, your model is not identified because INCOME appears in all utility functions. 

Best regards,

Michel



Le mercredi 17 mai 2017 17:20:53 UTC+2, Hema Sharanya a écrit :

Rajesh P

unread,
May 23, 2017, 3:19:41 PM5/23/17
to michel.b...@epfl.ch, Biogeme
Dear Hema,

Not only income, time too appears in all utility functions

Regards 
Rajesh

Sent from my iPhone
--
You received this message because you are subscribed to the Google Groups "Biogeme" group.
To unsubscribe from this group and stop receiving emails from it, send an email to biogeme+u...@googlegroups.com.
To post to this group, send email to bio...@googlegroups.com.
Visit this group at https://groups.google.com/group/biogeme.
For more options, visit https://groups.google.com/d/optout.
Reply all
Reply to author
Forward
0 new messages