К счастью для вас, у вас есть только один непрерывный ковариат. Таким образом, вы можете просто сделать четыре (т.е. 2 SEX x 2 AGE) графика, каждый из которых имеет отношение между BID и . В качестве альтернативы вы можете создать один график с четырьмя разными линиями (вы можете использовать разные стили линий, веса или цвета для их различения). Вы можете получить эти предсказанные линии, решив уравнение регрессии в каждой из четырех комбинаций для диапазона значений BID. p(Y=1)
Более сложная ситуация, когда у вас есть несколько непрерывных ковариат. В таком случае часто существует определенный ковариат, который в некотором смысле является «первичным». Этот ковариат может быть использован для оси X. Затем вы решаете для нескольких заранее заданных значений других ковариат, как правило, среднее значение и +/- 1SD. Другие варианты включают различные типы 3D-графиков, коплотов или интерактивных графиков.
Мой ответ на другой вопрос здесь содержит информацию о ряде графиков для исследования данных в более чем двух измерениях. Ваш случай по сути аналогичен, за исключением того, что вы заинтересованы в представлении прогнозных значений модели, а не необработанных значений.
Обновить:
Я написал несколько простых примеров кода на R для создания этих графиков. Позвольте мне отметить несколько вещей: поскольку «действие» происходит на ранней стадии, я запускал BID только через 700 (но не стесняйтесь расширять его до 2000). В этом примере я использую указанную вами функцию и беру первую категорию (то есть женскую и молодую) в качестве ссылочной категории (которая по умолчанию в R). Как отмечает @whuber в своем комментарииМодели LR являются линейными по логарифмическим коэффициентам, поэтому вы можете использовать первый блок прогнозируемых значений и строить график, как если бы вы выбрали регрессию OLS. 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"))
производя в свою очередь этот участок: