Convalida incrociata e regressione logistica ordinale


12

Sto cercando di comprendere la convalida incrociata per la regressione logistica ordinale. Lo scopo del gioco è convalidare il modello utilizzato in un'analisi ...

Per prima cosa costruisco un set di dati giocattolo:

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) ) ) 

Ora, ho adattato il modello che utilizza lrmnel pacchetto 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

Capisco la seconda parte del risultato: i coefficienti che ho inserito nel modello sono qui (è quasi perfetto con N = 100000). Il segno è invertito perché nel mio modello ho usato i coeffs per calcolare le probabilità di essere e , qui è il contrario, penso che non ci siano molti problemi lì.212

Tuttavia non capisco la discriminazione e classifico gli indici di discriminazione . Mi potete aiutare?! Alcuni suggerimenti?

Le cose vanno peggio quando passiamo alla validazione incrociata ...

> 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? Che cos'è questo? Come posso interpretarlo? La pagina man fornisce poche spiegazioni, non ho accesso a questo documento ... e mi sento sopraffatto da un oceano di complessità. Per favore aiuto!

Risposte:


11

index.origindex.correctedDxyDXyDXy=2(C-12)CInterceptSlopeEmaxB

I metodi sono descritti nel mio libro o nelle note del corso sul sito web del libro: http://biostat.mc.vanderbilt.edu/rms


Grazie Frank. Il tuo libro fa riferimento al pacchetto? Contiene maggiori dettagli su Dxy?
Elvis,

1
DesignrmsDXy

Grazie. L'ho cercato su Google per ore e non l'ho trovato. Comprerò il tuo libro.
Elvis,

1

Alla tua prima domanda: sono diverse misurazioni delle prestazioni del modello. Volete che alcuni di loro siano grandi, altri piccoli. In realtà sono in qualche modo correlati, quindi suggerisci di concentrarti su uno o due

Alla tua seconda domanda: quello che hai nel tuo primo output R sono le prestazioni del tuo modello sul campione di allenamento. Quando si esegue la convalida per convalida incrociata, si ottengono tali misurazioni su più campioni di test e la loro media. Questo ti dà una stima più realistica di come si comporta il tuo modello.

HTH

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.