ฉันสังเกตเห็นว่าใน R, Poisson และการถดถอยแบบทวินามลบ (NB) ดูเหมือนจะเหมาะสมกับค่าสัมประสิทธิ์เดียวกันสำหรับการจัดหมวดหมู่ แต่ไม่ต่อเนื่องทำนาย
ตัวอย่างเช่นนี่คือการถดถอยด้วยตัวพยากรณ์หมวดหมู่:
data(warpbreaks)
library(MASS)
rs1 = glm(breaks ~ tension, data=warpbreaks, family="poisson")
rs2 = glm.nb(breaks ~ tension, data=warpbreaks)
#compare coefficients
cbind("Poisson"=coef(rs1), "NB"=coef(rs2))
นี่คือตัวอย่างที่มีตัวทำนายอย่างต่อเนื่องโดยที่ปัวซองและ NB มีค่าสัมประสิทธิ์ต่างกัน:
data(cars)
rs1 = glm(dist ~ speed, data=cars, family="poisson")
rs2 = glm.nb(dist ~ speed, data=cars)
#compare coefficients
cbind("Poisson"=coef(rs1), "NB"=coef(rs2))
(แน่นอนว่าสิ่งเหล่านี้จะไม่นับข้อมูลและตัวแบบนั้นไม่มีความหมาย ... )
จากนั้นฉันจะคำนวณตัวทำนายอีกครั้งเป็นปัจจัยและทั้งสองรุ่นก็มีค่าสัมประสิทธิ์เท่าเดิม:
library(Hmisc)
speedCat = cut2(cars$speed, g=5)
#you can change g to get a different number of bins
rs1 = glm(cars$dist ~ speedCat, family="poisson")
rs2 = glm.nb(cars$dist ~ speedCat)
#compare coefficients
cbind("Poisson"=coef(rs1), "NB"=coef(rs2))
อย่างไรก็ตามการถดถอยแบบลบของโจเซฟฮิลเบให้ตัวอย่าง (6.3, pg 118-119) ซึ่งเป็นตัวทำนายแบบแบ่งเพศมีความสัมพันธ์กับสัมประสิทธิ์ที่แตกต่างกันเล็กน้อยโดยปัวซอง ( ) และ NB ( b = 0.881 ) เขากล่าวว่า: "อัตราส่วนอัตราอุบัติการณ์ระหว่างแบบจำลอง Poisson และ NB นั้นค่อนข้างคล้ายคลึงกัน ไม่น่าแปลกใจเลยที่ความใกล้ชิดของα [สอดคล้องกับ1 / θ in R] ถึงศูนย์”
summary(rs2)
แล้วทำไมค่าสัมประสิทธิ์มีค่าเท่ากันทุกประการ? และทำไมสำหรับนักทำนายเชิงหมวดหมู่เท่านั้น?
แก้ไข # 1
นี่คือตัวอย่างที่มีตัวทำนายสองมุมที่ไม่เป็นแบบมุมฉาก แท้จริงสัมประสิทธิ์ไม่เหมือนกันอีกต่อไป:
data(cars)
#make random categorical predictor
set.seed(1); randomCats1 = sample( c("A","B","C"), length(cars$dist), replace=T)
set.seed(2); randomCats2 = sample( c("C","D","E"), length(cars$dist), replace=T)
rs1 = glm(dist ~ randomCats1 + randomCats2, data=cars, family="poisson")
rs2 = glm.nb(dist ~ randomCats1 + randomCats2, data=cars)
#compare coefficients
cbind("Poisson"=coef(rs1), "NB"=coef(rs2))
และรวมถึงตัวทำนายอื่นทำให้แบบจำลองมีค่าสัมประสิทธิ์ต่างกันแม้ว่าตัวทำนายใหม่จะต่อเนื่อง ดังนั้นมันเป็นเรื่องเกี่ยวกับ orthogonality ของตัวแปรจำลองที่ฉันสร้างขึ้นในตัวอย่างดั้งเดิมของฉัน
rs1 = glm(dist ~ randomCats1 + speed, data=cars, family="poisson")
rs2 = glm.nb(dist ~ randomCats1 + speed, data=cars)
#compare coefficients
cbind("Poisson"=coef(rs1), "NB"=coef(rs2))