현재 시간이 지남에 따라 일부 카운트 데이터의 GLM (및 결국 GAM)과 관련된 프로젝트를 진행하고 있습니다. 일반적으로 SAS 에서이 작업을 수행하지만 R로 이동하려고하고 ... 문제가 있습니다.
다음을 사용하여 데이터를 계산하기 위해 GLM을 적합시킬 때 :
cdi_model <- glm(counts ~ exposure + covariate + month, data=test, family = poisson)
나는 얻다:
Deviance Residuals:
Min 1Q Median 3Q Max
-1.9825 -0.7903 -0.1187 0.5717 1.7649
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) 1.97563 0.20117 9.821 < 2e-16 ***
exposure 0.94528 0.30808 3.068 0.00215 **
covariate -0.01317 0.28044 -0.047 0.96254
months -0.03203 0.01303 -2.458 0.01398 *
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for poisson family taken to be 1)
Null deviance: 40.219 on 29 degrees of freedom
Residual deviance: 29.297 on 26 degrees of freedom
AIC: 137.7
Number of Fisher Scoring iterations: 5
이 시점에서 대부분 구문 등을 가지고 노는 모델 자체의 성능 또는 부족을 잠시 무시하십시오.
그러나 요율 데이터 (수 / 일)를 맞추려고 할 때 다음과 같이 오프셋을 사용하십시오.
cdi_model <- glm(count_rate ~ exposure + covariate + months + offset(log(pd)), data=test, family = poisson)
"1 : dpois (y, mu, log = TRUE) : 정수가 아닌 x = 0.002082"등 50 개 이상의 경고가 표시됩니다. 각 관측치에 대해 둘 이상입니다 (데이터 세트에는 30 개만 있음).
또한, 모형 적합은 냄비에가는 것처럼 보입니다. 다음과 같이 출력하십시오 :
Deviance Residuals:
Min 1Q Median 3Q Max
-0.0273656 -0.0122169 0.0002396 0.0072269 0.0258643
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -15.40110 15.12772 -1.018 0.309
exposure 0.84848 22.18012 0.038 0.969
covariate -0.02751 21.31262 -0.001 0.999
months -0.01889 0.95977 -0.020 0.984
(Dispersion parameter for poisson family taken to be 1)
Null deviance: 0.0068690 on 29 degrees of freedom
Residual deviance: 0.0054338 on 26 degrees of freedom
AIC: Inf
Number of Fisher Scoring iterations: 9
그럼에도 불구하고 실제 데이터에 대해 예측 속도를 플로팅하면 적합도가 그다지 나쁘지 않으며 실제 효과 추정치가 그다지 바뀌지 않는 것 같습니다.
누구나 무슨 일이 일어나고 있는지 또는 모든 것이 올바르게 진행되고 있고 경험이 없어서 뭔가를 놓친다면?