Skip to contents

Fits 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

+ inherited public methods from Inference


InferenceOrdinalOrderedProbitRegr$set_custom_randomization_statistic_function()

Usage

InferenceOrdinalOrderedProbitRegr$set_custom_randomization_statistic_function(
  custom_randomization_statistic_function
)


InferenceOrdinalOrderedProbitRegr$set_custom_randomization_statistic_cpp()

Usage

InferenceOrdinalOrderedProbitRegr$set_custom_randomization_statistic_cpp(fn)


InferenceOrdinalOrderedProbitRegr$approximate_randomization_distribution_beta_hat_T()

Usage

InferenceOrdinalOrderedProbitRegr$approximate_randomization_distribution_beta_hat_T(
  r = 501,
  delta = 0,
  transform_responses = "none",
  show_progress = TRUE,
  permutations = NULL,
  debug = FALSE,
  zero_one_logit_clamp = .Machine$double.eps
)


InferenceOrdinalOrderedProbitRegr$supports_rand_pval_for_incidence()

Usage

InferenceOrdinalOrderedProbitRegr$supports_rand_pval_for_incidence()


InferenceOrdinalOrderedProbitRegr$compute_rand_two_sided_pval()

Usage

InferenceOrdinalOrderedProbitRegr$compute_rand_two_sided_pval(
  r = 501,
  delta = 0,
  transform_responses = "none",
  na.rm = TRUE,
  show_progress = TRUE,
  permutations = NULL,
  zero_one_logit_clamp = .Machine$double.eps
)


InferenceOrdinalOrderedProbitRegr$clone()

The objects of this class are cloneable with this method.

Usage

InferenceOrdinalOrderedProbitRegr$clone(deep = FALSE)

Arguments

deep

Whether to make a deep clone.

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
# }