Jak radzić sobie z niebinarnymi zmiennymi kategorialnymi w regresji logistycznej (SPSS)

10

Muszę wykonać binarną regresję logistyczną z wieloma niezależnymi zmiennymi. Większość z nich ma charakter binarny, ale kilka zmiennych kategorialnych ma więcej niż dwa poziomy.

Jaki jest najlepszy sposób radzenia sobie z takimi zmiennymi?

Na przykład, dla zmiennej o trzech możliwych wartościach, przypuszczam, że należy utworzyć dwie zmienne fikcyjne. Następnie, w procedurze regresji krokowej, lepiej jest przetestować obie zmienne fikcyjne jednocześnie lub przetestować je osobno?

Będę używać SPSS, ale nie pamiętam go zbyt dobrze, więc: jak SPSS radzi sobie z tą sytuacją?

Co więcej, w przypadku porządkowej zmiennej kategorialnej dobrze jest użyć zmiennych zastępczych, które odtwarzają skalę porządkową? (Na przykład, przy użyciu trzech zmiennych binarnych dla 4-stan zmienną porządkową umieścić 0-0-0na poziomie , na poziomie , na poziomie 3 i na poziomie 4 , zamiast , , a na 4 poziomach).211-0-021-1-0431-1-140-0-01-0-00-1-00-0-1

szklisty
źródło
2
To tylko częściowa odpowiedź: nawet jeśli jawnie tworzysz manekiny (zamiast korzystać z domyślnych możliwości oprogramowania), trzymaj je razem we wszystkich analizach. W szczególności powinny one wszystkie wchodzić razem i wszystkie wychodzić razem w regresji stopniowej, przy czym wartość p obliczana jest odpowiednio dla całkowitej liczby zmiennych. (W każdym razie jest to zalecenie Hosmer & Lemeshow i ma to sens).
whuber
Jakiś czas temu napisałem post na temat wielomianowych zasobów regresji logistycznej w SPSS .
Jeromy Anglim,
Mówisz o swoich niezależnych zmiennych. To tylko zmienne zależne, które muszą być binarne dla regresji logistycznej.
John
1
Należy tutaj zauważyć, że nie powinieneś w ogóle stosować stopniowych procedur wyboru; nie są ważne. Jeśli to nie ma sensu / chcesz zrozumieć dlaczego, może ci pomóc przeczytać moją odpowiedź tutaj: algorytmy automatycznego wyboru modelu .
gung - Przywróć Monikę

Odpowiedzi:

10

Witryna UCLA zawiera kilka świetnych samouczków dotyczących każdej procedury w podziale na rodzaj oprogramowania, które znasz. Sprawdź wyjście z komentarzem SPSS: regresja logistyczna - wspomniana przez nich zmienna SES jest kategoryczna (a nie binarna). SPSS automatycznie utworzy dla ciebie zmienne wskaźnikowe. Istnieje również strona poświęcona predyktorom kategorialnym w regresji za pomocą SPSS, która zawiera szczegółowe informacje na temat zmiany domyślnego kodowania oraz stronę specyficzną dla regresji logistycznej .

M. Tibbits
źródło
7

Regresja logistyczna jest dość elastyczną metodą. Może być łatwo stosowany jako zmienne niezależne zmienne jakościowe. Większość programów korzystających z regresji logistycznej powinna umożliwiać korzystanie ze zmiennych jakościowych.

Na przykład, powiedzmy, że jedną z twoich zmiennych jakościowych jest temperatura zdefiniowana w trzech kategoriach: zimna / łagodna / gorąca. Jak sugerujesz, możesz zinterpretować to jako trzy oddzielne zmienne fikcyjne, każda o wartości 1 lub 0. Jednak oprogramowanie powinno pozwolić ci na użycie jednej zmiennej jakościowej zamiast wartości tekstowej zimna / łagodna / gorąca. I regresja logit wyprowadziłaby współczynnik (lub stały) dla każdego z trzech warunków temperaturowych. Jeśli nie ma to znaczenia, oprogramowanie lub użytkownik może je łatwo wyjąć (po zaobserwowaniu wartości t stat i p).

Główną zaletą grupowania kategorii zmiennych jakościowych w jedną zmienną jakościową jest wydajność modelu. Pojedyncza kolumna w twoim modelu może obsłużyć tyle kategorii, ile potrzeba dla pojedynczej zmiennej kategorialnej. Jeśli zamiast tego użyjesz zmiennej zastępczej dla każdej kategorii zmiennej kategorialnej, Twój model może szybko urosnąć, tworząc liczne kolumny, które są zbędne, biorąc pod uwagę wspomnianą alternatywę.

Sympa
źródło
1
@ gaetan Nie rozumiem uwagi o jednej kolumnie a wielu kolumnach. Czy sugerujesz, że zmienne kategorialne powinny być kodowane jako 1, 2, 3 itd. W jednej kolumnie zamiast zmiennych zastępczych? Nie jestem pewien, czy to ma dla mnie sens, ponieważ narzuca się wówczas domniemane ograniczenie, że różnica w wpływie na DV między poziomami 1 i 2 jest taka sama, jak różnica w wpływie na DV między poziomami 2 i 3. Być może ja czegoś mi brakuje.
1
@Getetan Nie jestem pewien, czy idę za tobą. W jaki sposób XLStat przekształca wartości „tekstowe” zimna, łagodna lub gorąca w wartości liczbowe na potrzeby oszacowania? Jeśli istnieje metoda, która pozwoli ci oszacować wpływ zmiennych kategorialnych bez użycia zmiennych zastępczych, to z pewnością powinna być niezależna od używanego oprogramowania, ponieważ powinna istnieć pewna logika oparta na koncepcjach / modelach.
@Gaetan Nie podążam za tobą, chyba że uważasz, że twoja zmienna porządkowa jest traktowana jako ciągła (może to czasem mieć sens, chociaż wyraźnie zakładamy, że zmienna może odziedziczyć właściwość skali interwałowej wskazana przez @ Skrikant) . Zwykle zmienna o poziomach jest reprezentowana w macierzy projektowej jako kolumny i myślę, że jest to całkiem niezależne od używanego oprogramowania (z pewnością XLStat zajmuje się konstruowaniem poprawnej macierzy projektowej, tak jak robi to R, SPSS lub Stata) . k - 1kk1
chl
1
@Gatean Ok, w tym przypadku to samo można zrobić w SPSS (masz wybór pomiędzy liczbową / porządkową / nominalną dla każdej zmiennej) - wtedy macierz projektowa jest odpowiednio konstruowana.
chl
2
@Gaetan @chl Podsumowując moje zrozumienie: Funkcje SPSS i XLStat, dzięki którym można określić skalę pomiaru (nominalną, porządkową itp.), Zmniejszają rozmiar pliku danych. Jednak w obu przypadkach oprogramowanie wykorzystuje prawidłowy schemat kodowania (np. Rozszerza zmienną nominalną z kategoriami J do zmiennych zastępczych J-1) jako część procesu szacowania w tle. Czy to byłaby uczciwa ocena sytuacji?
0

O ile rozumiem, dobrze jest użyć zmiennej zastępczej dla danych kategorialnych / nominalnych, podczas gdy dla danych porządkowych możemy użyć kodowania 1,2,3 dla różnych poziomów. Dla zmiennej zastępczej będziemy kodować 1, jeśli jest to prawdą dla konkretnej obserwacji, a 0 w przeciwnym razie. Również zmienne fikcyjne będą o 1 mniejsze niż nie. Z poziomów, na przykład w systemie binarnym, mamy 1. Obserwacja all '0 w zmiennej fikcyjnej spowoduje automatycznie 1 dla niekodowanego manekina.

Jayr
źródło