mlogit (vs.) glm(family = binomial(link = "logit")

Can there be a good explanation for this:

I’m modeling discrete binary choice (0 or 1) based on choice attributes (i.e., attributes-only without introducing individual heterogeneity). Based on the same dataset (n=1000) I get (somewhat slightly) different coefficients using the following two packages:

(1) mlogit, which relies on maximum likelihood
(2) glm (family = binomial(link = "logit") which I believe (?) also relies on max likelihood.

Info from CRAN’s Econometric’s Task View classifies “Generalized linear models (GLMs)” different from “Multinomial Responses” , but in my case of binary choice shouldn’t they give same result? Is there some small difference that I’m unaware of? I’m not savvy enough to decipher all the code “under the hood” of these two R packages.

Or are the differences in coefficients — shown in screen shot below — so small that it doesn’t matter (worth noting that coefficient signs are the same and relative weight isn’t too far off)?

Thx
Scott
On related note i’m aware that multinom() is designed for three outcomes or more, but gives the same result as glm(family = binomial(link = "logit”), when both use a dep var with two outcomes. See here.

I would guess its to do with

Different hypothesis on the distribution of this random deviate lead to different flavors of random utility models. Early developments of these models were based on the hypothesis of identically and independent errors following a Gumbel distribution
https://cran.r-project.org/web/packages/mlogit/vignettes/mlogit.html

emphasis on Gumbel distribution

thanks, you seemed to have zeroed in on the answer (at least from a theoretical perspective) with the Gumbel distribution.

but from a practical perspective does it matter which model I use to analyze a discrete choice dataset? in other words, can I motivate R’s glm model or is there something important about Gumbel distribution when it comes to modeling discrete choice?

(when I say “can I motivate” I’m referring to a typical journal peer review process)

thanks
Scott

Update: I found that you can use the following command with "gumbel" as link function:

library(gumbel)
library(discSurv)

glm.model <- glm(Choice ~ x1 + x2, data = data, family = binomial(link = gumbel()))

However, I still get different coefficients compared to the "mlogit" ... which means there must be some other differences between mlogit vs glm(binomial). In short, I have now created a third set of coefficients without really knowing which ones are the "most defensible". Any more input from choice modelers out there? Thanks ...

This topic was automatically closed 21 days after the last reply. New replies are no longer allowed.

If you have a query related to it or one of the replies, start a new topic and refer back with a link.