Come gestire le variabili categoriali non binarie nella regressione logistica (SPSS)


10

Devo fare la regressione logistica binaria con molte variabili indipendenti. La maggior parte di essi è binaria, ma alcune delle variabili categoriali hanno più di due livelli.

Qual è il modo migliore per gestire tali variabili?

Ad esempio, per una variabile con tre possibili valori, suppongo che debbano essere create due variabili fittizie. Quindi, in una procedura di regressione graduale, è meglio testare entrambe le variabili fittizie contemporaneamente o testarle separatamente?

Userò SPSS, ma non me lo ricordo molto bene, quindi: in che modo SPSS gestisce questa situazione?

Inoltre, per una variabile categoriale ordinale, è una buona cosa usare variabili fittizie che ricreano la scala ordinale? (Ad esempio, utilizzando tre variabili dummy per una variabile ordinale 4-stato, messo 0-0-0per il livello , per il livello , per il livello 3 e per il livello 4 , invece di , , e per i 4 livelli.)11-0-021-1-031-1-140-0-01-0-00-1-00-0-1


2
Questa è solo una risposta parziale: anche quando si creano esplicitamente i manichini (anziché utilizzare le capacità implicite del software), tenerli insieme in tutte le analisi. In particolare, dovrebbero entrare tutti insieme e partire tutti insieme in una regressione graduale, con il valore p calcolato in modo appropriato per il numero totale di variabili coinvolte. (Questa è la raccomandazione di Hosmer & Lemeshow, comunque, e ha molto senso.)
whuber

Ho scritto un post qualche tempo fa sulle risorse di regressione logistica multinomiale in SPSS .
Jeromy Anglim,

Stai parlando delle tue variabili indipendenti. Sono solo le variabili dipendenti che devono essere binarie per la regressione logistica.
Giovanni,

1
Una cosa da notare qui è che non dovresti usare affatto le procedure di selezione graduale; non sono validi. Se ciò non ha senso / vuoi capire perché, può aiutarti a leggere la mia risposta qui: algoritmi per la selezione automatica del modello .
gung - Ripristina Monica

Risposte:


10

Il sito web della UCLA ha una serie di fantastici tutorial per ogni procedura suddivisa per il tipo di software che conosci. Dai un'occhiata all'output SPSS annotato: regressione logistica: la variabile SES che menzionano è categorica (e non binaria). SPSS creerà automaticamente le variabili dell'indicatore per te. C'è anche una pagina dedicata ai predittori categorici nella regressione con SPSS che contiene informazioni specifiche su come modificare i codici predefiniti e una pagina specifica della regressione logistica .


7

La regressione logistica è un metodo abbastanza flessibile. Può prontamente usare come variabili categoriali variabili indipendenti. La maggior parte dei software che utilizzano la regressione logistica dovrebbero consentire l'utilizzo di variabili categoriali.

Ad esempio, supponiamo che una delle variabili categoriali sia la temperatura definita in tre categorie: fredda / mite / calda. Come suggerisci, potresti interpretarlo come tre variabili fittizie separate ognuna con un valore di 1 o 0. Ma il software dovrebbe permetterti di usare una singola variabile categoriale invece con valore di testo freddo / lieve / caldo. E la regressione logit trarrebbe il coefficiente (o costante) per ciascuna delle tre condizioni di temperatura. Se uno non è significativo, il software o l'utente potrebbero prontamente eliminarlo (dopo aver osservato t stat e p value).

Il vantaggio principale del raggruppamento di categorie di variabili categoriali in una singola variabile categoriale è l'efficienza del modello. Una singola colonna nel modello può gestire tutte le categorie necessarie per una singola variabile categoriale. Se invece, usi una variabile fittizia per ogni categoria di una variabile categoriale, il tuo modello può rapidamente crescere per avere numerose colonne superflue data l'alternativa menzionata.


1
@gaetan Non capisco l'osservazione su una singola colonna rispetto a più colonne. Stai suggerendo che le variabili categoriali dovrebbero essere codificate come 1, 2, 3 ecc. In una singola colonna invece di usare variabili fittizie? Non sono sicuro che abbia senso per me dato che stai imponendo un vincolo implicito che la differenza nell'effetto su dv tra leve1s 1 e 2 è la stessa della differenza nell'effetto su dv tra i livelli 2 e 3. Forse, io mi manca qualcosa.

1
@Gaetan Non sono sicuro di seguirti. In che modo XLStat trasforma i valori di "testo" di freddo, lieve o caldo in valori numerici ai fini della stima? Se esiste un metodo che ti permetterà di stimare gli effetti delle variabili categoriali senza usare sicuramente variabili fittizie, ciò dovrebbe essere indipendente dal software che usi in quanto dovrebbe esserci una logica concettuale / modello sottostante.

@Gaetan Non seguo il tuo punto a meno che tu non consideri che la tua variabile ordinale è trattata come una continua (questo potrebbe avere senso a volte, anche se assumiamo chiaramente che la variabile può ereditare la proprietà di una scala di intervallo come indicato da @Skrikant) . Di solito, una matrice con livelli è rappresentata nella matrice di progettazione come colonne , e penso che questo sia abbastanza indipendente dal software utilizzato (sicuramente XLStat si occupa di costruire la matrice di progettazione corretta come R, SPSS o Stata) . kk1
chl

1
@Gatean Ok, in questo caso, lo stesso può essere fatto in SPSS (puoi scegliere tra numerico / ordinale / nominale per ogni variabile) - quindi, la matrice di progettazione viene costruita di conseguenza.
chl

2
@Gaetan @chl Per riassumere la mia comprensione: le funzionalità di SPSS e XLStat in base alle quali è possibile specificare la scala di misurazione (nominale, ordinale ecc.) Diminuiscono le dimensioni del file di dati. Tuttavia, in entrambi i casi, il software utilizza lo schema di codifica corretto (ad esempio, espandere una variabile nominale con categorie J in variabili fittizie J-1) come parte del processo di stima in background. Sarebbe una valutazione equa della situazione?

0

Per quanto ne so, è bene usare una variabile fittizia per i dati categorici / nominali mentre per i dati ordinali possiamo usare una codifica di 1,2,3 per livelli diversi. Per la variabile fittizia codificheremo 1 se è vero per una particolare prenotazione e 0 altrimenti. Anche le variabili fittizie saranno 1 in meno rispetto al no. Di livelli, ad esempio in binario abbiamo 1. Un'osservazione tutto '0' nella variabile fittizia farà automaticamente 1 per il manichino non codificato.

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.