Strategia per affrontare la regressione logistica di eventi rari


27

Vorrei studiare eventi rari in una popolazione finita. Dal momento che non sono sicuro di quale sia la strategia più adatta, apprezzerei i suggerimenti e i riferimenti relativi a questa questione, anche se sono ben consapevole che è stata ampiamente trattata. Non so davvero da dove cominciare.

Il mio problema è di scienze politiche e ho una popolazione limitata che comprende 515.843 documenti. Sono associati a una variabile dipendente binaria con 513.334 "0" se 2.509 "1" s. Posso coniare i miei "1" come eventi rari poiché rappresentano solo lo 0,49% della popolazione.

Ho un set di circa 10 variabili indipendenti con cui vorrei costruire un modello per spiegare la presenza di "1" s. Come molti di noi, ho letto l'articolo del 2001 di King & Zeng sulla correzione di eventi rari. Il loro approccio era quello di utilizzare un disegno caso-controllo per ridurre il numero di "0" s, quindi applicare la correzione all'intercetta.

Tuttavia, questo post afferma che l'argomento di King & Zeng non era necessario se avessi già raccolto i miei dati su tutta la popolazione, il che è il mio caso. Pertanto, devo usare il modello logit classico. Sfortunatamente per me, anche se ottengo buoni coefficienti significativi, il mio modello è completamente inutile in termini di previsione (non riesce a prevedere il 99,48% dei miei "1").

Dopo aver letto l'articolo di King & Zeng, volevo provare un disegno caso-controllo e ho selezionato solo il 10% degli "0" con tutti gli "1". Con quasi gli stessi coefficienti, il modello è stato in grado di prevedere quasi un terzo degli "1" se applicato a tutta la popolazione. Certo, ci sono molti falsi positivi.

Ho quindi tre domande che vorrei farti:

1) Se l'approccio di King & Zeng è pregiudizievole quando si ha piena conoscenza della popolazione, perché usano una situazione in cui conoscono la popolazione nel loro articolo per dimostrare il loro punto?

2) Se ho coefficienti buoni e originali in una regressione logit, ma un potere predittivo molto scarso, ciò significa che la variazione spiegata da queste variabili non ha senso?

3) Qual è l'approccio migliore per affrontare eventi rari? Ho letto del modello di reinserimento di King, dell'approccio di Firth, del logit esatto, ecc. Devo confessare che sono perso tra tutte queste soluzioni.


Il numero sembra familiare ... per caso un set di dati sul conflitto etnico? Se si, è una serie temporale - Ho usato un modello di sopravvivenza con grande successo in uno studio sul conflitto etnico ...
Christian Sauer,

Abbastanza vicino. È un set di dati sulla posizione degli eventi di conflitto in Africa. Tuttavia, studio la posizione di questi eventi senza tenere conto del tempo.
Damien,

1
Ah, molti dei miei casi sono venuti dall'Africa, poiché i conflitti etnici dilagano lì. Fai studi geografici? Sarebbe un grosso problema tenere conto del tempo? L'ho trovato davvero utile, soprattutto perché alcune variabili stanno cambiando nel tempo (sistema politico, guerra fredda ecc.)
Christian Sauer,

Sto usando il set di dati GED di UCDP che copre il periodo 1989-2010. Sono interessato ai fattori geografici che possono svolgere un ruolo nella localizzazione degli eventi di conflitto. Le variazioni di tempo hanno sicuramente molto da dire, ma le domande a cui si risponde sono diverse. Inoltre, molte delle mie variabili indipendenti non sono disponibili per periodi diversi (copertura del suolo) o non sono cambiate affatto (topografia)
Damien,

1
"(non è in grado di prevedere il 99,48% dei miei" 1 ")." sembra che tu stia usando qualche regola di cutoff arbitraria [ad es. 0,5!] per classificare, mentre l'intera idea della regressione logistica è che l'output è una probabilità - spetta a te decidere la soglia per bilanciare falsi positivi / negativi
seanv507

Risposte:


17

(1) Se hai "piena conoscenza di una popolazione", perché hai bisogno di un modello per fare previsioni? Ho il sospetto che tu li stia considerando implicitamente come un campione di un'ipotetica superpopolazione: vedi qui e qui . Quindi dovresti buttare via le osservazioni dal tuo campione? No. King & Zeng non lo sostengono:

[...] in campi come le relazioni internazionali, il numero di 1 osservabili (come le guerre) è strettamente limitato, quindi nella maggior parte delle applicazioni è meglio raccogliere tutti gli 1 disponibili o un ampio campione di essi. L'unica vera decisione quindi è anche quanti 0 raccogliere. Se la raccolta di 0 è gratuita, dovremmo raccoglierne quanti ne possiamo ottenere, poiché sempre più dati sono sempre migliori.

Y nei dati di disputa interstatali militarizzati". K. & Z. usalo per dimostrare il loro punto di vista: in questo esempio se un ricercatore avesse cercato di economizzare raccogliendo tutti gli 1 e una proporzione degli 0, le loro stime sarebbero simili a quelle che avevano campionato tutti gli 1 e gli 0 disponibili. In quale altro modo potresti illustrarlo?

(2) Il problema principale qui è l'uso di una regola di punteggio impropria per valutare le prestazioni predittive del modello. Supponiamo che il tuo modello fosse vero , in modo che per ogni individuo tu conoscessi la probabilità di un evento raro - diciamo di essere stato morso da un serpente nel mese successivo. Cos'altro impari stipulando un limite di probabilità arbitrario e predicendo che quelli sopra di esso saranno morsi e quelli sotto di esso non lo saranno? Se fai il cut-off del 50%, probabilmente prevedi che nessuno verrà morso. Se lo rendi abbastanza basso, puoi prevedere che tutti saranno morsi. E allora? L'applicazione ragionevole di un modello richiede discriminazione - a chi dovrebbe essere data l'unica fiala di antigelo? - o calibrazione - per chi vale la pena acquistare stivali, dato il loro costo rispetto a quello di un morso di serpente ?.


Grazie per la tua risposta. Per quanto riguarda (1), sarebbe più appropriato parlare di un campione delle osservazioni che conosciamo finora per spiegare la possibilità di eventi futuri? Per quanto riguarda (2), ho trascorso un momento a cercare di capire quale fosse una regola di punteggio. Se capisco correttamente l'articolo di Wikipedia, dovrei variare la funzione di punteggio tra diversi valori di probabilità per i quali si prevede che si verifichi l'evento, quindi scegliere come valore limite la probabilità con il punteggio più alto. Se scelgo la regola del punteggio logaritmico, come devo implementare il valore atteso?
Damien,

1
R2

@Scortchi; quindi consiglieresti di usare la regressione logistica, o no, per il numero di osservazioni / casi come nell'operazione (diciamo con ~ 10 predittori continui), se è richiesta una probabilità di un caso, che sembra essere sottovalutato? grazie
user2957945

3

Ad un livello, mi chiedo quanta inesattezza del tuo modello sia semplicemente che il tuo processo è difficile da prevedere e le tue variabili non sono sufficienti per farlo. Ci sono altre variabili che potrebbero spiegare di più?

D'altra parte, se è possibile eseguire il cast della variabile dipendente come un problema di conteggio / ordinale (come perdite di conflitto o durata del conflitto), è possibile provare la regressione del conteggio zero o modelli di ostacolo. Questi potrebbero avere lo stesso problema di scarsa definizione tra 0 e 1, ma alcuni conflitti con cui sono correlate le variabili potrebbero allontanarsi da zero.


4
(+1) Buoni suggerimenti. Vorrei tuttavia affermare che l '"inesattezza" del modello è semplicemente un fallimento nel prevedere molte probabilità oltre il 50%. Se gli "1" in genere hanno probabilità previste dal 10% al 40%, rispetto a un po 'meno dello 0,5% per gli "0", ciò sarebbe considerato una forte prestazione predittiva in molte applicazioni.
Scortchi - Ripristina Monica

2

Oltre al sottocampionamento della popolazione maggioritaria, puoi anche sovrastampare gli eventi rari, ma tieni presente che il sovracampionamento della classe di minoranza può portare a un eccesso di adattamento, quindi controlla attentamente le cose.

Questo documento può fornire ulteriori informazioni al riguardo: Yap, Bee Wah, et al. "Un'applicazione di sovracampionamento, sottocampionamento, insacco e potenziamento nella gestione di set di dati non bilanciati."PDF

Inoltre, vorrei collegare questa domanda poiché tratta anche dello stesso problema


0

La tua domanda si riduce a come posso convincere la regressione del logit per trovare una soluzione migliore. Ma sei sicuro che esista una soluzione migliore? Con solo dieci parametri, sei riuscito a trovare una soluzione migliore?

Vorrei provare un modello più complicato, ad esempio aggiungendo termini di prodotto all'ingresso o aggiungendo un livello max-out sul lato target (in modo da avere essenzialmente regressori logistici multipli per vari sottogruppi di target 1s scoperti in modo adattivo).


Grazie per la tua risposta. Proverò sicuramente a combinare le mie variabili in diversi modi. Ma prima, voglio sapere se le scarse prestazioni del mio modello provengono da problemi tecnici o da qualche altra parte
Damien,

-1

Ottima domanda

A mio avviso, il problema è se stai cercando di fare inferenza (sei interessato a ciò che ti dicono i tuoi coefficienti?) O alla previsione. In quest'ultimo caso, potresti prendere in prestito modelli da Machine Learning (BART, randomForest, alberi potenziati, ecc.) Che quasi sicuramente faranno un lavoro migliore in previsione rispetto al logit. Se stai facendo inferenza e hai così tanti punti dati, prova a includere termini di interazione sensibili, termini polinomiali, ecc. In alternativa, potresti fare deduzione da BART, come in questo documento:

http://artsandsciences.sc.edu/people/kernh/publications/Green%20and%20Kern%20BART.pdf

Recentemente ho lavorato su eventi rari e non avevo idea di quanti casi rari possano influenzare l'analisi. È necessario sottocampionare gli 0 casi. Una strategia per trovare la proporzione ideale di sottocampione sarebbe

  1. Prendi tutti i tuoi 1, diciamo che ne hai n1.
  2. Imposta un valore z = multiplo di n1 che disegnerai; forse inizia da 5 e riduci a 1.
  3. disegna z * n1 0 osservazioni
  4. Stimare il modello su un campione dei dati del sottoinsieme, accertandosi di convalidare in modo incrociato l'intero set di dati
  5. Salvare le misure di adattamento rilevanti che ti interessano: coefficienti di interesse, AUC di una curva ROC, valori rilevanti in una matrice di confusione, ecc.
  6. Ripetere i passaggi 2: 5 per zs successivamente più piccole. Probabilmente scoprirai che mentre esegui il down-sampling, il rapporto tra falsi negativi e falsi positivi (nel tuo set di test) diminuirà. Cioè, inizierai a prevedere più 1, si spera che siano veramente 1, ma anche molti che sono effettivamente 0. Se c'è un punto di sella in questa classificazione errata, allora sarebbe un buon rapporto di campionamento.

Spero che sia di aiuto. JS


1
(-1) Non è necessario effettuare il down-campionamento per la regressione logistica. Vedi qui ; la selezione sulla risposta modifica solo l'intercettazione prevista, quindi il down-sampling riduce solo la precisione dei rapporti di probabilità stimati. La regressione logistica fornisce le probabilità previste, che è possibile utilizzare per classificare utilizzando i cut-off calcolati per tenere conto dei costi di diversi tipi di classificazione errata, o utilizzare per classificare le persone o essere interessati ai propri diritti.
Scortchi - Ripristina Monica

Noterai che non ho menzionato l'uso della regressione logistica e invece ho suggerito che ci sono metodi (come il BART sottocampionato) che probabilmente sono più appropriati per casi rari.
Jim,

La domanda riguarda la regressione logistica, e se sottocampionare quando lo si fa, e sembra che tu stia discutendo della regressione logistica quando scrivi "tra cui termini di interazione sensibili, termini polinomiali"; quindi non è chiaro che i tuoi consigli sul down-sampling siano pensati solo per l'uso con metodi alternativi: forse potresti considerare di modificare la tua risposta per chiarire.
Scortchi - Ripristina Monica
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.