バイナリの結果といくつかの共変量のデータがあります。ロジスティック回帰を使用してデータをモデル化しました。単純な分析だけで、異常なことは何もありません。最終出力は、特定の共変量に対して確率がどのように変化するかを示す用量反応曲線であると想定されています。このようなもの:
ロジスティック回帰を選択したことについて、(純粋な統計家ではなく)内部のレビューアからいくつかの批判を受けました。ロジスティック回帰は、確率スケールでのS字型曲線の変曲点が確率0.5であると想定(または定義)します。彼は、変曲点が確かに確率0.5であると仮定する理由はないと主張し、実際の位置がデータに基づくように変曲点を変化させることができる別の回帰モデルを選択する必要があります。
私はこの点について考えたことがないので、最初は彼の議論に油断しました。変曲点が0.5であると仮定することが正当化される理由について、私は何の議論もしませんでした。いくつかの調査を行った後、私はまだこの質問に対する答えがありません。
変曲点が追加のパラメーターである5パラメーターロジスティック回帰に出くわしましたが、この回帰モデルは通常、連続的な結果を伴う用量反応曲線を作成するときに使用されているようです。バイナリ応答変数に拡張できるかどうか、またどのように拡張できるかはわかりません。
私の主な質問は、ロジスティック回帰の変曲点が0.5であると仮定してよいのはなぜですか?それも重要ですか?ロジスティック回帰モデルをフィッティングして、変曲点の問題を明確に議論する人を見たことがありません。変曲点が必ずしも0.5とは限らない線量応答曲線を作成するための代替手段はありますか?
完全を期すために、上の図を生成するためのRコード:
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")
編集1:
Scortchiがコメントの1つで言ったことに追加するだけです。レビューアは確かに生物学的には曲率の変化が0.5よりも早く発生する可能性が高いと主張しました。したがって、変曲点が0.5であると仮定することに対する彼の抵抗。
編集2:
フランク・ハレルのコメントへの反応として:
例として、2次項と3次項を含むように上記のモデルを変更しましたgre
(この例では「線量」です)。
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")
gre
この場合、2次および3次の項を追加することはおそらく意味がないという事実にもかかわらず、用量反応曲線の形が変化していることがわかります。実際、約0.25と0.7付近に2つの変曲点があります。