
Continuation Ratio Regression Inference for Ordinal Responses
Source:R/inference_ordinal_stereotype_logit.R
InferenceOrdinalContRatioRegr.RdFits a conditional (stratified) continuation-ratio logit model for ordinal
responses: for cut \(j = 1, \dots, K-1\), among subjects who have
reached at least category \(j\), $$\log\frac{\Pr(Y_i > j \mid Y_i
\ge j)}{\Pr(Y_i = j \mid Y_i \ge j)} = \alpha_j + \beta_T W_i + X_i^\top
\gamma,$$ a discrete-time-hazard-model analog for ordinal data, with a
treatment coefficient \(\beta_T\) constrained equal across all cuts.
\(\exp(\hat\beta_T)\) is the common "continue vs. stop here" odds ratio:
a positive \(\beta_T\) means treatment pushes subjects toward higher
categories of \(Y\), matching the sign convention of every other ordinal
estimator in the package.
Fitting proceeds by expand_continuation_ratio_data_cpp's
stacked-binary expansion followed by conditional logistic regression on
the expanded data. likelihood_tier = "full": likelihood-ratio,
score, gradient, and Wald tests are all available when the model
converges, plus parametric-likelihood-bootstrap calibration of the
likelihood-ratio test. Validity requires the continuation-ratio
proportionality assumption (a common \(\beta_T\) across all \(K-1\)
cuts).
References
Agresti, A. (2010). Analysis of Ordinal Categorical Data (2nd ed.). Wiley, for the continuation-ratio model family.
See also
InferenceOrdinalStereotypeLogitRegr
and
InferenceOrdinalKKCondAdjCatLogitRegr
for related ordinal-logit expansions. See also:
Ordinal
regression (Wikipedia).
Super class
Inference -> InferenceOrdinalContRatioRegr
Methods
Public methods
+ inherited public methods from Inference
Inference$capabilities()Inference$compute_asymp_confidence_interval()Inference$compute_asymp_two_sided_pval()Inference$compute_estimate()Inference$compute_exact_confidence_interval()Inference$compute_exact_two_sided_pval_for_treatment_effect()Inference$duplicate()Inference$get_analysis_data()Inference$get_covariates()Inference$get_design_object()Inference$get_model_formula()Inference$get_nonestimable_reason()Inference$get_nonestimable_stage()Inference$get_optimization_alg()Inference$get_response()Inference$get_response_type()Inference$get_treatment()Inference$initialize()Inference$is_nonestimable()Inference$set_optimization_alg()Inference$set_seed()Inference$supports()
Examples
# \donttest{
seq_des = DesignSeqOneByOneBernoulli$new(n = 10, response_type = 'ordinal')
for (i in 1:10) {
seq_des$add_one_subject_to_experiment_and_assign(data.frame(x1 = rnorm(1)))
}
seq_des$add_all_subject_responses(sample(1:4, 10, replace = TRUE))
inf = InferenceOrdinalContRatioRegr$new(seq_des)
inf$compute_estimate()
#> [1] -0.01547521
# }