โชคดีสำหรับคุณคุณมีcovariate ต่อเนื่องเพียงหนึ่งเดียว ดังนั้นคุณก็สามารถทำให้สี่ (เช่น 2 x 2 เพศอายุ) แปลงแต่ละคนมีความสัมพันธ์ระหว่าง BID และ1) หรือคุณสามารถสร้างหนึ่งพล็อตที่มีสี่บรรทัดที่แตกต่างกันบนมัน (คุณสามารถใช้สไตล์เส้นที่แตกต่างกันน้ำหนักหรือสีเพื่อแยกแยะพวกเขา) คุณสามารถรับบรรทัดที่คาดการณ์เหล่านี้ได้โดยการแก้สมการการถดถอยที่แต่ละชุดค่าผสมสี่ชุดสำหรับช่วงของค่า BID p(Y=1)
สถานการณ์ที่ซับซ้อนมากขึ้นคือที่ที่คุณมี covariate ต่อเนื่องมากกว่าหนึ่ง ในกรณีเช่นนี้มักมี covariate เฉพาะที่ 'หลัก' ในบางแง่ covariate นั้นสามารถใช้กับแกน X ได้ จากนั้นคุณแก้หาค่าที่ระบุไว้ล่วงหน้าของ covariates อื่น ๆ โดยทั่วไปคือค่าเฉลี่ยและ +/- 1SD ตัวเลือกอื่น ๆ ได้แก่ พล็อต 3 มิติ, โคพล็อตหรือพล็อตเชิงโต้ตอบประเภทต่างๆ
คำตอบของฉันสำหรับคำถามอื่นที่นี่มีข้อมูลเกี่ยวกับช่วงของการสำรวจข้อมูลในมิติต่าง ๆ มากกว่า 2 มิติ กรณีของคุณมีความคล้ายคลึงกันเป็นหลักยกเว้นว่าคุณสนใจที่จะนำเสนอค่าที่คาดการณ์ของโมเดลแทนที่จะเป็นค่าดิบ
ปรับปรุง:
ฉันได้เขียนโค้ดตัวอย่างง่ายๆใน R เพื่อทำแปลงเหล่านี้ ให้ฉันสังเกตบางสิ่ง: เนื่องจาก 'การกระทำ' เกิดขึ้นเร็วฉันจึงวิ่ง BID ผ่าน 700 (แต่อย่าลังเลที่จะขยายไปถึง 2000) ในตัวอย่างนี้ฉันใช้ฟังก์ชันที่คุณระบุและรับหมวดหมู่แรก (เช่นหญิงและชาย) เป็นหมวดหมู่อ้างอิง (ซึ่งเป็นค่าเริ่มต้นใน R) ในฐานะ @whuber บันทึกในความคิดเห็นของเขารุ่น LR เป็นแบบเชิงเส้นในอัตราต่อรองดังนั้นคุณสามารถใช้บล็อกแรกของค่าที่คาดการณ์และพล็อตตามที่คุณอาจใช้กับการถดถอยแบบ OLS หากคุณเลือก logit เป็นฟังก์ชั่นลิงค์ซึ่งช่วยให้คุณเชื่อมต่อโมเดลกับความน่าจะเป็น บล็อกที่สองแปลงอัตราต่อรองเข้าสู่ความน่าจะเป็นผ่านทางตรงกันข้ามของฟังก์ชั่น logit นั่นคือโดย exponentiating (กลายเป็นอัตราต่อรอง) แล้วแบ่งอัตราต่อรองโดย 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"))
ผลิตในทางกลับกันพล็อตนี้: