Modelización de datos ordinales mediante el paquete brms

Author

Eduardo Canales

Introducción

En el siguiente post explicaremos como funciona el paquete bmrs usando datos ordinales, para este caso los datos de un ensayo cruzado de dos tratamientos y de dos periodos para comparar dos dispositivos de inhalación para la administración del fármaco salbutamol en \(286\) pacientes con asma Ezzet and Whitehead (1991)

La base de datos inhaler contiene la siguientes variables:

  • subject: identificador único para cada sujeto en el estudio.

  • rating: puntuación asignada al tratamiento del inhalador.

  • treat: dosis del tratamiento del inhalador

  • period: período de tiempo en el que se administró el tratamiento.

  • carry: indicador de si el sujeto llevó el inhalador consigo.

    library("Rcpp")
    library("brms")
    data("inhaler")
    head(inhaler, n=5)
      subject rating treat period carry
    1       1      1   0.5    0.5     0
    2       2      1   0.5    0.5     0
    3       3      1   0.5    0.5     0
    4       4      1   0.5    0.5     0
    5       5      1   0.5    0.5     0

    Ajuste de modelos con bmrs

    Para analizar estos datos ordinales, se utiliza el enfoque del modelo de respuesta acumulativa o gradada (cumulative or graded-response model), propuesto por Samejima (1969). Este enfoque asume que la variable de respuesta ordinal se origina a partir de la categorización de una variable latente continua. Se establecen \(K\) umbrales latentes (interceptos del modelo), que dividen la escala continua en \(K + 1\)categorías observables y ordenadas.

    Por lo cual este ejemplo se acopla a estos modelos antes mencionados. El modelo se especifica de la siguiente manera:

    fit3 <- brm(formula = rating ~ treat + period + carry + (1|subject),
                data = inhaler, family = cumulative)

El problema es que el soporte de los datos ordinales en la mayoría de los paquetes de R termina aquí. En el caso de brms, se amplía el soporte para datos ordinales de tres formas principales:

  • En primer lugar, se implementan tres familias adicionales de variables ordinales: “sratio” (stopping ratio), “cratio” (continuation ratio) y “acat” (adjacent category). Las familias “sratio” y “cratio” son modelos secuenciales que son equivalentes entre sí cuando se utilizan funciones de enlace simétricas como \(logit\)

  • En segundo lugar, se pueden aplicar restricciones a los umbrales (thresholds) de las categorías, el cual se indica mediante el argumento threshold = "flexible" en brm. Al utilizar threshold = "equidistant", se fuerza una distancia constante entre dos umbrales adyacentes\[ t_k=\tau_1+(k-1)\delta \]

    para umbrales \(t_k\) y distancia \(\delta\).

  • En tercer lugar, el supuesto de que los predictores tienen efectos constantes en todas las categorías puede relajarse en los modelos ordinales no acumulativos lo que da lugar a efectos específicos de cada categoría.

Para ilustrar lo anterior se ajusto el modelo de ratio de parada (apenas justificado teóricamente) con umbrales equidistantes y efectos específicos de categoría para la variable treat sobre la que aplicamos una prior informativa.

References

Ezzet, Farkad, and John Whitehead. 1991. “A Random Effects Model for Ordinal Responses from a Crossover Trial.” Statistics in Medicine 10 (6): 901–7.
Samejima, Fumiko. 1969. “Estimation of Latent Ability Using a Response Pattern of Graded Scores.” Psychometrika Monograph Supplement.