Hi,
I was wondering whether it is correct to analyze the dependent variable X on a Likert scale (scale 1 -5) with the independent variables TRT (1, 2, 3 and 4) and product (A, B and C) with this model:
proc logistic;
class trt product;
model X (EVENT='1')=trt product;
run;
or this one:
proc glm;
class trt product;
model X=trt product/solution;
means trt product/hovtest;
lsmeans trt product/pdiff adjust=tukey ;
run;
Thank you in advance,
Alen
Neither, though PROC LOGISTIC is the right procedure. The EVENT= option only applies to binary responses. Assuming you want to compare the treatments and/or products with respect to higher levels of the Likert response, instead use the DESCENDING option. You can then use the LSMEANS statement to do pairwise comparisons if desired, but note that this requires GLM parameterization of CLASS variables. See the description of the LSMEANS statement for information on the available options. For example
proc logistic;
class trt product / param=glm;
model x(descending) = trt product;
lsmeans trt product / diff ilink cl;
run;
Neither, though PROC LOGISTIC is the right procedure. The EVENT= option only applies to binary responses. Assuming you want to compare the treatments and/or products with respect to higher levels of the Likert response, instead use the DESCENDING option. You can then use the LSMEANS statement to do pairwise comparisons if desired, but note that this requires GLM parameterization of CLASS variables. See the description of the LSMEANS statement for information on the available options. For example
proc logistic;
class trt product / param=glm;
model x(descending) = trt product;
lsmeans trt product / diff ilink cl;
run;
@StatDave What does such an estimate mean for treatment and product?
I assume you are asking about the output produced by the LSMEANS statement. In the first table, the Estimate column provides estimates of the log odds for higher levels of the response, assuming that the DESCENDING response variable option is used as I showed. The Mean column provides estimates of the cumulative probabilities, Pr(X<=x). The Differences table provides the difference (as indicated in the first two columns) in log odds between each pair of treatments or products. The Estimate column is the estimated difference in log odds - equivalently the log odds ratio - for each pair. If you want the estimated odds ratios, add the ODDSRATIO option in the LSMEANS statement.
Note that these PROC LOGISTIC statements model a set of 4 cumulative logits defined on your 5-level response and assumes that the parameters for all predictor variables are the same across those logits, differing only on their intercepts. This is the so-called proportional odds assumption. A test of that assumption is included in the PROC LOGISTIC output. As a result of this assumption, the odds ratio between two treatments is the same regardless of which response level considered. If the assumption is violated (as indicated by a small p-value from the assumption test), then a more complex model and analysis is needed.
@StatDaveThank you for your detailed explanation. Since my p-value is <.0001, what more complex model and analysis do you suggest?
That suggests that one or more of your predictors does not have a constant parameter across the various logits. You can fit a nonproportional odds model using the EQUALSLOPES and UNEQUALSLOPES options as discussed and illustrated in this note. Also see the example titled "Partial Proportional Odds Model" in the LOGISTIC documentation.
@StatDaveThank you very much.
Join us for SAS Innovate 2025, our biggest and most exciting global event of the year, in Orlando, FL, from May 6-9. Sign up by March 14 for just $795.
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.