Provides the means of testing the parallel regression assumption in the ordinal regression models. Also available is the likelihood ratio test, LR.test().

brant.test(model, global= FALSE, call = FALSE)

Arguments

model

a single model object to be tested.

global

default to FALSE. When TRUE, a global test is made for the factor variables instead of the individual factor levels.

call

when TRUE the model call is printed alongside test results.

Value

model

call of the model tested

df

the degrees of freedom

global

logical vector of TRUE or FALSE

modeltype

character vector of the class of model tested

Terms

original model terms

vnames

character vector of variable names used in the model

chisq

realized values of the chi-square statistic

rdf

residual degrees of freedom

rDev

residual deviance

prob

the p-values of test

call

a logical vector

Details

The parallel regression assumption for the ordinal regression model can be tested With this function. The brant test (Brant, 1990) is currently available for objects of class: serp(), clm(), polr() and vglm(). Objects of class serp() should have the slope argument set to 'parallel', while objects of class vglm() should have the model argument TRUE, if not, the model is automatically updated to include the object 'model'. Moreover, family in vglm() must be either "cumulative" or "propodds", with the parallel argument TRUE.

References

Brant, R. (1990). Assessing proportionality in the proportional odds model for ordinal logistic regression. Biometrics, 46, 1171-1178.

Examples


require(serp)

set.seed(1)
n <- 200
y <- ordered(rbinom(n, 2, 0.5))
x1 <- factor(rbinom(n, 2, 0.7))
x2 <- runif(n)

## proportional odds model
sp <- serp(y ~ x1 * x2, link = "logit", slope = "parallel", reverse = TRUE)

brant.test(sp)
#> 
#> Brant Test:
#>            chi-sq   df   pr(>chi)
#> Omnibus     2.368    5       0.80
#> x11         1.889    1       0.17
#> x12         1.337    1       0.25
#> x2          0.586    1       0.44
#> x11:x2      0.963    1       0.33
#> x12:x2      0.630    1       0.43
#> 
#> H0: Proportional odds assumption holds
#> 
brant.test(sp, global = TRUE, call=TRUE)
#> 
#> Model:
#> serp(formula = y ~ x1 * x2, link = "logit", slope = "parallel", 
#>     reverse = TRUE)
#> 
#> Brant Test:
#>            chi-sq   df   pr(>chi)
#> Omnibus     2.368    5       0.80
#> x1          1.909    2       0.39
#> x2          0.586    1       0.44
#> x1:x2       0.974    2       0.61
#> 
#> H0: Proportional odds assumption holds
#>