ค่าสัมประสิทธิ์โดยประมาณจะอยู่ภายใต้เงื่อนไขเดียวกับที่คุณสร้างตัวแปรจำลอง (เช่นตัวเลข) ที่สอดคล้องกับ R ตัวอย่างเช่น: ให้ 'สร้างข้อมูลปลอมและพอดีกับค่าปัวซงโดยใช้ปัจจัย โปรดทราบว่าgl
ฟังก์ชั่นสร้างตัวแปรปัจจัย
> counts <- c(18,17,15,20,10,20,25,13,12)
> outcome <- gl(3,1,9)
> outcome
[1] 1 2 3 1 2 3 1 2 3
Levels: 1 2 3
> class(outcome)
[1] "factor"
> glm.1<- glm(counts ~ outcome, family = poisson())
> summary(glm.1)
Call:
glm(formula = counts ~ outcome, family = poisson())
Deviance Residuals:
Min 1Q Median 3Q Max
-0.9666 -0.6713 -0.1696 0.8471 1.0494
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) 3.0445 0.1260 24.165 <2e-16 ***
outcome2 -0.4543 0.2022 -2.247 0.0246 *
outcome3 -0.2930 0.1927 -1.520 0.1285
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for poisson family taken to be 1)
Null deviance: 10.5814 on 8 degrees of freedom
Residual deviance: 5.1291 on 6 degrees of freedom
AIC: 52.761
Number of Fisher Scoring iterations: 4
เนื่องจากผลลัพธ์มีสามระดับฉันจึงสร้างตัวแปรจำลองสองตัว (dummy.1 = 0 ถ้า result = 2 และ dummy.2 = 1 ถ้า result = 3) และปรับใหม่โดยใช้ค่าตัวเลขเหล่านี้:
> dummy.1=rep(0,9)
> dummy.2=rep(0,9)
> dummy.1[outcome==2]=1
> dummy.2[outcome==3]=1
> glm.2<- glm(counts ~ dummy.1+dummy.2, family = poisson())
> summary(glm.2)
Call:
glm(formula = counts ~ dummy.1 + dummy.2, family = poisson())
Deviance Residuals:
Min 1Q Median 3Q Max
-0.9666 -0.6713 -0.1696 0.8471 1.0494
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) 3.0445 0.1260 24.165 <2e-16 ***
dummy.1 -0.4543 0.2022 -2.247 0.0246 *
dummy.2 -0.2930 0.1927 -1.520 0.1285
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for poisson family taken to be 1)
Null deviance: 10.5814 on 8 degrees of freedom
Residual deviance: 5.1291 on 6 degrees of freedom
AIC: 52.761
Number of Fisher Scoring iterations: 4
คุณสามารถเห็นค่าสัมประสิทธิ์โดยประมาณเหมือนกัน แต่คุณต้องระวังเมื่อสร้างตัวแปรจำลองของคุณหากคุณต้องการผลลัพธ์ที่เหมือนกัน ตัวอย่างเช่นถ้าฉันสร้างตัวแปรดัมมี่สองตัวเป็น (dummy.1 = 0 ถ้า result = 1 และ dummy.2 = 1 ถ้า result = 2) ผลลัพธ์ที่ประมาณการจะแตกต่างกันดังต่อไปนี้:
> dummy.1=rep(0,9)
> dummy.2=rep(0,9)
> dummy.1[outcome==1]=1
> dummy.2[outcome==2]=1
> glm.3<- glm(counts ~ dummy.1+dummy.2, family = poisson())
> summary(glm.3)
Call:
glm(formula = counts ~ dummy.1 + dummy.2, family = poisson())
Deviance Residuals:
Min 1Q Median 3Q Max
-0.9666 -0.6713 -0.1696 0.8471 1.0494
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) 2.7515 0.1459 18.86 <2e-16 ***
dummy.1 0.2930 0.1927 1.52 0.128
dummy.2 -0.1613 0.2151 -0.75 0.453
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for poisson family taken to be 1)
Null deviance: 10.5814 on 8 degrees of freedom
Residual deviance: 5.1291 on 6 degrees of freedom
AIC: 52.761
Number of Fisher Scoring iterations: 4
นี่คือเนื่องจากเมื่อคุณเพิ่มoutcome
ตัวแปรใน glm.1, R โดยค่าเริ่มต้นจะสร้างตัวแปรจำลองสองตัวคือoutcome2
และoutcome3
กำหนดให้คล้ายกับdummy.1
และdummy.2
ใน glm.2 นั่นคือระดับแรกของผลลัพธ์คือเมื่อตัวแปร dummy อื่น ๆ ( outcome2
และoutcome3
) ถูกตั้งค่าให้เป็น ศูนย์.