Jak radzić sobie z brakującymi wartościami, aby przygotować dane do wyboru funkcji w LASSO?

11

Moja sytuacja:

  • mała wielkość próby: 116
  • binarna zmienna wyniku
  • długa lista zmiennych objaśniających: 44
  • zmienne objaśniające nie pochodziły z mojej głowy; ich wybór opierał się na literaturze.
  • większość przypadków w próbie i większość zmiennych ma brakujące wartości.

Podejdź do wybranego wyboru funkcji: LASSO

Pakiet glmnet R nie pozwala mi uruchomić procedury glmnet, prawdopodobnie z powodu istnienia brakujących wartości w moim zestawie danych. Wydaje się, że istnieją różne metody postępowania z brakującymi danymi, więc chciałbym wiedzieć:

  • Czy LASSO nakłada jakiekolwiek ograniczenia w zakresie metody imputacji, której mogę użyć?
  • Jaki byłby najlepszy zakład dla metody imputacji? Idealnie potrzebuję metody, którą mógłbym uruchomić na SPSS (najlepiej) lub R.

AKTUALIZACJA 1: Z niektórych poniższych odpowiedzi stało się jasne, że zajmowałem się bardziej podstawowymi zagadnieniami przed rozważeniem metod imputacji. Chciałbym tutaj dodać nowe pytania na ten temat. W odpowiedzi sugerującej kodowanie jako wartość stałą i utworzenie nowej zmiennej w celu radzenia sobie z wartościami „nie dotyczy” i użyciem lasso grupowego:

  • Czy powiedziałbyś, że jeśli użyję grupy LASSO, będę w stanie zastosować podejście sugerowane do predyktorów ciągłych, a także predyktorów kategorycznych? Jeśli tak, zakładam, że byłoby to równoznaczne z utworzeniem nowej kategorii - obawiam się, że może to wprowadzić uprzedzenia.
  • Czy ktoś wie, czy pakiet glmnet R obsługuje grupę LASSO? Jeśli nie, czy ktoś zaproponowałby inną, która robi to w połączeniu z regresją logistyczną? Kilka opcji wspominających o grupie LASSO można znaleźć w repozytorium CRAN, czy są jakieś sugestie najbardziej odpowiednie dla mojego przypadku? Może SGL?

Jest to kontynuacja mojego poprzedniego pytania ( Jak wybrać podzbiór zmiennych z mojej oryginalnej długiej listy, aby przeprowadzić analizę regresji logistycznej? ).

OBS: Nie jestem statystykiem.

Zdziwiony
źródło
(1) Najlepsze podejście do imputacji zależy od proporcji i wzorca brakujących wartości, relacji między zmiennymi oraz od przyjętych założeń dotyczących przyczyn brakujących wartości. (2) Do dostarczenia danych wejściowych do LASSO można zastosować dowolną pojedynczą metodę imputacji; trudność polega na ocenie, w jaki sposób przypisanie wpływa na wyniki. Nie wiem, jak połączyć wielokrotne imputacje z LASSO (bez wątpienia ktoś to robi), ale nieformalne porównanie wyników z różnych przebiegów imputacji (czy zwykle wybierane są te same predyktory?) Może nadal być pouczające.
Scortchi - Przywróć Monikę
@Scortchi: Większość moich brakujących wartości należy do kategorii „nie dotyczy”. Np .: w zmiennej „wiek dorosłej kobiety w gospodarstwie domowym” przypadki, w których dorosły mężczyzna jest wdową. Wydaje mi się, że muszę zrobić krok wstecz: czy należy traktować wartości 0 w zmiennych ciągłych jako wartości brakujące? Np .: 0 lat edukacji, 0 członków gospodarstwa domowego w wieku od 14 do 60 lat.
Zdziwiony
Trudno wyobrazić sobie sytuację, w której chciałbyś potraktować to jako nieznany fakt o nieobecnej kobiecie, a nie znany fakt o gospodarstwie domowym. Pytanie o zera jest trudne do zrozumienia: czy pytasz, czy np. Żaden rok nauki nie jest nieprawdopodobną wartością, czy 0 może być użyte do zakodowania brakującej wartości? (A więc skąd mam wiedzieć?) Z pewnością nie ma ogólnego powodu, aby traktować 0 jako wskazujący brak.
Scortchi - Przywróć Monikę
@Scortchi: O kobiecej zmiennej wiekowej rozumiem, co masz na myśli. Ale pojawia się pytanie: jak kodować nieobecny przypadek kobiecy, jeśli nie jako NA? O zerach: tak, to było dokładnie moje pytanie, przepraszam, jeśli nie było jasne. Pomyślałem, że program może mieć problem z obsługą zerowych wartości i że może nie „zrozumieć”, co mam na myśli.
Zdziwiony
Możesz zakodować go jako dowolną stałą wartość i wprowadzić zmienną wskaźnikową dla obecności / nieobecności (i użyj grupy LASSO). Nie ma powodu, dla którego LASSO lub jakikolwiek inny program regresji miałby nieprawidłowo obsługiwać zerowe wartości predyktorów. [Proszę nie brać tego w niewłaściwy sposób, ale są to bardzo podstawowe pytania, sugerujące, że jeśli jest to dla zabawy, możesz zacząć od prostszych problemów lub że jeśli to naprawdę, możesz skonsultować się ze statystyką.]
Scortchi - Przywróć Monikę

Odpowiedzi:

11

Gdy predyktor ciągły x zawiera wartości „nie dotyczy”, często przydatne jest jego zakodowanie za pomocą dwóch zmiennych:

x1={cwhen x is not applicablexotherwise

gdzie c jest stałą, i

x2={1when x is not applicable0otherwise

Załóżmy, że liniowy predyktor odpowiedzi jest podany przez

η=β0+β1x1+β2x2+

co rozwiązuje

η=β0+β1x1+

gdy x jest mierzone lub

η=β0+β1c+β2+

gdy x nie ma zastosowania. Wybór c jest arbitralny i nie wpływa na oszacowania przecięcia β0 lub nachylenia β1 ; β2 przedstawiono wpływ x „S oznacza«nie ma zastosowania»w stosunku do tego, kiedy x=c .

x

Korzystanie z LASSO wprowadza dwa problemy:

  1. c
  2. x1x2

x1x2L1L2[x1 x2]

Scortchi - Przywróć Monikę
źródło
Czy ktoś wie, czy pakiet glmnet R obsługuje grupę LASSO? Jeśli nie, czy ktoś zaproponowałby inną, która robi to w połączeniu z regresją logistyczną? Kilka opcji wspominających o grupie LASSO można znaleźć w repozytorium CRAN, czy są jakieś sugestie najbardziej odpowiednie dla mojego przypadku? Może SGL?
Zdziwiony
Czy powiedziałbyś, że jeśli użyję grupy LASSO, będę mógł zastosować podejście, które sugerujesz do predyktorów ciągłych, także do predyktorów kategorycznych?
Zdziwiony
5

Wielokrotne przypisywanie nigdy nie jest złym podejściem. Możesz także zrobić pełne informacje Maksymalne prawdopodobieństwo. Dobra recenzja i porównanie tutaj i tutaj .

Ale jeśli idziesz tą drogą, rozważ użycie Stana, aby dopasować przypisanie ML jednocześnie z regresją jako pojedynczym modelem Bayesa, ponieważ LASSO jest szczególnym przypadkiem regresji Bayesa .

Shadowtalker
źródło
Źle zrozumiałem metodę wielokrotnego przypisywania, teraz widzę, że będzie ona mieć zastosowanie w moim przypadku. Zredagowałem moje pytanie, aby to odzwierciedlić. Czy wiesz, czy SPSS lub R uruchamiają dwie wymienione opcje?
Zdziwiony
1
Istnieje pakiet R, miktóry może ci pomóc.
shadowtalker
2
Możesz uruchomić Stan przez R (patrz RStan ).
Scortchi - Przywróć Monikę
Dodatkowe pakiety wielokrotnego imputacji dla R obejmują Ameliai mice.
Sycorax mówi Przywróć Monikę
0

Polecenie CATREG w statystykach obsługuje brakujące dane za pomocą LASSO. Możesz wykluczyć przypadki na liście lub przypisać procedurę Chociaż jej nazwa sugeruje, że dotyczy zmiennych jakościowych, możesz ustawić skalę na Numeryczną, aby obsłużyć ciągły przypadek.

JKP
źródło
to jest SAS PROC CATREG, tak sądzę?
Ben Bolker,
@JKP: Właściwie to natknąłem się na to polecenie. Biorąc jednak pod uwagę, że moja zmienna wyjściowa jest binarna, zakładam, że regresja logiczna byłaby bardziej odpowiednia niż regresja kategoryczna (CATREG) - mam rację? Ponadto opcje w CATREG wydają się raczej ograniczone - możesz wybierać między wykluczaniem przypadków, zastępowaniem brakujących wartości wartościami średnimi lub tworzeniem dodatkowej kategorii.
Zdziwiony