3
$\begingroup$

I have tried to build an ordinal logistic regression using one ordered categorical variable and another three categorical dependent variables (N= 43097). While all coefficients are significant, I have doubts about meeting the parallel regression assumption. Though the probability values of all variables and the whole model in the brant test are perfectly zero (which supposed to be more than 0.05), still test is displaying that H0: Parallel Regression Assumption holds. I am confused here. Is this model perfectly meets the criteria of the parallel regression assumption?

library(MASS)
table(hh18_u_r$cat_ci_score) # Dependent variable

Extremely Vulnerable  Moderate Vulnerable    Pandemic Prepared 
              6143                16341                20613 

# Ordinal logistic regression
olr_2 <- polr(cat_ci_score ~ r1_gender + r2_merginalised + r9_religion, data = hh18_u_r, Hess=TRUE)
summary(olr_2)

Call:
polr(formula = cat_ci_score ~ r1_gender + r2_merginalised + r9_religion, 
  data = hh18_u_r, Hess = TRUE)

Coefficients:
                      Value Std. Error t value
r1_genderMale          0.3983    0.02607  15.278
r2_merginalisedOthers  0.6641    0.01953  34.014
r9_religionHinduism   -0.2432    0.03069  -7.926
r9_religionIslam      -0.5425    0.03727 -14.556

Intercepts:
                                       Value    Std. Error t value 
Extremely Vulnerable|Moderate Vulnerable  -1.5142   0.0368   -41.1598
Moderate Vulnerable|Pandemic Prepared      0.4170   0.0359    11.6260

Residual Deviance: 84438.43 
AIC: 84450.43 

## significance of coefficients and intercepts
summary_table_2 <- coef(summary(olr_2))
pval_2 <- pnorm(abs(summary_table_2[, "t value"]), lower.tail = FALSE)* 2
summary_table_2 <- cbind(summary_table_2, pval_2)
summary_table_2

                                            Value Std. Error    t value        pval_2
r1_genderMale                             0.3982719 0.02606904  15.277583  1.481954e-52
r2_merginalisedOthers                     0.6641311 0.01952501  34.014386 2.848250e-250
r9_religionHinduism                      -0.2432085 0.03068613  -7.925682  2.323144e-15
r9_religionIslam                         -0.5424992 0.03726868 -14.556436  6.908533e-48
Extremely Vulnerable|Moderate Vulnerable -1.5141502 0.03678710 -41.159819  0.000000e+00
Moderate Vulnerable|Pandemic Prepared     0.4169645 0.03586470  11.626042  3.382922e-31

#Test of parallel regression assumption
library(brant)
brant(olr_2) # Probability supposed to be more than 0.05 as I understand

---------------------------------------------------- 
Test for        X2  df  probability 
---------------------------------------------------- 
Omnibus         168.91  4   0
r1_genderMale       12.99   1   0
r2_merginalisedOthers   41.18   1   0
r9_religionHinduism 86.16   1   0
r9_religionIslam    25.13   1   0
---------------------------------------------------- 

H0: Parallel Regression Assumption holds

# Similar test of parallel regression assumption using car package
library(car)
car::poTest(olr_2)
Tests for Proportional Odds
polr(formula = cat_ci_score ~ r1_gender + r2_merginalised + r9_religion, 
  data = hh18_u_r, Hess = TRUE)

                    b[polr] b[>Extremely Vulnerable] b[>Moderate Vulnerable] Chisquare df Pr(>Chisq)    
Overall                                                                            168.9  4    < 2e-16 ***
r1_genderMale           0.398                    0.305                   0.442      13.0  1    0.00031 ***
r2_merginalisedOthers   0.664                    0.513                   0.700      41.2  1    1.4e-10 ***
r9_religionHinduism    -0.243                   -0.662                  -0.147      86.2  1    < 2e-16 ***
r9_religionIslam       -0.542                   -0.822                  -0.504      25.1  1    5.4e-07 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Kindly suggest whether this model satisfies the parallel regression assumption? Thank you

$\endgroup$
3
  • 1
    $\begingroup$ I believe this is just R's standard notation for the null hypothesis under investigation: This does not mean that $H_0$ currently holds given your data and the test statistic, it's just a remainder of what is being tested actually. $\endgroup$
    – chl
    Oct 22, 2020 at 6:45
  • $\begingroup$ @chl, thank you. So, shall I reject the selection of the ordinal regression model? I am really confused. My dependent variable is a score with a range between 0 and 10 (fixed) and later categorized into three levels with ordered pattern (0-3: extremely vulnerable, 4-7- moderately and 8-10: pandemic prepared). Given my ordinal regression does not meet the assumption of parallel regression, what should I do? Any suggestions for improvement will be highly appreciated. $\endgroup$ Oct 22, 2020 at 7:04
  • 2
    $\begingroup$ I don't know the brant package, but if your p-value is < 0.05 (or whatever threshold you consider) then it means "reject the null". If $H_0$ is the proportional odds assumption, then you're in trouble, and you may want to look for alternative ordered logit models. $\endgroup$
    – chl
    Oct 22, 2020 at 7:16

1 Answer 1

2
$\begingroup$

@chl is right. I added it to to the function output to remind persons what hypothesis they are testing because it is often not clear what the alternative ($H_A$) and the null hypothesis ($H_0$) is. So it just tells you what the null hypothesis is and nothing about the acutal result. p < 0.05 means that $H_0$ can be rejected.

So in your case the parallel regression assumption does not hold. In generell: p-value of omnibus >= 0.05 => holds, p-value < 0.05 => does not hold (assumption: $\alpha$-value of 0.05).

$\endgroup$
6
  • $\begingroup$ Thank you, sir, for your response. Could you please tell me about the alternative ordinal regression model in detail? How could I fit a proper model to understand the impact of independent factors over ordinal dependent? $\endgroup$ Oct 22, 2020 at 7:30
  • 2
    $\begingroup$ I do not know the alternative model very well. I just know that you can estimate a generalized ordered logit model, which I however never used myself. $\endgroup$ Oct 22, 2020 at 7:41
  • 2
    $\begingroup$ A few possibilities for alternative models are: the partial PO model (see Stata gologit2, I don't about specific R package), as suggested above, any IRT model that deal with polytomous items and allow for varying slopes (partial credit or rating scale with varying discrimination parameters) --- I provide some references in this post. Frank Harrell also provides an extensive review of such models in his RMS book or 4-day handout (see chap. 13). $\endgroup$
    – chl
    Oct 22, 2020 at 8:28
  • $\begingroup$ Thank you very much for answering. $\endgroup$ Oct 22, 2020 at 15:38
  • 1
    $\begingroup$ If the omnibus p-value is below 0.05 then the parallel regression assumption does not hold and therefore an ordinal regression model is not 100% correct. The easiest way is to just estimate a multinomial regression model which however ignores the order completely. If the test fails for non important variables, you could also reestimate the polr model without those as robustness check. The best way is to estimate a generalized ordered logit model. (However, I never used it myself and therefore cannit provide you with the code). $\endgroup$ Mar 7, 2022 at 6:11

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.