Jak interpretować wynik glm w r (z przykładem)
Funkcji glm() w R można użyć do dopasowania uogólnionych modeli liniowych.
Ta funkcja wykorzystuje następującą składnię:
glm(formuła, rodzina=Gaussian, dane, …)
Złoto:
- formuła: Formuła modelu liniowego (np. y ~ x1 + x2)
- rodzina: rodzina statystyczna, której należy użyć w celu dopasowania modelu. Wartość domyślna to Gaussian, ale inne opcje obejmują między innymi Dwumian, Gamma i Poissona.
- dane: nazwa bloku danych zawierającego dane
W praktyce funkcja ta jest najczęściej wykorzystywana do dopasowywania modeli regresji logistycznej poprzez określenie rodziny „dwumianowej”.
Poniższy przykład pokazuje, jak interpretować dane wyjściowe glm w R dla modelu regresji logistycznej.
Przykład: Jak interpretować dane wyjściowe glm w R
W tym przykładzie użyjemy zestawu danych mtcars wbudowanego w R:
#view first six rows of mtcars dataset
head(mtcars)
mpg cyl disp hp drat wt qsec vs am gear carb
Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4
Mazda RX4 Wag 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4
Datsun 710 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1
Hornet 4 Drive 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1
Hornet Sportabout 18.7 8 360 175 3.15 3.440 17.02 0 0 3 2
Valiant 18.1 6 225 105 2.76 3,460 20.22 1 0 3 1
Użyjemy zmiennych disp i hp , aby przewidzieć prawdopodobieństwo, że dany samochód przyjmie wartość 1 dla zmiennej am .
Poniższy kod pokazuje, jak użyć funkcji glm() , aby dopasować ten model regresji logistycznej:
#fit logistic regression model model <- glm(am ~ disp + hp, data=mtcars, family=binomial) #view model summary summary(model) Call: glm(formula = am ~ disp + hp, family = binomial, data = mtcars) Deviance Residuals: Min 1Q Median 3Q Max -1.9665 -0.3090 -0.0017 0.3934 1.3682 Coefficients: Estimate Std. Error z value Pr(>|z|) (Intercept) 1.40342 1.36757 1.026 0.3048 available -0.09518 0.04800 -1.983 0.0474 * hp 0.12170 0.06777 1.796 0.0725 . --- Significant. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 (Dispersion parameter for binomial family taken to be 1) Null deviance: 43,230 on 31 degrees of freedom Residual deviance: 16,713 on 29 degrees of freedom AIC: 22,713 Number of Fisher Scoring iterations: 8
Oto jak zinterpretować każdy element wyniku:
Współczynniki i wartości P
Oszacowanie współczynnika w wyniku wskazuje średnią zmianę logarytmu wiarygodności zmiennej odpowiedzi związaną ze wzrostem o jedną jednostkę każdej zmiennej predykcyjnej.
Przykładowo wzrost o jedną jednostkę zmiennej predykcyjnej disp jest powiązany ze średnią zmianą logarytmiczną prawdopodobieństwa, że zmienna odpowiedzi przyjmie wartość 1 o -0,09518. Oznacza to, że wyższe wartości disp wiążą się z mniejszym prawdopodobieństwem . zmiennej przyjmuję wartość 1.
Błąd standardowy daje nam wyobrażenie o zmienności związanej z oszacowaniem współczynnika. Następnie dzielimy oszacowanie współczynnika przez błąd standardowy, aby otrzymać wartość az.
Na przykład wartość z zmiennej predykcyjnej disp jest obliczana jako -.09518 / .048 = -1,983.
Wartość p Pr(>|z|) informuje nas o prawdopodobieństwie związanym z konkretną wartością z. Zasadniczo mówi nam to, jak dobrze każda zmienna predykcyjna jest w stanie przewidzieć wartość zmiennej odpowiedzi w modelu.
Na przykład wartość p powiązana z wartością z zmiennej disp wynosi 0,0474. Ponieważ wartość ta jest mniejsza niż 0,05, powiedzielibyśmy, że disp jest statystycznie istotną zmienną predykcyjną w modelu.
W zależności od preferencji możesz zdecydować się na użycie poziomu istotności 0,01, 0,05 lub 0,10 w celu ustalenia, czy każda zmienna predykcyjna jest istotna statystycznie.
Odchylenie zerowe i resztkowe
Zerowa odchyłka na wyjściu mówi nam, jak dobrze zmienną odpowiedzi można przewidzieć za pomocą modelu zawierającego tylko oryginalny składnik.
Odchylenie resztkowe mówi nam, jak dobrze zmienną odpowiedzi można przewidzieć za pomocą konkretnego modelu, do którego dopasowujemy p zmiennych predykcyjnych. Im niższa wartość, tym lepiej model jest w stanie przewidzieć wartość zmiennej odpowiedzi.
Aby określić, czy model jest „przydatny”, możemy obliczyć statystykę Chi-kwadrat w następujący sposób:
X 2 = Odchylenie zerowe – Odchylenie resztkowe
z p stopniami swobody.
Następnie możemy znaleźć wartość p powiązaną z tą statystyką chi-kwadrat. Im niższa wartość p, tym lepiej model jest w stanie dopasować zbiór danych w porównaniu z modelem zawierającym tylko oryginalny termin.
Na przykład w naszym modelu regresji możemy zaobserwować na wyjściu następujące wartości dla odchylenia zerowego i resztkowego:
- Odchylenie zerowe : 43,23 przy df = 31
- Odchylenie resztkowe : 16,713 przy df = 29
Możemy użyć tych wartości do obliczenia statystyki X 2 modelu:
- X 2 = Odchylenie zerowe – Odchylenie resztkowe
- X2 = 43,23 – 16,713
- X2 = 26517
Istnieje p = 2 stopnie swobody zmiennych predykcyjnych.
Możemy użyć kalkulatora wartości chi-kwadrat na P, aby stwierdzić, że wartość X 2 wynosząca 26,517 z 2 stopniami swobody ma wartość p wynoszącą 0,000002.
Ponieważ ta wartość p jest znacznie niższa niż 0,05, można stwierdzić, że model jest bardzo przydatny.
AIC
Kryterium informacyjne Akaike ( AIC ) jest miarą stosowaną do porównywania dopasowania różnych modeli regresji. Im niższa wartość, tym lepiej model regresji jest w stanie dopasować dane.
Oblicza się go w następujący sposób:
AIC = 2K – 2 ln (L)
Złoto:
- K: Liczba parametrów modelu.
- ln (L) : Logarytm wiarygodności modelu. To mówi nam, jak prawdopodobne jest, że model opiera się na danych.
Rzeczywista wartość AIC jest bez znaczenia.
Jeśli jednak dopasujesz wiele modeli regresji, możesz porównać wartość AIC każdego modelu. Model z najniższym AIC zapewnia najlepsze dopasowanie.
Powiązane: Co uważa się za dobrą wartość AIC?
Dodatkowe zasoby
Poniższe tutoriale dostarczają dodatkowych informacji na temat używania funkcji glm() w R:
Różnica między glm i lm w R
Jak korzystać z funkcji przewidywania z glm w R
Poniższe samouczki wyjaśniają, jak radzić sobie z typowymi błędami podczas korzystania z funkcji glm() :
Jak obsługiwać R Ostrzeżenie: glm.fit: algorytm nie jest zbieżny
Jak sobie radzić z: glm.fit: wystąpiło prawdopodobieństwo skorygowane numerycznie 0 lub 1