Mamy dane z wynikiem binarnym i niektóre zmienne towarzyszące. Użyłem regresji logistycznej do modelowania danych. Po prostu prosta analiza, nic nadzwyczajnego. Ostatecznym wyjściem ma być krzywa zależności odpowiedzi od dawki, na której pokazujemy, jak zmienia się prawdopodobieństwo dla konkretnej zmiennej towarzyszącej. Coś takiego:
Otrzymaliśmy krytykę od wewnętrznego recenzenta (nie tylko statystycznego) za wybór regresji logistycznej. Regresja logistyczna zakłada (lub definiuje), że punkt przegięcia krzywej w kształcie litery S na skali prawdopodobieństwa wynosi prawdopodobieństwo 0,5. Argumentował, że nie ma powodu, aby zakładać, że punkt przegięcia rzeczywiście ma prawdopodobieństwo 0,5 i powinniśmy wybrać inny model regresji, który pozwala na zmianę punktu przegięcia tak, aby rzeczywista pozycja była sterowana danymi.
Na początku zaskoczył mnie jego argument, ponieważ nigdy nie myślałem o tym punkcie. Nie miałem żadnych argumentów, dlaczego uzasadnione byłoby założenie, że punkt przegięcia wynosi 0,5. Po przeprowadzeniu badań wciąż nie mam odpowiedzi na to pytanie.
Natknąłem się na 5-parametrową regresję logistyczną, dla której punkt przegięcia jest dodatkowym parametrem, ale wydaje się, że ten model regresji jest zwykle używany podczas tworzenia krzywych dawka-odpowiedź z ciągłym wynikiem. Nie jestem pewien, czy i jak można go rozszerzyć na binarne zmienne odpowiedzi.
Myślę, że moje główne pytanie brzmi: dlaczego lub kiedy można założyć, że punkt przegięcia dla regresji logistycznej wynosi 0,5? Czy to w ogóle ma znaczenie? Nigdy nie widziałem, żeby ktoś pasował do modelu regresji logistycznej i wyraźnie dyskutował o kwestii punktu przegięcia. Czy istnieją alternatywy dla utworzenia krzywej odpowiedzi na dawkę, w której punkt przegięcia niekoniecznie wynosi 0,5?
Dla kompletności kod R do wygenerowania powyższego obrazu:
dat <- read.csv("http://www.ats.ucla.edu/stat/data/binary.csv")
dat$rank <- factor(dat$rank)
logit <- glm(admit ~ gre + gpa + rank, family = binomial(link = "logit"), data = dat)
newdata <- data.frame(gre = seq(-2000,8000,1), gpa = 2.5, rank = factor(1,c(1,2,3,4)))
pp <- predict(logit, newdata, type = "response", se.fit = TRUE)
plot(newdata$gre, pp$fit, type="l", col="black", lwd=2,ylab="Probability", xlab="Dose")
Edycja 1:
Wystarczy dodać do tego, co powiedział Scortchi w jednym z komentarzy: Recenzent rzeczywiście twierdził, że biologicznie bardziej prawdopodobne jest, że zmiana krzywizny nastąpi wcześniej niż 0,5. Dlatego jego opór wobec założenia, że punkt przegięcia wynosi 0,5.
Edycja 2:
W reakcji na komentarz Franka Harrella:
Jako przykład zmodyfikowałem mój model powyżej, aby uwzględnić kwadratowy i sześcienny termin w gre
(który jest „dawką” w tym przykładzie).
logit <- glm(admit ~ gre+I(gre^2)+I(gre^3)+ gpa + rank, family = binomial(link = "logit"), data = dat)
newdata <- data.frame(admit=1, gre = seq(-2000,8000,1), gpa = 2.5, rank = factor(1,c(1,2,3,4)))
pp <- predict(logit, newdata, type = "response", se.fit = TRUE)
plot(newdata$gre, pp$fit, type="l", col="black", lwd=2,xlim=c(-2000,4000),ylab="Probability", xlab="Dose")
Pomimo tego, że dodanie gre
w tym przypadku wyrażenia kwadratowego i sześciennego prawdopodobnie nie ma sensu , widzimy, że zmieniła się forma krzywej dawka-odpowiedź. Rzeczywiście mamy teraz dwa punkty przegięcia na około 0,25 i blisko 0,7.