09-09-2011 03:00 AM
I' m running a model with proc glm to fit a multiple regression.
Y = score 's questionnaire (to measure quality of life)
X1 = treatment (value a, b, c)
X2= age (continuos)
X3= education (low and high)
X4= gendere (Male, Female)
There's no multicollinearity between covariates
The code is:
proc glm data=mydataset;
class X1 X3 X4;
model Y= X1 X2 X3 X4 X5 /solution;
In the output tables with parameter estimate there's a footnote:
The X'X matrix has been found to be singular, and a generalized inverse was used to solve the normal equations. Terms whose estimates are followed by the letter 'B' are not uniquely estimable.
What's the meaning? The results validity are questionable?
Is it recommend to run a different model? What kind of model?
Thanks in advance
09-09-2011 05:18 PM
This occurs when you have class variable. In GLM (and in MIXED, and many other procedures), an over-parameterized model is used, where there is a parameter for every level of the class (factor) variable. WHen there is an intercept in the model (the default), this is one more parameter than needed to model the data. The generalized inverse essentially makes the 'last' parameter 0. By itself, this is fine. For a situation with X1 (3 levels), for instance, the mean Y is the intercept plus the parameter for the level of X1. WIth the listed constraint, this means that the mean for the last level of X1 is intercept + 0 = intercept. The SAS User's Guides gives great details on this topic (a vast topic).