2
$\begingroup$

I fitted a multinomial probit model with one independent categorical variable Y (levels 1,2,3) and two explanatory variables X1 and X2.

Using mlogit package in R like this:

library(mlogit)
df = read.csv("https://gitlab.com/cristiandavidarteaga/rtraining/raw/b40daf27a52bf01ce58d0ea32c5e4854f5b23836/mlogit_2var/data.csv",header = T)
d = mlogit.data(df,shape = "wide",choice = "y")

myprobit = mlogit(y~0|x1+x2, d, probit = TRUE)
summary(myprobit)

Gives me the following coefficients:

Frequencies of alternatives:
    1     2     3 
0.509 0.128 0.363 

bfgs method
21 iterations, 0h:0m:34s 
g'(-H)^-1g = 9.56E-08 
gradient close to zero 

Coefficients :
                 Estimate  Std. Error  t-value Pr(>|t|)    
2:(intercept) -10.7685665   0.9330425 -11.5413   <2e-16 ***
3:(intercept) -11.4357413   1.0913296 -10.4787   <2e-16 ***
2:x1            0.1097622   0.0093004  11.8019   <2e-16 ***
3:x1            0.1094478   0.0094566  11.5737   <2e-16 ***
2:x2            0.1010603   0.0100107  10.0952   <2e-16 ***
3:x2            0.1150660   0.0116610   9.8676   <2e-16 ***
2.3             0.9781048   0.0471720  20.7348   <2e-16 ***
3.3             0.0676135   0.0521005   1.2978   0.1944    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Log-Likelihood: -199.84
McFadden R^2:  0.79498 
Likelihood ratio test : chisq = 1549.8 (p.value = < 2.22e-16)

I can't find a clear explanation about how to use these coefficients to predict outcomes for new data.

For example, If I have these coefficients, How can I manually predict (by hand, not using R) the outcome (1, 2 or 3) for x1 = 26 and x2 = 55 ?

Do I need to use the co-variance matrix to do this?

I know R or STATA can do it, however, for my research it's important to understand how to do it since I need to write a custom version of probit.

$\endgroup$
  • $\begingroup$ Why are all the p-values so low? How much data do you have? $\endgroup$ – Michael Chernick Apr 13 '17 at 0:15
  • $\begingroup$ I simulated the data, that is probably why, I have 1000 observations, this is the data just in case: gitlab.com/cristiandavidarteaga/rtraining/raw/… $\endgroup$ – Cristian Arteaga Apr 13 '17 at 3:16
  • $\begingroup$ fitted(myprobit) RTFM $\endgroup$ – StasK Apr 18 '17 at 13:59
  • $\begingroup$ Questions that are just about how to use R are generally off topic here. If you have a software-neutral question about how prediction works with multinomial probit models, please edit to clarify. $\endgroup$ – gung Apr 18 '17 at 16:08
  • 3
    $\begingroup$ Dear @gung I edited, I specified that I want to predict (calculate probabilities) by hand, I know a software package can do it but my need is to uderstand how it works. $\endgroup$ – Cristian Arteaga Apr 18 '17 at 18:14
1
$\begingroup$

In the Multinomial Probit model, recall that the probability of individual $i$ choosing alternative $j$, expressed as $\pi_{ij}$, is given by: $$P(Y = y_{ij}) = \pi_{ij} = \Phi(\beta_0 + \beta_1x_{1i} + \beta_2x_{2i} + \theta_j)$$ where $\Phi(z)$ = the standard normal cumulative density function, expressed as: $$\Phi(z) = \frac{1}{\sqrt{2\pi}}\int_{-\infty}^{z}e^{-x^2/2}dx$$ Approximate values for $\Phi(z)$ can be found in tables in most statistics textbooks.

Hence from your results, the corresponding $\pi_{ij}$ are expressed as:

  • For $j$ = 2 $$\pi_{i2} = \Phi(-10.769 + 0.11x_{1i} + 0.101x_{2i} + 0.978)$$
  • For $j$ = 3 $$\pi_{i3} = \Phi(-11.436 + 0.109x_{1i} + 0.115x_{2i} + 0.068)$$
$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.