Interpretacja porządkowej regresji logistycznej

17

Uruchomiłem tę porządkową regresję logistyczną w R:

mtcars_ordinal <- polr(as.factor(carb) ~ mpg, mtcars)

Mam to podsumowanie modelu:

summary(mtcars_ordinal)

Re-fitting to get Hessian

Call:
polr(formula = as.factor(carb) ~ mpg, data = mtcars)

Coefficients:
      Value Std. Error t value
mpg -0.2335    0.06855  -3.406

Intercepts:
    Value   Std. Error t value
1|2 -6.4706  1.6443    -3.9352
2|3 -4.4158  1.3634    -3.2388
3|4 -3.8508  1.3087    -2.9425
4|6 -1.2829  1.3254    -0.9679
6|8 -0.5544  1.5018    -0.3692

Residual Deviance: 81.36633 
AIC: 93.36633 

Mogę uzyskać dzienne szanse współczynnika dla mpgtego:

exp(coef(mtcars_ordinal))
 mpg 
0.7917679 

I dzienne szanse progów takich jak:

exp(mtcars_ordinal$zeta)

       1|2         2|3         3|4         4|6         6|8 
0.001548286 0.012084834 0.021262900 0.277242397 0.574406353 

Czy ktoś mógłby mi powiedzieć, czy moja interpretacja tego modelu jest poprawna:

Wraz ze mpgwzrostem o jedną jednostkę szanse przejścia z kategorii 1 carbdo jednej z pozostałych 5 kategorii zmniejszają się o -0,23. Jeśli logarytmiczne szanse przekroczą próg 0,0015, przewidywana wartość dla samochodu będzie 2 kategorii carb. Jeśli dziennik szans przekroczy próg 0,0121, wówczas przewidywana wartość dla samochodu będzie kategorii 3 carbitd.

luciano
źródło

Odpowiedzi:

10

Masz całkowicie pomieszane kursy i kursy. Logarytmiczne szanse są współczynnikami; szanse są współczynnikami wykładniczymi. Poza tym interpretacja kursów jest odwrotna . (Dorastałem z ekonometrią myśląc o ograniczonych zmiennych zależnych, a interpretacja prawdopodobieństwa regresji porządkowej jest ... hmm ... zabawna dla mnie.) Więc twoje pierwsze stwierdzenie powinno brzmieć: „Gdy mpg wzrasta o jedną jednostkę, szanse obserwacji kategorii 1 w carb porównaniu z innymi 5 kategoriami wzrosła o 21%. ”

Jeśli chodzi o interpretację progów, naprawdę musisz wykreślić wszystkie przewidywane krzywe, aby móc powiedzieć, co to jest prognoza modalna:

mpg   <- seq(from=5, to=40, by=1)
xbeta <- mpg*(-0.2335)
logistic_cdf <- function(x) {
  return( 1/(1+exp(-x) ) )
}

p1 <- logistic_cdf( -6.4706 - xbeta )
p2 <- logistic_cdf( -4.4158 - xbeta ) - logistic_cdf( -6.4706 - xbeta )
p3 <- logistic_cdf( -3.8508 - xbeta ) - logistic_cdf( -4.4158 - xbeta )
p4 <- logistic_cdf( -1.2829 - xbeta ) - logistic_cdf( -3.8508 - xbeta )
p6 <- logistic_cdf( -0.5544 - xbeta ) - logistic_cdf( -1.2829 - xbeta )
p8 <- 1 - logistic_cdf( -0.5544 - xbeta )

plot(mpg, p1, type='l', ylab='Prob')
  lines(mpg, p2, col='red')
  lines(mpg, p3, col='blue')
  lines(mpg, p4, col='green')
  lines(mpg, p6, col='purple')
  lines(mpg, p8, col='brown')
  legend("topleft", lty=1, col=c("black", "red", "blue", "green", "purple", "brown"), 
         legend=c("carb 1", "carb 2", "carb 3", "carb 4", "carb 5", "carb 6"))

wprowadź opis zdjęcia tutaj

Niebieska krzywa dla 3. kategorii nigdy nie wzrosła, podobnie jak fioletowa krzywa dla 6. kategorii. Więc jeśli cokolwiek powiedziałbym, że dla wartości mpgpowyżej 27, najbardziej prawdopodobną kategorią jest 1; między 18 a 27, kategoria 2; od 4 do 18, kategoria 4; i poniżej 4, kategoria 8. (Zastanawiam się, co studiujesz - ciężarówki komercyjne? Większość samochodów osobowych w dzisiejszych czasach powinna mieć mpg> 25). Możesz spróbować dokładniej określić punkty przecięcia.

Zauważyłem również, że masz te dziwne kategorie: 1, 2, 3, 4, potem 6 (pomijanie 5), a następnie 8 (pomijanie 7). Jeśli z założenia brakuje 5 i 7, to w porządku. Jeśli są to prawidłowe kategorie, które carbpo prostu się nie mieszczą, nie jest to dobre.

StasK
źródło
Zwróć uwagę, jak użyłem „przejścia z kategorii 1 węglowodanów do jednej z pozostałych 5 kategorii”. Czy to źle? Staram się poradzić sobie z „Gdy mpg wzrasta o jedną jednostkę, szanse na zaobserwowanie kategorii 1 węglowodanów w porównaniu z innymi 5 kategoriami wzrosną o 21%”. Oznacza to, że jeśli mpg wzrośnie o około 5 jednostek, będzie 100% szansa na zaobserwowanie kategorii 1. Ale jeśli mpg wzrośnie o 5 jednostek, powinna istnieć większa szansa na obserwację kategorii 8, a nie kategorii 1.
luciano
3
Dodałem rysunek; Podejrzewałem, że dzięki temu Twoja odpowiedź będzie łatwiejsza do interpretacji - mam nadzieję, że Ci się spodoba. (BTW, dokumentacja dla ? Mtcars mówi, że dane są wynikami testów z wydania Motor Trends z 1974 roku .)
Gung - Przywróć Monikę
Czy ktoś mógłby odpowiedzieć na ostatnie pytanie Luciano? Uważam to za bardzo interesujące.
Erosennin
1
mpg2)3)13)4515
1
Jak polrDefiniuje model jak logit P(Y <= k | x) = zeta_k - etapowinien @ nie interpretacja zStask czytać, „jak mpg zwiększa się o jedną jednostkę, szanse obserwowania kategorii 1 carb vs. innych 5 kategoriach wzrośnie o 26% ( exp(-(-0.2335)) = 1.26).”
moremo
3

W modelu logitu uporządkowanego iloraz szans stanowi stosunek prawdopodobieństwa bycia w dowolnej kategorii poniżej określonego progu do prawdopodobieństwa bycia w kategorii powyżej tego samego progu (np. Z trzema kategoriami: prawdopodobieństwo bycia w kategorii A lub B vs C, a także prawdopodobieństwo zaliczenia do kategorii A vs. B lub C).

Prowadzi to do modelu logit P(Y <= k | x) = zeta_k - etaokreślonego w opisie polr(). Dlatego iloraz szans można budować dla różnych kategorii lub dla różnych regresorów. Ten ostatni, bardziej powszechny, porównuje szanse dla tych samych kategorii, ale dla różnych regresorów i jest równy

oreres(yzak|xza)oreres(ybk|xb) = exp(-(ηza-ηb)).

Iloraz szans dla różnych kategorii jest zdefiniowany jako

oreres(yjak|xja)oreres(yjam|xja) = exp(ζk-ζm),

przy czym stosunek jest niezależny od regresorów. Ta właściwość prowadzi do alternatywnego modelu proporcjonalnych kursów.

W tym prostym, ale może niezbyt intuicyjnym przykładzie można sformułować: Dla wzrostu regresora o jedną jednostkę mpgszanse na obserwację kategorii 1 w porównaniu z obserwacją dowolnej wyższej kategorii (lub szanse na obserwację dowolnej kategorii poniżej pewnego progu w porównaniu z obserwując dowolną kategorię powyżej tego samego progu) mnoży się przez 1,26 lub zwiększa o 26% ( exp(-(-0.233 - 0)) = 1.263). Jeśli chcesz sformułować iloraz szans dla różnych kategorii, możesz na przykład powiedzieć, że szanse bycia w kategorii 1 w stosunku do dowolnej kategorii powyżej w porównaniu do szansy bycia w kategorii 1 lub 2 w stosunku do dowolnej kategorii powyżej są równe exp((-6.470) - (-4.415)) = 0.128. Tym samym ta ostatnia interpretacja nie jest bardzo pomocna w tym konkretnym układzie. Przykładem ilorazu szans dla różnych kategorii może być szansa pójścia na studia w porównaniu do szansy pójścia do liceum.

Na koniec możesz być zainteresowany, o ile zmienna objaśniająca musi się zmienić, aby osiągnąć kolejną wyższą kategorię odpowiedzi. W tym celu porównujesz długość interwału(ζk-ζk-1)z dopasowanym współczynnikiem. Daje to pojęcie, jak duża musi być zmiana w twoim regresorze, aby przenieść odpowiedź z kategoriik do wyższej kategorii.

moremo
źródło