Un campione sbilanciato è importante quando si esegue la regressione logistica?


81

Va bene, quindi penso di avere un campione abbastanza decente, tenendo conto della regola empirica 20: 1: un campione abbastanza grande (N = 374) per un totale di 7 variabili predittive candidate.

Il mio problema è il seguente: qualunque sia il set di variabili predittive che utilizzo, le classificazioni non migliorano mai di una specificità del 100% e di una sensibilità dello 0%. Per quanto insoddisfacente, questo potrebbe effettivamente essere il miglior risultato possibile, dato l'insieme di variabili predittive candidate (da cui non posso deviare).

Ma non ho potuto fare a meno di pensare di poter fare di meglio, quindi ho notato che le categorie della variabile dipendente erano bilanciate in modo abbastanza irregolare, quasi 4: 1. Un sottocampione più equilibrato potrebbe migliorare le classificazioni?


5
È difficile immaginare come potrebbe essere. Forse stai tagliando la probabilità prevista a 0,5? In tal caso, prova a variare il cutoff.
Aniko,

4
L'area sotto la curva ROC è .585, un risultato piuttosto scarso. Ciò implica che in realtà non esiste un valore di soglia in cui valga la pena il compromesso di specificità / sensibilità. Giocherellare con il cutoff non migliorerà molto le classificazioni, in quanto ridurrebbe la specificità all'incirca quanto aumenta la sensibilità.
Michiel,

3
Uno dei coefficienti delle variabili è significativamente diverso da (diciamo più di cinque errori standard)? Altrimenti il ​​tuo problema potrebbe essere che non hai molto potere esplicativo con il tuo set di variabili. 0
Probislogic,

2
Si noti inoltre che la dimensione del campione in termini di previsioni valide è in realtà il numero di modelli univoci nella variabile predittore e non il numero di individui campionati. Ad esempio, un modello con una singola variabile di predittore categoriale con due livelli può adattarsi solo a un modello di regressione logistica con due parametri (uno per ogni categoria), anche se ci sono milioni di persone nel campione.
Probislogic,

Risposte:


75

Equilibrio nel set di allenamento

Per i modelli di regressione logistica, i dati di allenamento sbilanciati influiscono solo sulla stima dell'intercettazione del modello (sebbene questo ovviamente distorca tutte le probabilità previste, il che a sua volta compromette le previsioni). Fortunatamente la correzione dell'intercettazione è semplice: a condizione che tu conosca o indovini la vera proporzione di 0 e 1 e che conosca le proporzioni nel set di addestramento, puoi applicare una correzione di eventi rari all'intercetta. I dettagli sono in King and Zeng (2001) [ PDF ].

Queste "correzioni di eventi rari" sono state progettate per i progetti di ricerca sul controllo dei casi, usati principalmente in epidemiologia, che selezionano i casi scegliendo un numero fisso, generalmente bilanciato di 0 casi e 1 casi, e quindi devono correggere per il bias di selezione del campione risultante. In effetti, potresti allenare il tuo classificatore allo stesso modo. Scegli un bel campione bilanciato e poi correggi l'intercettazione per tenere conto del fatto che hai selezionato sulla variabile dipendente per saperne di più sulle classi più rare di quanto un campione casuale sarebbe in grado di dirti.

Fare previsioni

Su un argomento correlato ma distinto: non dimenticare che per fare previsioni dovresti essere in soglia in modo intelligente. Non è sempre meglio prevedere 1 quando la probabilità del modello è maggiore di 0,5. Un'altra soglia potrebbe essere migliore. A tal fine, dovresti esaminare le curve delle caratteristiche operative del ricevitore (ROC) del tuo classificatore, non solo il suo successo predittivo con una soglia di probabilità predefinita.


8
Se non si conoscono le frequenze della classe operativa, possono essere stimate da EM senza conoscere le etichette dei campioni di test / operativi. I dettagli sono in Saerens et al. "Adattare gli output di un classificatore alle nuove probabilità a priori: una procedura semplice", calcolo neurale, vol. 14, n. 1, pagg. 21-41, 2002 ( dx.doi.org/10.1162/089976602753284446 ). L'ho usato un paio di volte e sono rimasto colpito da quanto ha funzionato. Si noti tuttavia che la correzione teorica non è normalmente ottimale e l'impostazione tramite, ad esempio, la convalida incrociata è spesso migliore.
Dikran Marsupial,

Sì, avrei dovuto menzionare che anche i risultati della curva ROC non erano convincenti. In questo caso penso che non ci sia una soglia che dia risultati soddisfacenti.
Michiel,

Per quanto riguarda le previsioni: come posso prendere in considerazione le dimensioni del mio set di formazione per i risultati 0 e 1? In effetti non voglio usare la soglia di 0,5, ma non sono sicuro di come farlo in R.
Perlnika,

1
@Perlnika I dettagli si trovano nel collegamento cartaceo (nel caso più semplice si modifica l'intercetta stimata). Per raggiungere la soglia non su 0,5, basta ottenere le probabilità previste usando predicte calcolare per ciascuno se è maggiore della nuova soglia.
conjugateprior,

1
@SassaNF È vero che uno spostamento di intercettazione può essere compensato da una variazione di soglia. Tuttavia, ciò accoppia la stima della probabilità (inferenza) alla costosità relativa degli errori (funzione di perdita), mentre quest'ultima potrebbe differire nelle applicazioni. Ad esempio, quando il costo di scambiare un 1 per uno 0 è C volte il costo di scambiare uno 0 per un 1, allora si vorrebbe limitare la probabilità stimata a 1 / (1 + C).
conjugateprior,

41

Il problema non è che le classi sono di per sé squilibrate, è che potrebbero non esserci modelli sufficienti appartenenti alla classe di minoranza per rappresentare adeguatamente la sua distribuzione. Ciò significa che il problema può sorgere per qualsiasi classificatore (anche se hai un problema sintetico e sai di avere il vero modello), non solo la regressione logistica. La cosa buona è che quando diventano disponibili più dati, il problema dello "squilibrio di classe" di solito scompare. Detto questo, 4: 1 non è poi così squilibrato.

Se si utilizza un set di dati bilanciato, l'importante è ricordare che l'output del modello è ora una stima della probabilità a posteriori, supponendo che le classi siano ugualmente comuni e quindi si potrebbe finire per distorcere il modello troppo lontano. Vorrei ponderare i modelli appartenenti a ciascuna classe in modo diverso e sceglierei i pesi minimizzando l'entropia incrociata su un set di test con le frequenze della classe operativa corrette.


6
+1If you use a balanced dataset, the important thing is to remember that the output of the model is now an estimate of the a-posteriori probability
Zhubarb

2

Pensa alle distribuzioni sottostanti dei due campioni. Avete un campione sufficiente per misurare entrambe le sottopopolazioni senza un'enorme quantità di errore nel campione più piccolo?

Vedi qui per una spiegazione più lunga.

https://statisticalhorizons.com/logistic-regression-for-rare-events


5
Questo non sembra rispondere alla domanda.
Michael Chernick,

Questo perché non esiste una risposta definitiva! Riguarda il modo in cui lo applichi e la quantità di pregiudizio che uno è disposto a consentire nel processo di stima.
Paul Tulloch,

1
Penso che questa sia un'ottima risposta. Per quanto ho capito, tutti i tentativi di correggere lo squilibrio si basano su alcune conoscenze esterne non acquisite nell'esperimento. In particolare, conoscere la distribuzione sottostante aiuterebbe con le correzioni.
user1700890,
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.