Tahmini katsayılar, R ile tutarlı olan kukla değişkenlerinizi (yani sayısal değişkenleri) yaratmanız koşuluyla aynı olacaktır. Örneğin: sahte bir veri oluşturalım ve bir Poisson glm faktörü kullanarak sığdıralım. gl
Fonksiyonun bir faktör değişkeni oluşturduğunu unutmayın .
> 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
Sonucun üç seviyesi olduğundan, iki yapay değişken (sonuç = 2 ise yapay = 1 = 0 ve sonuç = 3 ise yapay = 2 = 1) oluşturuyorum ve bu sayısal değerleri kullanarak yeniden yerleştiriyorum:
> 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
Gördüğünüz gibi tahmini katsayılar aynı. Ancak aynı sonucu elde etmek istiyorsanız, kukla değişkenlerinizi oluştururken dikkatli olmanız gerekir. Örneğin (sonuç = 1 ise kukla = 1 ve sonuç = 2 ise kukla 2 = 1) olarak iki kukla değişken oluşturursam, tahmini sonuçlar aşağıdaki gibi farklıdır:
> 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
Eklediğinizde Bunun nedeni outcome
glm.1 içinde değişken varsayılan olarak Ar iki yapay değişken yani oluşturur outcome2
ve outcome3
ve benzer tanımlar onları dummy.1
ve dummy.2
sonucun ilk seviye tüm diğer kukla değişkenleri (zaman olduğu glm.2 yani içinde outcome2
ve outcome3
) olarak ayarlanır sıfır.