Interpretacja wyniku R dla regresji dwumianowej


38

Jestem całkiem nowy z dwumianowymi testami danych, ale musiałem to zrobić, a teraz nie jestem pewien, jak interpretować wynik. Zmienna y, zmienna odpowiedzi, jest dwumianowa, a czynniki objaśniające są ciągłe. Oto co otrzymałem podsumowując wynik:

glm(formula = leaves.presence ~ Area, family = binomial, data = n)

Deviance Residuals: 
Min      1Q  Median      3Q     Max  
-1.213  -1.044  -1.023   1.312   1.344  

Coefficients:
                        Estimate Std. Error z value Pr(>|z|) 
(Intercept)           -0.3877697  0.0282178 -13.742  < 2e-16 ***
leaves.presence        0.0008166  0.0002472   3.303 0.000956 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1 
(Dispersion parameter for binomial family taken to be 1)

Null deviance: 16662  on 12237  degrees of freedom
Residual deviance: 16651  on 12236  degrees of freedom
(314 observations deleted due to missingness)
AIC: 16655
Number of Fisher Scoring iterations: 4

Jest wiele rzeczy, których nie rozumiem, co to tak naprawdę mówi:

                        Estimate Std. Error z value Pr(>|z|) 
(Intercept)           -0.3877697  0.0282178 -13.742  < 2e-16 ***
leaves.presence        0.0008166  0.0002472   3.303 0.000956 ***

A co oznacza AIC i liczba iteracji Fishera?

> fit
Call:  glm(formula = Lövförekomst ~ Areal, family = binomial, data = n)

Coefficients:
(Intercept)        Areal  
-0.3877697    0.0008166  

Degrees of Freedom: 12237 Total (i.e. Null);  12236 Residual
(314 observations deleted due to missingness)
Null Deviance:      16660 
Residual Deviance: 16650        AIC: 16650

A oto co to znaczy:

Coefficients:
(Intercept)        Areal  
-0.3877697    0.0008166 

6
Ponieważ twoje pytanie jest bardzo ogólne - „jak interpretować regresję dwumianową?” - Sugerowałbym wybranie tekstu wprowadzającego na ten temat. Agresti Wprowadzenie do analizy danych kategorialnych jest bardzo przystępne.
Sycorax mówi Przywróć Monikę

2
To może być zbyt ogólne, aby odpowiedzieć tutaj; jak powiedział @ user777, konsultacja z dobrym tekstem może być w porządku. Agresti jest dobry, zgadzam się. Hosmer & Lemeshow jest również dobry. Jeśli chcesz czegoś krótkiego i bezpłatnego (alert z wtyczką), zobacz moje wprowadzenie do regresji logistycznej, ale może to być zbyt podstawowe dla twoich potrzeb.
Peter Flom - Przywróć Monikę

Ok, dziękuję za szybkie odpowiedzi, spróbuję Agresti i zobaczę, czy to pomoże :)
user40116

4
Nie sądzę, aby to pytanie było zbyt ogólne, aby można było na nie odpowiedzieć. Wydaje mi się, że jest to zasadniczo wersja regresji logistycznej interpretacji-rs-lm-output , która jest konsekwentnie rozważana na ten temat.
gung - Przywróć Monikę

1
Jestem z @gung na tym, jeśli pytanie dotyczy interpretacji tego, co R. tryskał na ekran. Gdzie jest dwuznaczność, co rozumie się przez „podły”? Jeśli OP z przyjemnością dowie się, że współczynniki są szacowanymi wartościami modelu z wartościami na skali logarytmicznych szans, to to Q jest OK. Jeśli PO nie jest z tego zadowolony i wymaga wyjaśnienia ich znaczenia w odniesieniu do danych, modelu itp., Byłoby to zbyt szerokie pytanie, biorąc pod uwagę, że jest to tylko jedno z kilku zadanych pytań.
Przywróć Monikę - G. Simpson

Odpowiedzi:


74

To, co zrobiłeś, to regresja logistyczna . Można to zrobić w zasadzie w każdym oprogramowaniu statystycznym, a wyniki będą podobne (przynajmniej pod względem treści, choć prezentacja może się różnić). Na stronie pomocy UCLA dotyczącej doskonałych statystyk znajduje się przewodnik po regresji logistycznej z R. Jeśli nie jesteś tego zaznajomiony, moja odpowiedź tutaj: różnica między modelami logit i probit może pomóc ci zrozumieć, o czym jest LR (chociaż jest napisany w innym kontekście).

Wygląda na to, że masz dwa modele, a ja skupię się przede wszystkim na jednym. Ponadto, wydaje się być błąd w kopiowaniu i wklejaniu modelu lub wyjścia, więc będę wymieniać leaves.presencez Areana wyjściu, aby to zgodne z modelem. Oto model, o którym mówię (zauważ, że dodałem (link="logit"), co sugeruje family=binomial; patrz ? Glm and ? Family ):

glm(formula = leaves.presence ~ Area, family = binomial(link="logit"), data = n)

Przejdźmy przez ten wynik (zauważ, że zmieniłem nazwę zmiennej w drugim wierszu poniżej Coefficients):

Deviance Residuals: 
   Min      1Q  Median      3Q     Max  
-1.213  -1.044  -1.023   1.312   1.344  

Coefficients:
                        Estimate Std. Error z value Pr(>|z|) 
(Intercept)           -0.3877697  0.0282178 -13.742  < 2e-16 ***
Area                   0.0008166  0.0002472   3.303 0.000956 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1 
(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 16662  on 12237  degrees of freedom
Residual deviance: 16651  on 12236  degrees of freedom
(314 observations deleted due to missingness)
AIC: 16655
Number of Fisher Scoring iterations: 4

Tak jak istnieją reszty w regresji liniowej (OLS), mogą istnieć reszty w regresji logistycznej i innych uogólnionych modelach liniowych. Są jednak bardziej skomplikowane, gdy zmienna odpowiedzi nie jest ciągła. GLiM mogą mieć pięć różnych typów reszt, ale to, co znajduje się na liście standardowych to reszty odchyleń. ( Wartości dewiacji i dewiacji są bardziej zaawansowane, więc powiem krótko; jeśli ta dyskusja jest nieco trudna do naśladowania, nie martwiłbym się zbytnio, możesz ją pominąć):

Deviance Residuals: 
   Min      1Q  Median      3Q     Max  
-1.213  -1.044  -1.023   1.312   1.344  

Dla każdego punktu danych użytego w modelu obliczane jest odchylenie związane z tym punktem. Po wykonaniu tego dla każdego punktu masz zestaw takich reszt, a powyższy wynik jest po prostu nieparametrycznym opisem ich rozkładu.


Następnie widzimy informacje o zmiennych towarzyszących, którymi ludzie są zwykle zainteresowani:

Coefficients:
                        Estimate Std. Error z value Pr(>|z|) 
(Intercept)           -0.3877697  0.0282178 -13.742  < 2e-16 ***
Area                   0.0008166  0.0002472   3.303 0.000956 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1 

AreaEstimateleaves.presenceArealeaves.presenceArea0.) W następnej kolumnie widzimy błąd standardowy związany z tymi szacunkami. Oznacza to, że są one szacunkiem, o ile średnio te szacunki odskoczyłyby, gdyby badanie zostało ponownie przeprowadzone identycznie, ale z nowymi danymi w kółko. (Jeśli nie znasz się na idei błędu standardowego, może ci pomóc przeczytać moją odpowiedź tutaj: jak interpretować współczynniki błędów standardowych w regresji liniowej .) Gdybyśmy podzielili oszacowanie przez błąd standardowy, uzyskać iloraz, który zakłada się, że jest normalnie dystrybuowany z wystarczająco dużymi próbkami Ta wartość jest wymieniona w sekcji z value. Poniżej Pr(>|z|)wymieniono dwustronne wartości pktóre odpowiadają tym wartościom Z w standardowym rozkładzie normalnym. Wreszcie istnieją tradycyjne gwiazdy znaczenia (i zwróć uwagę na klucz pod tabelą współczynników).


DispersionLinia jest drukowana domyślnie z Glims, ale nie dodaje wiele informacji tutaj (jest to ważniejsze z modelami zliczania, EG). Możemy to zignorować.


Na koniec otrzymujemy informacje o modelu i jego dobrym dopasowaniu:

    Null deviance: 16662  on 12237  degrees of freedom
Residual deviance: 16651  on 12236  degrees of freedom
(314 observations deleted due to missingness)
AIC: 16655
Number of Fisher Scoring iterations: 4

W linii missingnessczęsto brakuje. Pojawia się tu, bo miał 314 obserwacji, dla których albo leaves.presence, Arealub obie brakowało. Te częściowe obserwacje nie zostały wykorzystane do dopasowania modelu.

Residual devianceNull devianceEstimateAreafa

AIC jest inna miara dobroci dopasowania, która bierze pod uwagę zdolność dopasowania modelu do danych. Jest to bardzo przydatne, gdy porównuje się dwa modele, w których można lepiej pasować, ale być może tylko dlatego, że jest bardziej elastyczny, a zatem lepiej pasuje do dowolnych danych. Ponieważ masz tylko jeden model, jest to mało pouczające.

Odniesienie Fisher scoring iterationsdotyczy sposobu oszacowania modelu. Model liniowy można dopasować, rozwiązując równania w postaci zamkniętej. Niestety nie można tego zrobić w przypadku większości GLiM, w tym regresji logistycznej. Zamiast tego stosuje się podejście iteracyjne ( domyślnie algorytm Newtona-Raphsona ). Luźno model jest dopasowany w oparciu o domysły na temat szacunków. Algorytm następnie rozgląda się, aby sprawdzić, czy dopasowanie poprawiłoby się przy użyciu różnych szacunków. Jeśli tak, przesuwa się w tym kierunku (powiedzmy, używając wyższej wartości do oszacowania), a następnie ponownie pasuje do modelu. Algorytm zatrzymuje się, gdy nie widzi, że ponowne poruszenie przyniosłoby znacznie dodatkową poprawę. Ten wiersz informuje o liczbie iteracji przed zatrzymaniem procesu i wyświetleniu wyników.



W odniesieniu do drugiego modelu i listy wyników, jest to tylko inny sposób wyświetlania wyników. W szczególności te

Coefficients:
(Intercept)       Areal  
-0.3877697    0.0008166

są tego samego rodzaju szacunkami omówionymi powyżej (aczkolwiek z innego modelu i przedstawionymi z mniejszą ilością informacji uzupełniających).


1

Połączenie : jest to tylko wywołanie funkcji. Będzie to dokładnie ten sam kod, który wpisałeś w R. Może to być pomocne w sprawdzeniu, czy napisałeś jakieś literówki.

(Odchylenie) Resztki: Możesz je prawie zignorować dla regresji logistycznej. W przypadku regresji Poissona lub regresji liniowej chcesz, aby były one mniej więcej normalnie rozmieszczone (to jest to samo, co sprawdzają dwa pierwsze wykresy diagnostyczne). Możesz to sprawdzić, sprawdzając, czy wartości bezwzględne 1Q i 3Q są blisko siebie (ish) i czy mediana jest bliska 0. Średnia nie jest wyświetlana, ponieważ zawsze wynosi 0. Jeśli którykolwiek z nich jest super wyłączony, to prawdopodobnie masz dziwne przekrzywienie w swoich danych. (Będzie to również widoczne na wykresach diagnostycznych!)

Współczynniki : jest to mięso produkcji.

  • Przechwytywanie : W przypadku regresji Poissona i liniowej jest to przewidywany wynik, gdy wszystkie nasze dane wejściowe wynoszą 0. W przypadku regresji logistycznej wartość ta będzie dalej od 0, tym większa różnica między liczbą obserwacji w każdej klasie. Błąd standardowy reprezentuje jak niepewni jesteśmy tego (im niższy, tym lepszy). W tym przypadku, ponieważ nasz punkt przecięcia jest daleki od zera, a nasz błąd standardowy jest znacznie mniejszy niż punkt przecięcia, możemy być całkiem pewni, że jedna z naszych klas (zawiodła lub nie zawiodła) ma o wiele więcej obserwacji. (W tym przypadku „nie zawiodło”, na szczęście!)

  • Różne dane wejściowe (każde wejście będzie w innym wierszu): To oszacowanie reprezentuje, o ile naszym zdaniem dane wyjściowe zmienią się za każdym razem, gdy zwiększamy ten wkład o 1. Im większa wartość szacunkowa, tym większy wpływ tej zmiennej wejściowej na wynik. Standardowym błędem jest to, jak jesteśmy tego pewni. Zwykle możemy być całkiem pewni, że dane wejściowe mają charakter informacyjny, ponieważ błąd standardowy wynosi 1/10 wartości szacunkowej. W tym przypadku jesteśmy prawie pewni, że przechwycenie jest ważne.

  • Signif. Kody : Jest to klucz do znaczenia każdego: wejścia i przechwytywania. Są one poprawne tylko, jeśli kiedykolwiek dopasujesz tylko jeden model do swoich danych. (Innymi słowy, świetnie nadają się do danych eksperymentalnych, jeśli od samego początku interesują Cię zmienne, a nie są tak przydatne do analizy danych lub wyboru zmiennych).

    Zaraz, dlaczego nie możemy użyć istotności statystycznej? Możesz, po prostu ogólnie nie polecałbym tego. W dziedzinie analizy danych często wybierasz najlepszy model przy użyciu wielu modeli przy użyciu tego samego zestawu danych. Jeśli kiedykolwiek przeprowadzisz więcej niż jeden test istotności statystycznej dla tego samego zestawu danych, musisz dostosować swoją wartość p, aby to zrekompensować. Możesz pomyśleć o tym w ten sposób: jeśli zdecydujesz, że zaakceptujesz wyniki poniżej p = 0,05, zasadniczo mówisz, że nie masz nic przeciwko myleniu się co dwadzieścia razy. Jeśli jednak wykonasz pięć testów i dla każdego z nich istnieje 1/20 szansa, że ​​się pomylisz, masz teraz 1/4 szansy, że się pomylisz podczas przynajmniej jednego z tych testów ... ale ty nie wiem który. Możesz to naprawić (mnożąc wartość p, którą zaakceptujesz jako znaczącą przez liczbę testów, które wykonasz ), ale w praktyce uważam, że ogólnie łatwiej jest uniknąć używania wartości p w ogóle.

(Parametr dyspersji dla rodziny dwumianowej przyjęty jako 1): Zobaczysz to tylko dla regresji Poissona i dwumianowej (logistycznej). To tylko informuje, że dodano dodatkowy parametr skalowania, aby pomóc dopasować model. Możesz to zignorować.

Odchylenie zerowe: Odchylenie zerowe mówi nam, jak dobrze możemy przewidzieć nasze wyniki tylko przy użyciu przechwytywania. Mniejszy jest lepszy.

Odchylenie resztkowe: Odchylenie resztkowe mówi nam, jak dobrze możemy przewidzieć naszą moc wyjściową za pomocą przechwytywania i naszych danych wejściowych. Mniejszy jest lepszy. Im większa różnica między odchyleniem zerowym a odchyleniem resztkowym, tym bardziej pomocne były nasze zmienne wejściowe do przewidywania zmiennej wyjściowej.

AIC: AIC jest „właściwym kryterium informacyjnym” i jest oszacowaniem tego, jak dobrze twój model opisuje wzorce w twoich danych. Służy głównie do porównywania modeli przeszkolonych w tym samym zestawie danych. Jeśli musisz wybierać między modelami, model z niższym AIC wykonuje lepszą pracę, opisując wariancję danych.

Liczba iteracji Fishera: To tylko miara tego, ile czasu zajęło ci dopasowanie modelu. Możesz to bezpiecznie zignorować.

Sugeruję to toturial, aby dowiedzieć się więcej. https://www.kaggle.com/rtatman/regression-challenge-day-5

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.