मैंने देखा है कि आर, पॉइसन और नकारात्मक द्विपद (एनबी) के प्रतिगमन हमेशा स्पष्ट के लिए समान गुणांक वाले लगते हैं, लेकिन निरंतर नहीं, भविष्यवक्ता।
उदाहरण के लिए, यहाँ एक श्रेणीबद्ध भविष्यवक्ता के साथ एक प्रतिगमन है:
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))
यहां एक निरंतर भविष्यवक्ता के साथ एक उदाहरण दिया गया है, जहां पोइसन और एनबी विभिन्न गुणांक फिट करते हैं:
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))
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))
और, एक अन्य भविष्यवक्ता सहित, नए भविष्यवक्ता के निरंतर होने पर भी मॉडल विभिन्न गुणांक फिट करने का कारण बनता है। तो, यह मेरे मूल उदाहरण में बनाए गए डमी चरों की ऑर्थोगोनलिटी के साथ कुछ करना है?
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))