BookmarkSubscribeRSS Feed
☑ This topic is solved. Need further help from the community? Please sign in and ask a new question.
chester2018
Obsidian | Level 7

Hi Everyone! I'll love to understand one of the tables of my Proc Genmod Least Squares Means Output! My question is about the estimates between the response variable (guide_levels) and independent variable (education). Below is my output and my code:

 

proc genmod data=factorsguide;
	class education_cat (ref="0") / param=glm;
	model guide_levels (ref="None") = education_cat/ dist=multinomial
   link=cumlogit type3;
   lsmeans education_cat / ilink oddsratio diff cl;
run;

*I didn't want to copy and paste my entire table**P values are all <.0001*

guide_levels education_cat estimate standard error
Adequate 1 -1.8848 0.06165
Adequate 2 -1.2502 0.04950
High 1 -0.4315 0.05490
High 2 0.2030 0.04466
Insufficient 1 0.9887 0.05688
Insufficient 2 1.6232 0.05217

What does a negative value mean for the estimate? I know this is probably a simple answer, but I've been looking in various forums and documentations.

1 ACCEPTED SOLUTION

Accepted Solutions
StatDave
SAS Super FREQ
The REF= option does not apply to an ordinal response. There should be a note in the log to this effect along with a note of what levels are being modeled. For an ordinal response, your choices are just to model the lower values (default) or the higher values (by specifying MODEL guide_levels(descending)= ...). Your results show the default. So, now you can see that, for Education=1, Pr(Guide level=1)=0.27, Pr(Guide level=1 or 2)=0.606, and Pr(Guide level=1 or 2 or 3)=0.786. If you want Pr(Guide level=2) it is the difference 0.606-0.27.

View solution in original post

4 REPLIES 4
StatDave
SAS Super FREQ

The values shown in the Estimate column are estimated logit (log odds) values for the associated Education level. Logits can have any real number. Since your response variable (Guide levels) shows 3 values in the table, I assume it has 4 possible levels resulting in 3 cumulative logits being modeled. The cumulative logits in an ordinal multinomial model like yours with response levels 1, 2, and 3 are, by default, log(p1/(p2+p3)) and log((p1+p2)/p3). That is, they divide the ordered response levels in the two possible places. Similarly for your 4 level response with 3 possibly divisions. The first column in the table identifies the logit by one of the response levels appearing in the numerator.

 

But I am concerned that your response levels do not sound like they are in logically ascending or descending order as they must be in order for the results to have any meaning. You should examine the Response Profile table to verify and then rename your levels as needed to assure that they are logically ordered.

 

Since you used the ILINK option, your table should also have a Mean column which gives estimated cumulative probabilities (p1, p1+p2, p1+p2+p3) for each Education level which are usually more meaningful than the estimated logits in the Estimate column.

chester2018
Obsidian | Level 7

This makes a lot more sense! I'll focus on the mean column instead of estimate column. I also changed my code to make sure my variables are in correct ascending order! Below is the new code and new output! 

 

proc genmod data=factorsguide;
	class education_cat (ref="0") / param=glm;
	model guide_levels_f (ref="1") = education_cat/ dist=multinomial
   link=cumlogit type3;
   lsmeans education_cat / ilink oddsratio diff cl;
run;
Guide_levels education_cat estimate SE z Value Pr > |z| Mean
1 1 -0.9893 0.05682 -17.41 <.0001 0.2710
1 2 -1.6341 0.05227 -31.26 <.0001 0.1633
1 3 -1.8087 0.06240 -28.99 <.0001 0.1408
1 0 -0.4212 0.1437 -2.93 0.0034 0.3962
2 1 0.4304 0.05484 7.85 <.0001 0.6060
2 2 -0.2144 0.04480 -4.79 <.0001 0.4466
2 3 -0.3890 0.05527 -7.04 <.0001 0.4040
2 0 0.9985 0.1447 6.90 <.0001 0.7308
3 1 1.2998 0.05769 22.53 <.0001 0.7858
3 2 0.6551 0.04600 14.24 <.0001 0.6582
3 3 0.4804 0.05572 8.62 <.0001 0.6179
3 0 1.8679 0.1462 12.77 <.0001 0.8662

*I didn't paste my entire output*

Hope this output makes sense! Thank you for your help!

StatDave
SAS Super FREQ
The REF= option does not apply to an ordinal response. There should be a note in the log to this effect along with a note of what levels are being modeled. For an ordinal response, your choices are just to model the lower values (default) or the higher values (by specifying MODEL guide_levels(descending)= ...). Your results show the default. So, now you can see that, for Education=1, Pr(Guide level=1)=0.27, Pr(Guide level=1 or 2)=0.606, and Pr(Guide level=1 or 2 or 3)=0.786. If you want Pr(Guide level=2) it is the difference 0.606-0.27.
chester2018
Obsidian | Level 7

 This makes a lot more sense! I added "descending" to my Proc Genmod line and removed the "REF" in my model statement! As you pointed out, the log of my previous code indicated that my REF was being ignored. 

 

This has been extremely helpful, and I really appreciate it! 

SAS Innovate 2025: Register Now

Registration is now open for SAS Innovate 2025 , our biggest and most exciting global event of the year! Join us in Orlando, FL, May 6-9.
Sign up by Dec. 31 to get the 2024 rate of just $495.
Register now!

What is ANOVA?

ANOVA, or Analysis Of Variance, is used to compare the averages or means of two or more populations to better understand how they differ. Watch this tutorial for more.

Find more tutorials on the SAS Users YouTube channel.

Discussion stats
  • 4 replies
  • 412 views
  • 5 likes
  • 2 in conversation