Validación cruzada y regresión logística ordinal

12

Estoy tratando de entender la validación cruzada para la regresión logística ordinal. El objetivo del juego es validar el modelo utilizado en un análisis ...

Primero construyo un conjunto de datos de juguete:

set.seed(1)
N <- 10000
# predictors
x1 <- runif(N)
x2 <- runif(N)
x3 <- runif(N)

# coeffs in the model
a <- c(-2,-1)
x <- -x1+2*x2+x3

# P( y ≤ i ) is given by logit^{-1} ( a[i]+x )
p <- outer(a,x, function(a,x) 1/(1+exp(-a-x)) )

# computing the probabilities of each category
q <- 1 - p[2,]
p[2,] <- p[2,] - p[1,];
p <- rbind(p,q);

# outcome
y <- ordered( apply( p, 2, function(p) which(rmultinom(1,1,p)>0) ) ) 

Ahora, ajusto el modelo que usa lrmen el paquete rms.

require("rms")
fit <- lrm(y~x1+x2+x3, x=TRUE,y=TRUE)


> fit

Logistic Regression Model

lrm(formula = y ~ x1 + x2 + x3, x = TRUE, y = TRUE)

                      Model Likelihood     Discrimination    Rank Discrim.
                         Ratio Test            Indexes          Indexes   
Obs         10000    LR chi2    1165.46    R2       0.126    C       0.664
 1           2837    d.f.             3    g        0.779    Dxy     0.328
 2           2126    Pr(> chi2) <0.0001    gr       2.178    gamma   0.329
 3           5037                          gp       0.147    tau-a   0.203
max |deriv| 4e-10                          Brier    0.187                 

     Coef    S.E.   Wald Z Pr(>|Z|)
y>=2  2.1048 0.0656  32.06 <0.0001
y>=3  1.0997 0.0630  17.45 <0.0001
x1    0.8157 0.0675  12.09 <0.0001
x2   -1.9790 0.0701 -28.21 <0.0001
x3   -1.0095 0.0687 -14.68 <0.0001

Entiendo la segunda parte del resultado: los coeficientes que puse en el modelo están aquí (es casi perfecto con N = 100000). El signo se invierte porque en mi modelo utilicé los coeffs para calcular las probabilidades de ser y , aquí es al revés, creo que no hay muchos problemas allí.12

Sin embargo , no entiendo la discriminación y los índices de discriminación de rango . ¡¿Me puedes ayudar?! Algunos punteros?

Las cosas empeoran cuando pasamos a la validación cruzada ...

> validate(fit, method="cross")
          index.orig training    test optimism index.corrected  n
Dxy           0.3278   0.3278  0.3290  -0.0012          0.3291 40
R2            0.1260   0.1260  0.1313  -0.0053          0.1313 40
Intercept     0.0000   0.0000 -0.0072   0.0072         -0.0072 40
Slope         1.0000   1.0000  1.0201  -0.0201          1.0201 40
Emax          0.0000   0.0000  0.0056   0.0056          0.0056 40
D             0.1164   0.1165  0.1186  -0.0021          0.1186 40
U            -0.0002  -0.0002 -0.8323   0.8321         -0.8323 40
Q             0.1166   0.1167  0.9509  -0.8342          0.9509 40
B             0.1865   0.1865  0.1867  -0.0001          0.1867 40
g             0.7786   0.7786  0.7928  -0.0142          0.7928 40
gp            0.1472   0.1472  0.1478  -0.0007          0.1478 40

Mmffff? ¿Qué es esto? ¿Cómo interpreto esto? La página del manual ofrece pocas explicaciones, no tengo acceso a este documento ... y me siento abrumado por un océano de complejidad. ¡Por favor ayuda!

Elvis
fuente

Respuestas:

11

Concéntrese en algunos de los índices en este momento. index.origes el puntaje aparente de capacidad predictiva / precisión cuando lo evalúa en los datos utilizados para ajustar el modelo. index.correctedes la versión corregida de validación cruzada del mismo índice, es decir, corregida por sobreajuste (desviada). Dxyes el coeficiente de correlación de rango Somers , una medida de discriminación pura. Consulte el documento original o textos no paramétricos para más detalles. donde es el área ROC generalizada (probabilidad de concordancia). y pertenecen a la curva de calibración en la escala logit. es el error de calibración máximo estimado usando esa pendiente e intercepción. reXyreXy=2(C-12)CInterceptSlopeEmaxB es el puntaje de precisión de Brier (combina discriminación y calibración).

Los métodos se describen en mi libro o en las notas del curso en el sitio web del libro: http://biostat.mc.vanderbilt.edu/rms

Frank Harrell
fuente
Gracias Frank ¿Su libro se refiere al paquete? ¿Contiene más detalles sobre Dxy?
Elvis
1
Si. El libro cubre el Designpaquete que ahora se reemplaza rmsy utiliza de la misma manera, excepto por cómo se obtienen gráficos de efectos parciales y el paso final de trazado para los nomogramas: consulte biostat.mc.vanderbilt.edu/Rrms . Para google es tu amigo. Tengo varios golpes. Este se ve bien: stata-journal.com/sjpdf.html?articlenum=st0007reXy
Frank Harrell
Gracias. Lo busqué en Google durante horas y no lo encontré. Compraré tu libro.
Elvis
1

A su primera pregunta: son diferentes medidas de rendimiento del modelo. Desea que algunos de ellos sean grandes, otros sean pequeños. De hecho, de alguna manera están relacionados, así que sugiero que te concentres en uno o dos

A su segunda pregunta: lo que tiene en su primera salida R es el rendimiento de su modelo en la muestra de entrenamiento. Cuando realiza la validación mediante validación cruzada, obtiene esas mediciones en múltiples muestras de prueba y su promedio. Esto le brinda una estimación más realista del rendimiento de su modelo.

HTH

FMZ
fuente