幸运的是,您只有一个连续协变量。因此,您可以只制作四个(即 2 SEX x 2 AGE)图,每个图都有 BID 和之间的关系。或者,您可以制作一个带有四条不同线条的图(您可以使用不同的线条样式、粗细或颜色来区分它们)。您可以通过求解一系列 BID 值的四种组合中的每一种的回归方程来获得这些预测线。 p(Y=1)
更复杂的情况是您有多个连续协变量。在这种情况下,通常有一个特定的协变量在某种意义上是“主要的”。该协变量可用于 X 轴。然后求解其他协变量的几个预先指定的值,通常是平均值和 +/- 1SD。其他选项包括各种类型的 3D 绘图、协同绘图或交互式绘图。
我在这里对另一个问题的回答提供了有关用于探索二维以上数据的一系列图的信息。您的情况本质上是类似的,只是您对呈现模型的预测值而不是原始值感兴趣。
更新:
我在 R 中编写了一些简单的示例代码来制作这些图。让我注意一些事情:因为“行动”发生得早,我只运行了 700 的 BID(但可以随意将其扩展到 2000)。在此示例中,我使用您指定的函数并将第一个类别(即女性和年轻)作为参考类别(这是 R 中的默认值)。正如@whuber 在他的评论中所说, LR 模型在对数赔率上是线性的,因此您可以使用第一个预测值块,并根据您的选择使用 OLS 回归进行绘图。logit 是链接函数,它允许您将模型连接到概率;第二个块通过 logit 函数的倒数将 log 赔率转换为概率,即通过取幂(变成赔率)然后将赔率除以 1+赔率。(如果您想了解更多信息,我会 在此处讨论链接功能和此类模型的性质。)
BID = seq(from=0, to=700, by=10)
logOdds.F.young = -3.92 + .014*BID
logOdds.M.young = -3.92 + .014*BID + .25*1
logOdds.F.old = -3.92 + .014*BID + .15*1
logOdds.M.old = -3.92 + .014*BID + .25*1 + .15*1
pY.F.young = exp(logOdds.F.young)/(1+ exp(logOdds.F.young))
pY.M.young = exp(logOdds.M.young)/(1+ exp(logOdds.M.young))
pY.F.old = exp(logOdds.F.old) /(1+ exp(logOdds.F.old))
pY.M.old = exp(logOdds.M.old) /(1+ exp(logOdds.M.old))
windows()
par(mfrow=c(2,2))
plot(x=BID, y=pY.F.young, type="l", col="blue", lwd=2,
ylab="Pr(Y=1)", main="predicted probabilities for young women")
plot(x=BID, y=pY.M.young, type="l", col="blue", lwd=2,
ylab="Pr(Y=1)", main="predicted probabilities for young men")
plot(x=BID, y=pY.F.old, type="l", col="blue", lwd=2,
ylab="Pr(Y=1)", main="predicted probabilities for old women")
plot(x=BID, y=pY.M.old, type="l", col="blue", lwd=2,
ylab="Pr(Y=1)", main="predicted probabilities for old men")
这会产生以下图:
这些函数非常相似,以至于我最初概述的四平行图方法不是很独特。以下代码实现了我的“替代”方法:
windows()
plot(x=BID, y=pY.F.young, type="l", col="red", lwd=1,
ylab="Pr(Y=1)", main="predicted probabilities")
lines(x=BID, y=pY.M.young, col="blue", lwd=1)
lines(x=BID, y=pY.F.old, col="red", lwd=2, lty="dotted")
lines(x=BID, y=pY.M.old, col="blue", lwd=2, lty="dotted")
legend("bottomright", legend=c("young women", "young men",
"old women", "old men"), lty=c("solid", "solid", "dotted",
"dotted"), lwd=c(1,1,2,2), col=c("red", "blue", "red", "blue"))
反过来,这个情节: