[R] mlogit package inquiry

Wong Hang wonghang at gmail.com
Tue May 29 10:02:43 CEST 2012


Dear all,

  I am implementing a stochastic utility model that will eventually
make use of multinomial logit. I found that there is a package in R
called mlogit. I am not sure whether I have already found the correct
package or software. May I ask am I correct?

  Basically, let's say
  I have observations of n outcomes, for each outcome 1<=i<=n, they
were selected by a choice from a set S_i = { H(i,j) | 1 <= j <= m_i }
with utility U(i,j)
  Assuming each outcome was chosen by maximizing the utility.
  Let U*(i) = max{ U(i,j) | 1 <= j <= m_i }
  Therefore, each outcome was chosen among m_i items by finding the
index j such that U(i,j) = U*(i).

  For the utility function U(i,j), there are some independent
variables, V_ij(k), 1 <= k <= N
  i.e.  U(i,j) = theta_1 * V_ij(1) + theta_2 * V_ij(2) + ... + theta_N V_ij(N)
  Further assume the probability of choosing H(i,j) in observations i is:

  P(i,j) = exp(U(i,j)) / sum_{j=1}^{m_i} ( exp(U(i,j))

  Then, I will estimate the parameters of the model theta_1, theta_2,
..., theta_N by maximizing the the log-likelihood function

  L = log { prod_{i=1}^{n} P*(i) }

  where P*(i) = exp(U*(i)) / sum_{j=1}^{m_i} ( exp(U(i,j))

  I believe I can create a data.frame similar to this:

outcome  observe V1 V2 V3 V4
1 1 ....
0 1 ....
0 1 ....
0 1 ...
1 2 ...
0 2 ...
0 2 ...
0 2 ...
0 2 ..
0 2 ...
1 3 ...
0 3 ...
0 3 ...

  and then convert it by mlogit.data method by specifying chld.var="observe"

mdata <- mlogit.data(data,choice="outcome",shape="long",chid.var="observe")

  Am I right? and then I could use mlogit to fit my model.
  Furthermore, I am also quite puzzled with the mFormula and the
probit boolean flag, am I correct to use

fit <- mlogit(outcome ~ V1 + V2 + V3 + V4,data=mydata)

  and then compute my probability estimate from the coefficients? What
are the difference if I put variable between the separator |  ?
  Thank you very much.

Best regards,
WONG Hang.



More information about the R-help mailing list