Wykorzystanie regresji logistycznej dla ciągłej zmiennej zależnej

9

Niedawno dostałem poprawkę do mojego artykułu badawczego i poniżej znajduje się komentarz recenzenta do mojego artykułu:

wyniki uzyskane z jednego modelu nie są do końca przekonujące, szczególnie regresja liniowa zwykle ma braki w radzeniu sobie z wartościami odstającymi. Sugeruję, aby autorzy spróbowali również regresji logistycznej i porównać odpowiednie wyniki z bieżącymi wynikami. Gdyby uzyskać podobne obserwacje, wyniki byłyby bardziej solidne.

Czy komentarz recenzenta jest prawidłowy? Czy regresja logistyczna jest lepsza niż wielokrotna regresja liniowa?

Problem polega na tym, że moja zmienna zależna nie jest kategoryczna, to zmienna skalowana. Co mogę teraz zrobić? Jaką inną metodę regresji zalecasz do oceny mojego modelu?

Wynik jest zmienną zależną w poniższej tabeli. Czas trwania, częstotliwość, kadencja i ostatni wynik to zmienne niezależne.

wprowadź opis zdjęcia tutaj

Wyodrębniłem te zmienne z witryny i postawiłem hipotezę, że te zmienne niezależne mają znaczący wpływ na wynik . Dlatego reprezentuję następujące modele:

wprowadź opis zdjęcia tutaj


Nawiasem mówiąc, wartość R podniesiona do kwadratu dla tego modelu liniowego wynosi 0,316! Recenzent skomentował również tę wartość:

wyniki nie są przekonujące, ponieważ nie ma wskaźnika jakości wyuczonych współczynników. Mały R ^ 2 nie może oznaczać dobrej wydajności, ponieważ model może być przeregulowany.

Czy 0,316 jest bardzo niskie dla R do kwadratu? W poprzednich artykułach bardzo często widziałem podobne wartości.

wprowadź opis zdjęcia tutaj

PSS
źródło
To drobna kwestia, ale zrozumienie sposobu obliczania wyniku może być pomocne w udzieleniu dobrych odpowiedzi. Czy możesz edytować swoje pytanie, aby nas o tym poinformować?
whuber
Ja edytuję swój post. moja wiedza statystyczna nie jest dobra. Byłbym bardzo wdzięczny za pomoc.
PSS
1
czy nie ma pojęcia o uruchomieniu regresji logistycznej na ciągłej zmiennej zależnej ???
PSS
1
Czy wynik musi mieć wartość od 0 do 100? W takim przypadku możesz podzielić przez 100 i wykonać regresję logistyczną dla zmiennej wynikowej, która zawsze wynosiłaby od 0 do 1 ... czuje się trochę dziwnie, robiąc coś w ten sposób, i nie jestem pewien, czy to rozsądne, ale może właśnie to sugeruje recenzent?
Sam Livingstone,
2
Nie, skalowanie do 0-1 lub odrzucanie cennych informacji i kategoryzowanie wyniku wcale nie są dobrym rozwiązaniem.
Frank Harrell,

Odpowiedzi:

7

Model regresji logistycznej proporcjonalnej szans porządkowych powinien dobrze działać w przypadku tego problemu. Aby uzyskać wydajną implementację, która może pozwolić na tysiące unikalnych wartości , zobacz funkcję w pakiecie R.Yormrms

Frank Harrell
źródło
Zainstalowałem R i wszystkie niezbędne pakiety. czy mógłbyś podać przykład funkcji orm? Nie znalazłem, szukając. W moim modelu regresji, jaki powinien być kod?
PSS
1
Warto poświęcić czas na studiowanie dokumentacji. Zobacz materiały informacyjne pod biostat.mc. vanderbilt.edu/CourseBios330, aby uzyskać szczegółowe studium przypadku z kodem - rozdział dotyczący modeli regresji dla ciągłościY.
Frank Harrell,
1

można także wypróbować uporządkowane modele probit / logit, przypisując wartości 1, 2,3 i 4 do wyników odpowiednio w 1., ....., 4. percentylu.

użytkownik36853
źródło
Którą zmienną proponujesz zredukować do najniższych czterech percentyli (na 100)? Co by to osiągnęło i dlaczego?
whuber
-1

Możesz dychotomizować (przekonwertować na zmienną binarną) wynik. Jeśli wynik wynosi od 0 do 100, możesz przypisać 0 do dowolnego wyniku poniżej 50, a w przeciwnym razie 1. Nigdy wcześniej nie słyszałem, że jest to dobry sposób radzenia sobie z wartościami odstającymi. Może to po prostu ukryć wartości odstające, ponieważ niemożliwe będzie rozróżnienie bardzo wysokich lub niskich wyników. To nie ma dla mnie większego sensu, ale możesz spróbować.

Co ważniejsze, dlaczego logujesz przekształcać wszystkie zmienne towarzyszące i zmienną odpowiedzi? Wpłynie to na twójβ szacunki i twoje R2) (Myślę).

Również recenzent mówi trochę R2)sugeruje przeregulowanie? Myślałam, że nadmierne dopasowanie jest wtedy, gdy jesteśR2)jest wysoki, ale Twój model słabo radzi sobie z nowymi danymi (tj. przepełnia twoje dane, ale nie uogólnia na nowe dane). Nadmierne dopasowanie zdarza się, gdy masz niewiele obserwacji, które próbujesz przewidzieć na podstawie dużej liczby parametrów. To właśnie robisz w swoim Modelu 2, ponieważ masz 8 obserwacji, które próbujesz wyjaśnić za pomocą 7 parametrów.

Nie zamierzam udawać, że wiem dużo o statystykach, ale wydaje mi się, na podstawie jego komentarzy, że ten recenzent może wiedzieć jeszcze mniej.

Pontikos
źródło
Bardzo dziękuję za twoją odpowiedź. Ponieważ wszystkie zmienne są wypaczone, więc mam je naturalnie przekształcone w log. Czy mam rację? Dziękujemy za wyjaśnienie, co oznacza „nadmierne dopasowanie”! Właściwie nie wiedziałem, co oznacza nadmierne dopasowanie. Teraz mogę odpowiedzieć recenzentowi i redaktorowi. Nawiasem mówiąc, jakie jest twoje zalecenie, aby moja ocena była bardziej rzetelna? jak myślisz, która metoda regresji jest lepsza?
PSS
6
Nie dychotomizuj YZ jakiegokolwiek powodu.
Frank Harrell,
Zgadzam się z @FrankHarrell, że wybranie arbitralnego progu dychotomizacji danych nie ma żadnego sensu. Czy to twój cały zestaw danych? Jeśli masz tak mało obserwacji, Twoje dane nigdy nie będą wyglądały normalnie! Musisz także zrozumieć rodzaj danych, z którymi masz do czynienia. Jaki zakres wartości mogą przyjąć, czy rozsądnie jest założyć, że powinny one być normalnie rozdzielone? Przyjrzę się sugestii Franka, aby użyć porządkowej regresji logistycznej, ale domyślam się, że używa ona kolejności wyników zamiast ich wartości w regresji.
pontikos
@PotentialScientist, nie ma znaczenia, czy twoje rozkłady są wypaczone. W regresji OLS (typowej) liczy się tylko rozkład reszt, zobacz tutaj: co-jeśli-reszt-są-normalnie rozmieszczone-ale-y-nie-nie . Możesz także przeczytać to: interpretacja log-transformatora-predyktora , aby zrozumieć, co stało się z twoim modelem w wyniku transformacji twoich predyktorów.
gung - Przywróć Monikę
@PotentialScientist, jak się masz? Jeśli edytujesz swoje pytanie, aby podać dane w formacie CSV, mogę spróbować uruchomić funkcję orm zaproponowaną przez Prof Harrell i możemy przeanalizować dane wyjściowe. Warto nauczyć się podstaw języka R (jak czytać w pliku i uruchamiać regresję).
pontikos
-1

Możliwe jest zastosowanie regresji logistycznej nawet do ciągłej zmiennej zależnej. Ma to sens, jeśli chcesz się upewnić, że przewidywane scorejest zawsze w granicach [0, 100](na podstawie twoich zrzutów ekranu sądzę, że jest w skali 100-punktowej).

Aby to osiągnąć, po prostu podziel swój wynik przez 100 i uruchom regresję logistyczną za pomocą tej [0,1]zmiennej docelowej, tak jak w tym pytaniu - możesz to zrobić na przykład za Rpomocą

glm(y~x, family="binomial", data=your.dataframe)

Nie wiem, czy to podejście pomaga w przypadku wartości odstających - zależy to od oczekiwanych wartości odstających. Ale czasem poprawia to dopasowanie (nawetR2), jeśli zmienna zależna ma naturalne dolne i górne granice.

Co do drugiego pytania R2)0,3może być najlepszym, co możesz wycisnąć z danych, bez nadmiernego dopasowania. Jeśli zbudujesz swój model w celu wnioskowania, niskiR2)jest całkowicie w porządku, o ile ważne dla Ciebie współczynniki są znaczące. Jeśli chcesz sprawdzić, czy model jest przepasowany, możesz to sprawdzićR2) na zestawie testowym , a nawet przeprowadzić weryfikację krzyżową.

David Dale
źródło