幸运的是,您只有一个连续的协变量。因此,您可以绘制四个(即2 SEX x 2 AGE)图,每个图都具有BID和之间的关系。另外,您可以在一个绘图上使用四条不同的线(可以使用不同的线型,粗细或颜色来区分它们)。您可以通过求解一系列BID值的四个组合中的每一个的回归方程来获得这些预测线。 p(Y=1)
更复杂的情况是您有多个连续的协变量。在这种情况下,通常会有一个特定的协变量在某种意义上是“主要的”。该协变量可用于X轴。然后,求解其他协变量的几个预先指定的值,通常是平均值和+/- 1SD。其他选项包括各种类型的3D图,coplot图或交互式图。
在这里,我对另一个问题的答案提供了有关用于探索2维以上数据的一系列图的信息。您的情况基本类似,只是您有兴趣展示模型的预测值,而不是原始值。
更新:
我已经在R中编写了一些简单的示例代码来绘制这些图。让我注意几件事:因为“行动”是提早发生的,所以我只对BID进行了700次(但可以随意将其扩展到2000年)。在此示例中,我使用您指定的函数,并将第一个类别(即,女性和年轻)作为参考类别(R中的默认值)。正如@whuber在他的评论中指出的,LR模型的对数赔率是线性的,因此,如果您选择OLS回归,则可以使用第一组预测值并进行绘图。logit是链接功能,它允许您将模型连接到概率。第二个块通过logit函数的反函数将对数几率转换为概率,即通过对指数求幂(变成几率),然后将几率除以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"))
依次产生,该图: