Koefisien yang diperkirakan akan menjadi subjek yang sama dengan kondisi yang Anda buat variabel dummy Anda (yaitu yang numerik) konsisten dengan R. Misalnya: mari 'buat data palsu dan muat menggunakan Poisson glm menggunakan faktor. Perhatikan bahwa gl
fungsi menciptakan variabel faktor.
> 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
Karena hasil memiliki tiga level, saya membuat dua variabel dummy (dummy.1 = 0 jika hasil = 2 dan dummy.2 = 1 jika hasil = 3) dan mereparasi dengan menggunakan nilai-nilai numerik ini:
> 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
Seperti yang Anda lihat, koefisien yang diperkirakan sama. Tetapi Anda harus berhati-hati saat membuat variabel dummy Anda jika Anda ingin mendapatkan hasil yang sama. Sebagai contoh jika saya membuat dua variabel dummy sebagai (dummy.1 = 0 jika hasil = 1 dan dummy.2 = 1 jika hasil = 2) maka hasil estimasi berbeda seperti berikut:
> 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
Ini karena ketika Anda menambahkan outcome
variabel di glm.1, R secara default membuat dua variabel dummy yaitu outcome2
dan outcome3
dan mendefinisikannya sama dengan dummy.1
dan dummy.2
di glm.2 yaitu tingkat hasil pertama adalah ketika semua variabel dummy lainnya ( outcome2
dan outcome3
) ditetapkan menjadi nol.