- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
I have this multinomial logit model:
proc logistic data=edu.educationClean;
class Langue(ref='0') /param=ref;
model edu3(ref='2')= Langue /link=glogit rsquare;
weight pond / norm;
where model=1;
run;
With the following output:
Analysis of Maximum Likelihood Estimates | |||||||
---|---|---|---|---|---|---|---|
Parameter | edu3 | DF | Estimate | Standard Error |
Wald Chi-Square |
Pr > ChiSq | |
Intercept | 0 | 1 | -0.7505 | 0.0134 | 3131.3792 | <.0001 | |
Intercept | 1 | 1 | 0.1590 | 0.0103 | 236.5849 | <.0001 | |
Langue | 1 | 0 | 1 | -0.0533 | 0.0841 | 0.4021 | 0.5260 |
Langue | 1 | 1 | 1 | -0.2527 | 0.0677 | 13.9402 | 0.0002 |
Langue | 2 | 0 | 1 | 1.5045 | 0.0729 | 426.1495 | <.0001 |
Langue | 2 | 1 | 1 | 0.2267 | 0.0773 | 8.6057 | 0.0034 |
In addition to this, I would like to have reverse parameters (I mean edu3=2 vs other) and their p values. I think I can do it manually (but maybe I'm wrong), for example, for langue=1, by doing -(-0.0533+-0.2527) to get the parameter for edu3=2 compared to other categories. However, with this method, I don't get p values. Is there a way to produce this automacially in the output?
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
That implies that you want to model a logit defined as log[ Pr(Edu3=2)/(1-Pr(Edu3=2) ]. To do this, simply create a new response variable: new=(edu3=2); and fit a binary logistic model using it as the response.
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
That is what I tried.
data edu.educationClean;
set edu.educationClean;
HIGH=0;
if edu3=2 then HIGH=1;
run;
proc logistic data=edu.educationClean;
class Langue(ref='0') /param=ref;
model HIGH(ref='0')= Langue /link=glogit rsquare;
weight pond / norm;
where model=1;
run;
It gives this output:
SAS Output
Analysis of Maximum Likelihood Estimates | |||||||
---|---|---|---|---|---|---|---|
Parameter | HIGH | DF | Estimate | Standard Error |
Wald Chi-Square |
Pr > ChiSq | |
Intercept | 1 | 1 | -0.4974 | 0.00963 | 2667.2291 | <.0001 | |
Langue | 1 | 1 | 1 | 0.1913 | 0.0616 | 9.6420 | 0.0019 |
Langue | 2 | 1 | 1 | -0.7824 | 0.0675 | 134.4464 | <.0001 |
Which is not what I expected as parameters. From the multinomial outputs, in my mind, the parameter for edu3=2 when langue=1 should be -(-0.0533+-0.2527)=0.306. However, it is 0.1913 when using a binomial regression. Maybe something is wrong with my reasoning.
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
The generalized logit model you fit originaly is:
l0=log(p0/p2)=int0+lang01+lang02
l1=log(p1/p2)=int1+lang11+lang12
You now fit the model l2=log(p2/(p0+p1))=int+lang1+lang2.
When lang=1, under that first model:
l0=int0+lang01
l1=int1+lang11
And in the second model:
l2=int+lang1
Algebraically, I don't see that -(lang01+lang11) as you want to do, gets you to the lang1 parameter in the second model.
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
So there is no way to get log(p2/(p0+p1)) directly from the multinomial logit parameters?
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
My reasoning was the following:
In a binomial logit, when we change the reference category of the modelized variable, parameters for explainatory variables are just the negative. For example, in my binomial logit, if the reference category were 1 rather than 0, then parameter for langue=1 would be -(0.1913). So I though it was the same for a multinomial logit. Maybe, obviously, I'm wrong.