
Ordered Probit Regression Inference for Ordinal Responses
Source:R/inference_ordinal_ordered_probit.R
InferenceOrdinalOrderedProbitRegr.RdFits a cumulative-probit ("ordered probit") model for ordinal responses:
\(\Phi^{-1}(P(Y_i \le k)) = \alpha_k - (\beta_T W_i + X_i^\top \gamma)\),
for cutpoints \(\alpha_1 < \cdots < \alpha_{K-1}\), where \(\Phi\) is
the standard normal CDF, \(W_i\) is the treatment indicator, and
\(X_i\) are optional recorded covariates, by maximum likelihood
(fast_ordinal_probit_regression_cpp/
fast_ordinal_probit_regression_with_var_cpp). As with binary
probit regression, \(\hat\beta_T\) is not an odds-ratio-scale parameter:
it is the treatment's effect on the latent standard-normal index
underlying the ordinal categories. 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 proportional/parallel
cutpoints assumption (a single \(\beta_T\) shared across all cutpoints)
in addition to the usual latent-normal-index assumption.
References
McCullagh, P. (1980). "Regression Models for Ordinal Data." Journal of the Royal Statistical Society, Series B, 42(2), 109-142, doi:10.1111/j.2517-6161.1980.tb01109.x , for the cumulative-link ordinal model family this class's probit link instantiates.
See also
InferenceOrdinalCauchitRegr,
InferenceOrdinalCloglogRegr
for other cumulative-link function choices on the same ordinal model
family. See also:
Ordinal
regression and Probit
model (Wikipedia).
Super class
Inference -> InferenceOrdinalOrderedProbitRegr
Methods
Public methods
InferenceOrdinalOrderedProbitRegr$set_custom_randomization_statistic_function()InferenceOrdinalOrderedProbitRegr$set_custom_randomization_statistic_cpp()InferenceOrdinalOrderedProbitRegr$approximate_randomization_distribution_beta_hat_T()InferenceOrdinalOrderedProbitRegr$supports_rand_pval_for_incidence()InferenceOrdinalOrderedProbitRegr$compute_rand_two_sided_pval()
+ 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 = InferenceOrdinalOrderedProbitRegr$new(seq_des)
inf$compute_estimate()
#> [1] -0.1961553
# }