ข้อผิดพลาดมาตรฐานคำนวณอย่างไรสำหรับค่าติดตั้งจากการถดถอยโลจิสติก


29

เมื่อคุณทำนายค่าที่ติดตั้งจากตัวแบบการถดถอยโลจิสติกจะคำนวณข้อผิดพลาดมาตรฐานอย่างไร ฉันหมายถึงค่าติดตั้งไม่ใช่สำหรับค่าสัมประสิทธิ์ (ซึ่งเกี่ยวข้องกับเมทริกซ์ข้อมูลฟิชเชอร์)

ฉันค้นพบวิธีรับตัวเลขด้วยเท่านั้นR(เช่นที่นี่ในวิธีใช้ r-help หรือที่นี่ใน Stack Overflow) แต่ฉันไม่สามารถหาสูตรได้

pred <- predict(y.glm, newdata= something, se.fit=TRUE)

หากคุณสามารถให้แหล่งข้อมูลออนไลน์ (ควรอยู่บนเว็บไซต์มหาวิทยาลัย) นั่นจะเป็นสิ่งที่ยอดเยี่ยม

คำตอบ:


35

การทำนายเป็นเพียงการรวมกันเชิงเส้นของสัมประสิทธิ์โดยประมาณ สัมประสิทธิ์เป็นแบบปกติเชิงเส้นกำกับดังนั้นการรวมกันเชิงเส้นของสัมประสิทธิ์เหล่านั้นก็จะเป็นแบบปกติเชิงเส้นกำกับด้วยเช่นกัน ดังนั้นหากเราสามารถหาเมทริกซ์ความแปรปรวนร่วมได้สำหรับการประมาณพารามิเตอร์เราสามารถได้รับข้อผิดพลาดมาตรฐานสำหรับการรวมเชิงเส้นของการประมาณเหล่านั้นได้อย่างง่ายดาย ถ้าฉันแสดงเมทริกซ์ความแปรปรวนร่วมเป็นและเขียนสัมประสิทธิ์สำหรับการรวมเชิงเส้นของฉันในเวกเตอร์เป็นดังนั้นข้อผิดพลาดมาตรฐานคือΣCCΣC

# Making fake data and fitting the model and getting a prediction
set.seed(500)
dat <- data.frame(x = runif(20), y = rbinom(20, 1, .5))
o <- glm(y ~ x, data = dat)
pred <- predict(o, newdata = data.frame(x=1.5), se.fit = TRUE)

# To obtain a prediction for x=1.5 I'm really
# asking for yhat = b0 + 1.5*b1 so my
# C = c(1, 1.5)
# and vcov applied to the glm object gives me
# the covariance matrix for the estimates
C <- c(1, 1.5)
std.er <- sqrt(t(C) %*% vcov(o) %*% C)

> pred$se.fit
[1] 0.4246289
> std.er
          [,1]
[1,] 0.4246289

เราเห็นว่าวิธี 'ด้วยมือ' ที่ฉันแสดงให้ข้อผิดพลาดมาตรฐานเช่นเดียวกับที่รายงานผ่าน predict


2
ฉันมีหนึ่งคำถามที่เกี่ยวข้อง เมื่อเราทำนายค่าและช่วงความมั่นใจในการถดถอยเชิงเส้น (ไม่ใช่โลจิสติก) เรารวมความแปรปรวนข้อผิดพลาด / ข้อผิดพลาดมาตรฐาน แต่การถดถอยโลจิสติกไม่ได้ ความแตกต่างนี้มาจากข้อเท็จจริงที่ว่าค่าที่สังเกตได้จากการถดถอยโลจิสติกเป็น 0 หรือ 1 และไม่มีจุดใดในการประเมินความแปรปรวนข้อผิดพลาดหรือไม่? ฉันรู้สึกว่าอย่างน้อยเราควรทำอะไรบางอย่าง แต่ฉันอาจจะหายไปบางสิ่งบางอย่าง
user2457873

3
คำถามเก่า แต่หัวข้อนี้ช่วยฉันได้แล้วตอนนี้ดังนั้นไปที่: Logit สังเกต 0 หรือ 1 แต่คาดการณ์ความน่าจะเป็น เมื่อคุณได้รับข้อผิดพลาดมาตรฐานของค่าติดตั้งจะอยู่ในระดับของตัวทำนายเชิงเส้น คุณจะได้รับช่วงความมั่นใจเกี่ยวกับความน่าจะเป็นโดยการพูดถึง logit (พอดี +/- 1.96 * se.fit)
generic_user

เพิ่งทราบว่าสิ่งนี้ใช้ค่าประมาณปกติเชิงเส้นกำกับซึ่งค่อนข้างแย่สำหรับโมเดลโลจิสติกส์ (ค้นหาไซต์นี้สำหรับปรากฏการณ์ Hauss-Donner) สำหรับค่าสัมประสิทธิ์ที่สามารถแก้ไขได้โดยการทำโปรไฟล์อินสแตนซ์ความน่าจะเป็น (ใช้โดยฟังก์ชัน confint ใน MASS) ว่าเป็นไปไม่ได้สำหรับการพยากรณ์เชิงเส้น ...
ข Kjetil Halvorsen

2
สิ่งนี้ไม่ถูกต้องสำหรับสิ่งที่ OP ร้องขอ GLM ที่คุณพอดีใช้ฟังก์ชันลิงค์ประจำตัวไม่ใช่ฟังก์ชันลิงค์ล็อก คุณควรมีความฟิตo <- glm(y ~ x, data = dat, family = binomial)แทน คุณช่วยแก้ไขได้ไหม คำอธิบายของคุณใช้สำหรับการประเมินอัตราต่อรอง SE (ใช้type = "link"ตัวเลือก) แต่ไม่ใช่ SE เมื่อpredictใช้type = "response"ตัวเลือก
Zhe Zhang
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.