สัมประสิทธิ์ประมาณขึ้นเมื่อใดโดยประมาณการถดถอยโลจิสติกและโลจิสติกส์


11

เมื่อการสร้างแบบจำลองสัดส่วนอย่างต่อเนื่อง (เช่นพืชพรรณตามสัดส่วนที่ quadrats สำรวจหรือสัดส่วนของเวลาในกิจกรรม) การถดถอยโลจิสติกถือว่าไม่เหมาะสม (เช่นWarton & Hui (2011) Arcsine เป็น asinine: การวิเคราะห์สัดส่วนในระบบนิเวศ ) แต่การถดถอยของ OLS หลังจาก logit-transform สัดส่วนหรือบางทีการถดถอยเบต้ามีความเหมาะสมมากกว่า

การประมาณค่าสัมประสิทธิ์ของการถดถอยแบบ logit-linear และ logistic regression แตกต่างกันอย่างไรเมื่อใช้ R's lmและglm?

ใช้ชุดข้อมูลจำลองต่อไปนี้ซึ่งเราสามารถสันนิษฐานได้ว่าpเป็นข้อมูลดิบของเรา (เช่นสัดส่วนต่อเนื่องแทนที่จะแสดง ):nsuccessesntrials

set.seed(1)
x <- rnorm(1000)
a <- runif(1)
b <- runif(1)
logit.p <- a + b*x + rnorm(1000, 0, 0.2)
p <- plogis(logit.p)

plot(p ~ x, ylim=c(0, 1))

ป้อนคำอธิบายรูปภาพที่นี่

การติดตั้งโมเดล logit-linear เราได้รับ:

summary(lm(logit.p ~ x))
## 
## Call:
## lm(formula = logit.p ~ x)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -0.64702 -0.13747 -0.00345  0.15077  0.73148 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 0.868148   0.006579   131.9   <2e-16 ***
## x           0.967129   0.006360   152.1   <2e-16 ***
## ---
## Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
## 
## Residual standard error: 0.208 on 998 degrees of freedom
## Multiple R-squared:  0.9586, Adjusted R-squared:  0.9586 
## F-statistic: 2.312e+04 on 1 and 998 DF,  p-value: < 2.2e-16

อัตราผลตอบแทนการถดถอยโลจิสติก:

summary(glm(p ~ x, family=binomial))
## 
## Call:
## glm(formula = p ~ x, family = binomial)
## 
## Deviance Residuals: 
##      Min        1Q    Median        3Q       Max  
## -0.32099  -0.05475   0.00066   0.05948   0.36307  
## 
## Coefficients:
##             Estimate Std. Error z value Pr(>|z|)    
## (Intercept)  0.86242    0.07684   11.22   <2e-16 ***
## x            0.96128    0.08395   11.45   <2e-16 ***
## ---
## Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 176.1082  on 999  degrees of freedom
## Residual deviance:   7.9899  on 998  degrees of freedom
## AIC: 701.71
## 
## Number of Fisher Scoring iterations: 5
## 
## Warning message:
## In eval(expr, envir, enclos) : non-integer #successes in a binomial glm!

การประมาณค่าสัมประสิทธิ์การถดถอยโลจิสติกจะไม่เสมอภาคกับการประมาณของตัวแบบเชิงเส้นของ logit หรือไม่?


1
โปรดสังเกตความแตกต่างทางทฤษฎี: ด้วยแบบจำลองทวินามที่ใช้กับสัดส่วนที่คุณคิดว่าการทดลองที่อยู่เบื้องหลังแต่ละสัดส่วนนั้นเป็นอิสระนั่นคือหลังสัดส่วน0.1นั้นมี "ถูก" กล่าวว่าการทดลองอิสระ 10 ครั้งให้ผลสำเร็จหนึ่งครั้ง สำหรับตัวแบบเชิงเส้นนั้น0.1เป็นเพียงค่าบางค่าโดยพลการ
ttnphns

1
ฉันค่อนข้างสงสัยว่ามันใช้การได้แบบจำลองทวินามกับสัดส่วนในวิธีที่ OP ทำ หลังจากที่ทุกคนfamily=binomialแสดงให้เห็นว่าตัวแปรตามหมายถึงการนับทวินาม - ไม่ได้สัดส่วน และจะglmรู้ได้อย่างไรว่า0.1เป็น "หนึ่งในสิบ" และไม่ใช่ "หนึ่งในสิบ" ในขณะที่สัดส่วนไม่แตกต่างกัน แต่สิ่งนี้มีนัยสำคัญสำหรับวิธีการคำนวณข้อผิดพลาดมาตรฐาน
Wolfgang

1
@ Wolfgang - ฉันตระหนัก (และพูดถึงในโพสต์ของฉัน) ว่ามันไม่เหมาะสมที่จะสร้างแบบจำลองสัดส่วนอย่างต่อเนื่องของการเรียงลำดับนี้กับการถดถอยโลจิสติก ฉันสนใจมากขึ้นว่า / เมื่อ / วิธีการประมาณค่าสัมประสิทธิ์แตกต่างกันอย่างไร
jbaums

2
@ Wolfgang คุณพูดถูก แต่มันก็ขึ้นอยู่กับการนำไปใช้ บางโปรแกรมจะอนุญาตให้ใส่สัดส่วนเป็น DV และ 1 แทนฐานในขณะที่ชุดข้อมูลนั้นถูกถ่วงด้วยฐานจริง ดูราวกับว่าคุณวิเคราะห์สัดส่วนไม่นับ
ttnphns

1
@ttnphns ในทำนองเดียวกันใน R หนึ่งสามารถป้อนสัดส่วนเป็น DV และจัดหาเวกเตอร์ที่มีจำนวนการทดลองweightsARG (แม้ว่านี่ไม่ใช่สิ่งที่ฉันพยายามในโพสต์ของฉันที่ฉันได้วิเคราะห์ข้อมูลอย่างไม่ถูกต้อง)
jbaums

คำตอบ:


5

บางทีนี่อาจตอบได้ในแบบ "ย้อนกลับ" - นั่นคือเมื่อพวกเขาเหมือนกันหรือไม่

ตอนนี้อัลกอริทึม IRLS ที่ใช้ในการถดถอยโลจิสติกให้ข้อมูลเชิงลึกที่นี่ ที่ลู่คุณสามารถแสดงค่าสัมประสิทธิ์รุ่นเป็น:

β^logistic=(XTWX)1XTWz

โดยที่คือเมทริกซ์น้ำหนักแนวทแยงที่มีเทอมที่และเป็นการตอบสนองแบบหลอกที่มีองค์ประกอบ ith(1-p_i)} โปรดทราบว่าซึ่งจะทำให้การถดถอยโลจิสติกดูเหมือนคล้ายกับถ่วงน้ำหนักน้อยสแควร์ใน "ประเภท logit" ปริมาณ โปรดทราบว่าความสัมพันธ์ทั้งหมดนั้นมีนัยในการถดถอยโลจิสติก (เช่นขึ้นอยู่กับซึ่งขึ้นอยู่กับ )WWii=nipi(1pi)zวีR(Zฉัน-x T ฉันβ )=W - 1 ฉันฉัน ZβZzi=xiTβ^logistic+yinipinipi(1pi)var(zixiTβ^)=Wii1zβz

ดังนั้นฉันขอแนะนำว่าความแตกต่างส่วนใหญ่คือการใช้กำลังสองน้อยที่สุด (โลจิสติก) เทียบกับไม่ยกกำลังสองน้อยที่สุด (ols บนบันทึก) หากคุณถ่วงน้ำหนักโดย (โดยที่คือจำนวนของ "events" และจำนวน "trials") ในการโทรคุณจะได้รับ ผลลัพธ์ที่คล้ายกันมากขึ้นy ( 1 - y / n ) y nlog(y)log(ny)y(1y/n)ynlm ()


ประทับใจ คุณช่วยแสดงประโยคสุดท้ายด้วยรหัส R โดยใช้ข้อมูลจำลองที่ให้มาได้ไหม ขอบคุณ!
JellicleCat

2

โปรดอย่าลังเลที่จะชี้ให้เห็นถ้าฉันผิด

อันดับแรกฉันพูดอย่างนั้นในแบบที่สองคุณโทรglmผิดทาง! เพื่อให้เหมาะกับการถดถอยโลจิสติกโดยglmการตอบสนองควรเป็นตัวแปรเด็ดขาด (ไบนารี) แต่คุณใช้pเป็นตัวแปรตัวเลข! ฉันต้องบอกว่าwarningมันอ่อนโยนเกินไปที่จะให้ผู้ใช้ทราบถึงความผิดพลาดของพวกเขา ...

และอย่างที่คุณคาดหวังคุณจะได้ค่าประมาณของสัมประสิทธิ์ที่คล้ายกันโดยทั้งสองพอดีโดย COINCIDENCE หากคุณแทนที่logit.p <- a + b*x + rnorm(1000, 0, 0.2)ด้วยlogit.p <- a + b*x + rnorm(1000, 0, 0.7)เช่นการเปลี่ยนแปลงแปรปรวนของระยะข้อผิดพลาดจาก0.2การ0.7แล้วผลของทั้งสองพอดีจะแตกต่างกันอย่างมากแม้ว่าพอดีสอง ( glm) เป็นความหมายที่ทุกคน ...

การถดถอยโลจิสติกใช้สำหรับการจัดหมวดหมู่ (ไบนารี) ดังนั้นคุณควรมีการตอบสนองตามหมวดหมู่ตามที่ระบุไว้ข้างต้น ตัวอย่างเช่นการสังเกตการตอบสนองควรเป็นชุดของ "ความสำเร็จ" หรือ "ความล้มเหลว" แทนที่จะเป็นชุดของ "ความน่าจะเป็น (ความถี่)" เช่นเดียวกับในข้อมูลของคุณ สำหรับชุดข้อมูลเด็ดขาดที่กำหนดคุณสามารถคำนวณความถี่โดยรวมเพียงหนึ่งความถี่สำหรับ "response = success" หรือ "response = failure" แทนที่จะเป็นชุดข้อมูล ในข้อมูลที่คุณสร้างไม่มีตัวแปรเด็ดขาดเลยดังนั้นจึงเป็นไปไม่ได้ที่จะใช้การถดถอยโลจิสติก ตอนนี้คุณสามารถเห็นได้แม้ว่าพวกเขาจะมีลักษณะที่คล้ายกัน แต่การถดถอยเชิงเส้นแบบ logit (อย่างที่คุณเรียกว่ามัน) เป็นเพียงปัญหาการถดถอยเชิงเส้นปกติ (เช่นการตอบสนองเป็นตัวแปรตัวเลข) โดยใช้การตอบสนองแบบแปลง (เช่นการแปลง sqr หรือ sqrt)

โดยทั่วไปแล้วการถดถอยเชิงเส้นจะติดตั้งผ่านสแควร์ธรรมดาน้อยที่สุด (OLS) ซึ่งช่วยลดการสูญเสียกำลังสองสำหรับปัญหาการถดถอย การถดถอยโลจิสติกถูกติดตั้งผ่านการประมาณการความน่าจะเป็นสูงสุด (MLE) ซึ่งจะลดการสูญเสียการบันทึกสำหรับปัญหาการจำแนก นี่คือการอ้างอิงเกี่ยวกับฟังก์ชั่นการสูญเสียฟังก์ชั่นการสูญเสีย Deva Ramanan ในตัวอย่างแรกคุณถือว่าpการตอบสนองและพอดีกับโมเดลการถดถอยเชิงเส้นปกติผ่าน OLS ในตัวอย่างที่สองคุณบอกRว่าคุณกำลังปรับโมเดลการถดถอยโลจิสติกfamily=binomialให้Rเหมาะสมเพื่อให้พอดีกับโมเดลโดย MLE อย่างที่คุณเห็นในรุ่นแรกคุณจะได้รับ t-test และ F-test ซึ่งเป็นผลลัพธ์คลาสสิกของ OLS เหมาะสำหรับการถดถอยเชิงเส้น ในแบบจำลองที่สองการทดสอบนัยสำคัญของสัมประสิทธิ์นั้นใช้zแทนtซึ่งเป็นผลลัพธ์คลาสสิกของ MLE พอดีของการถดถอยโลจิสติก


คำถามที่ดี (+1) และคำตอบที่ดี (+1) ฉันเรียนรู้สิ่งใหม่
Aleksandr Blekh

1
ฉันจะเห็นด้วย อย่างไรก็ตามสิ่งนี้logistic regression is a CLASSIFICATION problemอาจตีความผิดในแง่ที่คุ้มค่าตราบเท่าที่สามารถจำแนกได้ดี ซึ่งจะเป็นความผิดที่จะคิดเพราะรูปแบบ "ดีที่สุด" ในทางทฤษฎีและโดยวิธีการแบบจำลองความน่าจะเป็นบางครั้งอาจแบ่งได้แย่กว่าแบบไม่ดี
ttnphns

@ttnphns ขอบคุณสำหรับความคิดเห็นของคุณ! ฉันคิดว่ามันเป็นแบบแผนที่จะเรียกมันว่าปัญหาการจำแนกถ้าการตอบสนองเป็นหมวดหมู่ ไม่ว่าโมเดลจะทำงานได้ดีหรือไม่ก็ตามสำคัญ แต่อาจไม่ส่งผลกระทบต่อการตั้งชื่อ
JellicleCat

ขอบคุณ @JellicleCat - ฉันทราบว่าข้อมูลสัดส่วนของประเภทนี้ไม่เหมาะกับการถดถอยโลจิสติก แต่ก็อยากรู้เกี่ยวกับสถานการณ์ภายใต้การประมาณค่าสัมประสิทธิ์จะแตกต่างจาก OLS ที่มีสัดส่วนการแปลงโลจิคัล ขอบคุณสำหรับตัวอย่างของคุณ - เป็นที่ชัดเจนว่าด้วยความแปรปรวนที่เพิ่มขึ้นการประมาณค่าสัมประสิทธิ์
jbaums
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.