Importanza delle variabili nella regressione logistica


11

Probabilmente sto affrontando un problema che è stato probabilmente risolto centinaia di volte prima, ma non sono sicuro di dove trovare la risposta.

Quando si utilizza la regressione logistica, date molte funzioni e si cerca di prevedere un valore categorico binario , sono interessato a selezionare un sottoinsieme delle funzionalità che prevede bene .x1,...,xnyy

Esiste una procedura simile al lazo che può essere utilizzata? (Ho visto solo il lazo usato per la regressione lineare.)

Guardare i coefficienti del modello montato è indicativo dell'importanza delle diverse caratteristiche?

Modifica - Chiarimenti dopo aver visto alcune delle risposte:

  1. Quando mi riferisco all'entità dei coefficienti adattati, intendo quelli che sono adattati alle caratteristiche normalizzate (media 0 e varianza 1). Altrimenti, come sottolineato da @probabilityislogic, 1000x sembrerebbe meno importante di x.

  2. Non mi interessa semplicemente trovare il miglior sottoinsieme k (come offriva @Davide), ma piuttosto valutare l'importanza delle diverse funzionalità l'una rispetto all'altra. Ad esempio, una funzione potrebbe essere "età" e l'altra funzione "età> 30". La loro importanza incrementale potrebbe essere scarsa, ma entrambe potrebbero essere importanti.

Risposte:


8

La risposta di DWin offre la risposta ma poca intuizione, quindi ho pensato che potesse essere utile fornire qualche spiegazione.

Se hai due classi, stai sostanzialmente cercando di stimare . Questo è tutto ciò che serve e il modello di regressione logistica presuppone che:p=P(yi=1|X=xi)

logp1p=logP(yi=1|X=xi)P(yi=0|X=xi)=β0+β1Txi

Quello che penso intendi per l'importanza della funzione è come influenza o in altre parole cosa è .jppxij

Dopo una piccola trasformazione puoi vederlo

p=eβ0+β1Txi1+eβ0+β1Txi .

Una volta calcolato il derivato lo vedrai

pxij=βjeβ0+β1Txi

Ciò dipende chiaramente dal valore di tutte le altre variabili. Tuttavia si può osservare che il SIGN del coefficiente può essere interpretato nel modo desiderato: se è negativo, questa funzione diminuisce la probabilità p.

Ora nella tua procedura di stima stai provando a stimare s supponendo che il tuo modello sia corretto. Con la regolarizzazione si introducono alcuni pregiudizi in queste stime. Per una regressione della cresta e variabili indipendenti è possibile ottenere una soluzione a modulo chiuso:β

βr^=β^β^+λ .

Come puoi vedere, questo può cambiare il segno del tuo coefficiente in modo che anche l'interpretazione si spezzi.


1
refuso nel denominatore di eq1?
Fernando,

7

La risposta alla tua ultima domanda è un NO piatto. L'entità dei coefficienti non è in alcun modo una misura di importanza. Il lazo può essere utilizzato per la regressione logistica. Devi studiare l'area in modo più assiduo. I metodi che devi studiare sono quelli che prevedono metodi "penalizzati". Se stai cercando metodi di rilevamento che rivelino predittori "ombreggiati", un termine che può essere definito da qualche parte ma non è di uso generale, allora devi cercare metodi che ispezionino le interazioni e la struttura non lineare all'interno dello spazio predittore e il collegamento dei risultati a quello spazio. C'è un bel po 'di discussione su questi temi e metodi nel testo di Frank Harrell "Regressione Modeling Strategies".

La strategia di selezione a ritroso non riuscirà a fornire risultati validi (sebbene fornisca risultati). Se hai esaminato un caso di 20 predittori casuali per 100 eventi, troverai probabilmente 2 o 3 che verranno selezionati con un processo di selezione all'indietro. La prevalenza della selezione all'indietro nel mondo reale non riflette un attento pensiero statistico ma piuttosto la sua facile disponibilità in SAS e SPSS e la mancanza di raffinatezza della base di utenti di tali prodotti. La base di utenti R ha difficoltà ad accedere a tali metodi e agli utenti che pubblicano richieste nelle mailing list e SO in genere vengono informati dei problemi legati ai metodi di selezione all'indietro (o in avanti).


1
So che dovrei: apprezzerei molto alcuni suggerimenti su dove iniziare.
Guy Adini,

Aggiungerò un esempio per eseguire il backup di questo. Supponiamo di impostare . Quindi il coefficiente stimato (non aperto) per sarà volte più piccolo del coefficiente stimato (non aperto) per . Ma nota che la forza dei due predittori sarà esattamente la stessa. x n + 1 1000 x 1xn+1=1000x1xn+11000x1
Probislogic

Si prega di vedere i miei commenti sopra (utilizzando funzionalità normalizzate). Grazie.
Guy Adini,

Grazie. Lo esaminerò. Puoi nominare alcuni algoritmi comuni che vengono utilizzati in questa "ispezione delle interazioni e della struttura non lineare all'interno dello spazio predittore" o è una situazione molto particolare per caso?
Guy Adini,

È possibile utilizzare le spline di regressione per cercare la non linearità e i termini della spline possono essere "incrociati", il che consente l'identificazione di effetti limitati a una regione di uno spazio di previsione 2D. È inoltre possibile utilizzare i metodi di regressione locale. In R il metodo di regressione locale più utilizzato è probabilmente il pacchetto 'mgcv', ma il pacchetto 'locfit' precedente è ancora disponibile.
DWin

-4

L'inglese non è la mia lingua madre, quindi potrei non aver capito qual è il tuo problema, ma se hai bisogno di trovare il modello migliore puoi provare a usare una procedura a ritroso (e eventualmente aggiungere interazioni), iniziando con un modello con tutte le covariate. Puoi quindi guardare sia i valori residuals_vs_predicted sia i grafici del diagramma qq per verificare se il modello sta descrivendo bene il tuo fenomeno


Grazie! Penso che ciò che stai suggerendo sia l'aggiunta graduale della funzione più correlata. Ha senso, ma non mi aiuta a capire "di quanto" la funzione A è più importante della funzione B. Ad esempio, supponiamo che io abbia una funzione xe un'altra funzione x + <rumore piccolo>. Quindi entrambe sono in realtà funzioni utili, ma una è oscurata dall'altra. Voglio che sia importante un metodo che mostri anche x + <noise>.
Guy Adini,

No, una procedura a ritroso inizia con un modello con tutte le covariate e quindi rimuove una covariata (il cui coefficiente non è significativo) passo dopo passo (fino a quando non si ha un modello con solo coefficienti significativi, di solito). Immagino che ci siano modi più sofisticati per raggiungere lo stesso obiettivo, ma sono solo uno studente di laurea!
Davide
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.