diff --git a/docs/regress.rst b/docs/regress.rst index 7c6553e..92da70b 100644 --- a/docs/regress.rst +++ b/docs/regress.rst @@ -6,17 +6,20 @@ Functions .. autofunction:: yli.logit_then_regress +.. autoclass:: yli.OrdinalLogit + .. autoclass:: yli.PenalisedLogit .. autofunction:: yli.regress -.. autofunction:: yli.regress_bootstrap - .. autofunction:: yli.vif Result classes -------------- +.. autoclass:: yli.regress.BrantResult + :members: + .. autoclass:: yli.regress.CategoricalTerm :members: diff --git a/yli/regress.py b/yli/regress.py index 12ee1ca..b4f6e61 100644 --- a/yli/regress.py +++ b/yli/regress.py @@ -256,7 +256,33 @@ class RegressionResult: return bf01.invert() def brant(self): - # TODO: Documentation + """ + Perform the Brant test for the parallel regression assumption in ordinal regression + + Applicable when the model was fitted using :class:`OrdinalLogit`. + + :rtype: :class:`BrantResult` + + **Example:** + + .. code-block:: + + df = pd.DataFrame(...) + model = yli.regress(yli.OrdinalLogit, df, 'apply', 'pared + public + gpa', exp=False) + model.brant() + + .. code-block:: text + + χ² df p + Omnibus 4.34 3 0.23 + pared 0.13 1 0.72 + public 3.44 1 0.06 + gpa 0.18 1 0.67 + + The output shows the result of the Brant test. For example, for the omnibus test of the parallel regression assumption across all independent variables, the *χ*:sup:`2` statistic is 4.34, the *χ*:sup:`2` distribution has 3 degrees of freedom, and the test is not significant, with *p* value 0.23. + + **Reference:** Brant R. Assessing proportionality in the proportional odds model for ordinal logistic regression. *Biometrics*. 1990;46(4):1171–8. `doi:10.2307/2532457 `_ + """ df = self.df() if df is None: @@ -1070,7 +1096,11 @@ def _wald_test(param_names, params, formula, vcov, df): return lmr.wald_test(formula, cov_p=vcov, use_f=False, scalar=True) class BrantResult: - # TODO: Documentation + """ + Result of a Brant test for ordinal regression + + See :meth:`RegressionResult.brant`. + """ def __init__(self, tests): #: Results for Brant test on each coefficient (*Dict[str, ChiSquaredResult]*)