Programming the statistical procedures from SAS

Reverse parameters in multinomial logit regression

Reply
Frequent Contributor
Posts: 104

Reverse parameters in multinomial logit regression

[ Edited ]

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?

SAS Employee
Posts: 187

Re: Reverse parameters in multinomial logit regression

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. 

Frequent Contributor
Posts: 104

Re: Reverse parameters in multinomial logit regression

[ Edited ]

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. 

SAS Employee
Posts: 187

Re: Reverse parameters in multinomial logit regression

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.

Frequent Contributor
Posts: 104

Re: Reverse parameters in multinomial logit regression

So there is no way to get log(p2/(p0+p1)) directly from the multinomial logit parameters?

Frequent Contributor
Posts: 104

Re: Reverse parameters in multinomial logit regression

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.

Ask a Question
Discussion stats
  • 5 replies
  • 74 views
  • 0 likes
  • 2 in conversation