Rozwiązanie w przypadku naruszenia założenia liniowości w modelu regresji logistycznej? (prawdopodobnie w R)

Jan 08 2021

Mam problem z regresją logistyczną, którą ustawiłem i mam nadzieję, że ktoś może mi pomóc. (Pracuję z R)

Moje dane są oparte na wartościach godzinowych. Zmienna zależna jest zmienną dychotomiczną (1 lub 0). Model zawiera 30 metrycznych zmiennych niezależnych (9 z nich ma zarówno pozytywne, jak i negatywne obserwacje).

Teraz mój problem: jednym z założeń regresji logistycznej jest to, że istnieje liniowa zależność między logitem wyniku a każdą niezależną zmienną metryczną. To założenie jest naruszane we wszystkich moich modelach. (Wszystkie inne założenia regresji logistycznej nie są naruszane).

Aby to sprawdzić, kilkakrotnie zastosowałem test Boxa-Tidwella. Raz ze wszystkimi zmiennymi w regresji logistycznej, gdzie cofnąłem pierwotną zmienną zależną do zmiennych niezależnych i iloczynu zmiennych niezależnych z odpowiednią transformacją logarytmiczną zmiennych niezależnych.

(y ~ x1 + (x1*ln(x1)) + x2 + (x2*ln(x2)) + ... , familiy = binomial("logit"))

Ponadto przetestowałem założenie liniowości z funkcją R boxTidwell(model$linear.predictors ~ independent variable)dla każdej zmiennej osobno. Dla prawie wszystkich zmiennych test wykazał istotność, a tym samym naruszenie założenia modelu. Nie pomogło też kilka przekształceń zmiennych niezależnych. Dodatkowo moje modele nie przeszły testu Hosmer-Lemeshow.

Wiem, że mogę obejść to założenie, jeśli przekształcę metryczne zmienne niezależne w zmienne kategorialne. Chciałbym jednak tego uniknąć. Przeczytałem też, że mogę rozwiązać problem z metodologią splajnów. Niestety nie mogłem znaleźć żadnej literatury wyjaśniającej to. Zwłaszcza w przypadku szacowania modelu logistycznego.

Teraz chciałbym wiedzieć, czy ktoś może mi tutaj uprzejmie pomóc.

Czy naruszenie założenia oznacza, że ​​nie wolno mi korzystać z tego modelu i przez to wyniki mogą być błędne? (Nie chcę używać tego modelu jako modelu predykcyjnego lub prognostycznego, ale tylko do wyjaśniania / opisywania w przedziale czasowym danych).

Jak zastosować metodologię splajnów do rozwiązania mojego problemu? Jak interpretuję wyniki? (Bardzo by mi pomogło, gdyby te wyjaśnienia były poparte kodami R.)

Odpowiedzi

1 kjetilbhalvorsen Jan 10 2021 at 12:09

Kilka punktów:

  • Test Hosmera-Lemeshowa jest uważany za przestarzały: Hosmer-Lemeshow vs AIC dla regresji logistycznej

  • Zamiast testować założenie liniowości, użyj bezpośrednio splajnów regresji, więc nie potrzebujesz tego założenia. Na tej stronie jest wiele przykładów (zauważ, że używanie splajnów w regresji logistycznej działa tak samo, jak w innych modelach regresji). Jak działają splajny, gdy są używane po prawej stronie równania? , Jak znaleźć wartość p płynnej regresji splajnu / lessu?

  • Alternatywą są gam (uogólnione modele addytywne), które mogą wybrać stopień wygładzenia (na przykład liczbę węzłów splajnu) jako część dopasowania. Zobacz Przekształcanie zmiennych dla regresji wielokrotnej w R , Dlaczego moje splajny nie stają się bardziej elastyczne po zmianie parametrów w R mgcv?