run glmfit , why get Warning: X is ill conditioned, or the model is overparameterized

16 views (last 30 days)
Jie Li
Jie Li on 19 Aug 2021
Answered: Jeff Miller on 20 Aug 2021
run code for a linear regrssion. X has 5 predictors, Y is one response vector with ordinal values(1 to 5)
b = glmfit(X,Y);
Warning: X is ill conditioned, or the model is overparameterized, and some coefficients are not identifiable. You should use caution in making predictions.
similarly when running b = mnrfit(X, Y);
Warning: Matrix is close to singular or badly scaled. Results may be inaccurate. RCOND = 4.607712e-20.
Does anyone know the reason, how to fix the issue?

Sign in to comment.

Accepted Answer

Jeff Miller
Jeff Miller on 20 Aug 2021
The problem is that the x1-x5 values sum to 24 in every row. This means that any one of the x's can be predicted from the rest of the x's, which is not allowed in regression models. I suggest you drop one of the x's from the predictor set.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!