I am fitting a partial proportional odds cumulative logit ordinal regression model. Response is an ordinal diagnosis, predictors are two urinary biomarkers. I fit the model using the following command:
fit=vglm(diagnosis ~ creatinine + LYVE1, data=urine.dat,
family=cumulative(parallel=F))
summary(fit)
Afterwards, I often get about 20 of the following warnings:
In slot(family, "validparams")(eta, y, extra = extra) :
It seems that the nonparallelism assumption has resulted in
intersecting linear/additive predictors.
Try propodds() or fitting a partial nonproportional odds model or
choosing some other link function, etc.
Does anyone understand what is meant by "intersecting linear/additive predictors?" From what I have seen, this error is returned very often with non-proportional odds VGLM models. Just trying to understand what is the issue with the model.
Any insight would be helpful.
If you look through the
VGAM
source code, you'll find the following piece that throws the warning:We can boil the guts of this down to a couple of different pieces:
Since
cyl
has three values,eta
is an Nx2 matrix of predicted values on the link scale.cump
is the matrix of cumulative probabilities calculated in the usual way for ordered logit.probs
is the matrix of category probabilities calculated in the usual way for ordered logit - by subtracting the previous cumulative probability from the current one. Once these are calculated, a flag is generated to identify whether all probabilities are finite and in the theoretical bounds:In this case
okay1
isFALSE
. We can see why below:It's because some of the predicted probabilities are negative. We can see which ones below:
Notice here that the predicted probabilities for the second group are negative (though not much different from zero). The takeaway here is that even though you have specified
parallel=FALSE
, the resulting model is incompatible with the underlying cumulative probability assumption. The warning is encouraging you to use a different model that doesn't calculate probabilities this way, like multinomial logit. For example:which doesn't throw a warning because the probabilities are calculated in a way that won't allow them to be outside [0,1], so long as the exponentiated predicted values on the link scale are finite.
Created on 2022-04-26 by the reprex package (v2.0.1)