Jak sprawdzić, czy mój model regresji jest dobry

10

Jednym ze sposobów na znalezienie dokładności modelu regresji logistycznej za pomocą „glm” jest znalezienie wykresu AUC. Jak to samo sprawdzić dla modelu regresji znalezionego ze zmienną ciągłej odpowiedzi (rodzina = „gaussowski”)?

Jakie metody są stosowane, aby sprawdzić, jak dobrze mój model regresji pasuje do danych?

użytkownik 1140126
źródło
Możesz rzucić okiem na r-squaredtag i goodness-of-fittag.
Makro
2
Rodzina „Gaussa” z linkiem liniowym jest zwykłą regresją metodą najmniejszych kwadratów (OLS); metody sprawdzania takich ataków są prawdopodobnie omówione w tysiącach pytań na tej stronie (nie przesadzam).
whuber
Wątek jest istotny: stats.stackexchange.com/q/414349/121522
mkt - Przywróć Monikę

Odpowiedzi:

15

Na początek zasugerowałbym krótkie poszukiwanie „ diagnostyki modelu regresji liniowej ”. Ale oto niektóre, które sugeruję sprawdzić:

Upewnij się, że założenia zostały spełnione w sposób zadowalający

  • Użyj wykresu rozrzutu lub komponentu plus wykres resztkowy, aby zbadać liniową zależność między niezależnym predyktorem (predyktorami) a zmienną zależną.

  • Skomponuj wykres ze znormalizowaną wartością rezydualną w stosunku do przewidywanej i upewnij się, że nie ma skrajnego punktu o bardzo wysokiej wartości rezydualnej, a rozłożenie reszty jest w dużej mierze podobne wzdłuż przewidywanej wartości, a także rozłożone znacznie równomiernie powyżej i poniżej średniej zero.

  • Możesz także zmienić oś y na resztkową . Ten wykres pomaga zidentyfikować nierówną wariancję.2

  • Ponownie sprawdź projekt badania, aby upewnić się, że założenie niezależności jest uzasadnione.

  • Pobierz współczynnik inflacji wariancji (VIF) lub statystyki tolerancji, aby zbadać możliwą kolinearność.

Zbadaj potencjalne punkty wpływające

  • Sprawdź statystyki, takie jak Cook's D, DFits lub DF Beta, aby dowiedzieć się, czy określony punkt danych drastycznie zmienia wyniki regresji. Możesz znaleźć więcej tutaj .

Zbadać zmiany w i dostosowane statystykiR 2R2R2

  • Będąc stosunkiem sumy regresji kwadratów do całkowitej sumy kwadratów, może powiedzieć, ile% zmienności zmiennej zależnej jest wyjaśnionych przez model.R2
  • Skorygowane może być użyte do sprawdzenia, czy dodatkowa suma kwadratów spowodowana moim dodatkowym predyktorem (-ami) jest naprawdę warta stopni swobody, które wezmą.R2

Sprawdź niezbędną interakcję

  • Jeśli istnieje główny niezależny predyktor, zanim dokonasz interpretacji jego niezależnego efektu, sprawdź, czy działa on z innymi niezależnymi zmiennymi. Interakcja, jeśli nie zostanie dostosowana, może wpłynąć na twoje oszacowanie.

Zastosuj model do innego zestawu danych i sprawdź jego wydajność

  • Możesz także zastosować formułę regresji do innych osobnych danych i zobaczyć, jak dobrze przewiduje. Dobrym początkiem może być wykres podobny do wykresu rozrzutu i statystyki, takie jak różnica% od obserwowanej wartości.
Penguin_Knight
źródło
2
(+1): Bardzo kompletna odpowiedź! Jeśli używasz R, plot.lmmożesz podać większość wykresów diagnostycznych, o których wspomina Penguin_Knight.
Zach
4

Lubię weryfikować krzyżowo moje modele regresji, aby zobaczyć, jak dobrze uogólniają się na nowe dane. Moją wybraną metryką jest średni błąd bezwzględny w danych z walidacją krzyżową, ale średni błąd kwadratu średniego jest bardziej powszechny i ​​równie użyteczny.

Nie uważam R2 za dobrą miarę tego, jak dobrze twój model pasuje do danych treningowych, ponieważ prawie każda metryka błędów obliczona na podstawie danych treningowych będzie podatna na nadmierne dopasowanie. Jeśli musisz obliczyć R2 na zestawie treningowym, sugeruję użycie skorygowanego R2 .

Zach
źródło
1

Możesz użyć aby sprawdzić, jak dobrze twój model pasuje do danych treningowych. Dzięki temu dowiesz się, jaki procent wariancji danych jest wyjaśniony przez model.R2

Sugeruję użycie RMSE (średni błąd kwadratowy) swoich prognoz w zestawie testowym w porównaniu do rzeczywistej wartości. Jest to standardowa metoda zgłaszania błędu prognozowania zmiennej ciągłej.

BGreene
źródło
1
@Macro Ale pierwotnie pytanie dotyczyło metryki wydajności dla Regresji OLS z błędami gaussowskimi. Pochodzi z regresji logistycznej.
Erik
@Erik, dzięki, źle odczytałem. W każdym razie, jeśli chodzi o pierwszą część, nie sądzę, aby w izolacji można było użyć do „sprawdzenia, czy mój model regresji jest dobry”, do użycia słów OP. Twój model może niestety nie udać się skutecznie przewidzieć na ogromnej większości danych, mając jednocześnie wysoki . Zobacz tutaj przykład - w przykładzie (1) prawie nie ma mocy predykcyjnej, ale jest nadal wysoki. R 2 R 2R2R2R2
Makro
@Macro, zgadzam się z twoimi komentarzami, ale dążyłem do prostego wyjaśnienia, aby skierować PO we właściwym kierunku
BGreene
0

Jestem przyzwyczajony do sprawdzania formy funkcjonalnej mojego estymatora parametrów, wykreślając nieparametryczną (np. Regresję jądra) lub półparametryczną estymację i porównując ją z dopasowaną krzywą parametryczną. Myślę, że jest to pierwszy krok często szybszy (i być może bardziej wnikliwy) niż uwzględnienie warunków interakcji lub warunków wyższych zamówień.

Pakiet R np. Zapewnia wiele fajnych funkcji nieparametrycznych i półparametrycznych, a jego winieta jest dobrze napisana: http://cran.r-project.org/web/packages/np/vignettes/np.pdf

Arne Jonas Warnke
źródło