В настоящее время я работаю над проектом, включающим в себя 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)
Я получаю более 50 предупреждений, все "1: В dpois (y, mu, log = TRUE): нецелое число x = 0,002082" и т. Д. Это более одного для каждого наблюдения (в наборе данных только 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
Несмотря на это, если я построю прогнозируемую частоту в сравнении с фактическими данными, подгонка не будет выглядеть намного хуже, и фактическая оценка эффекта, похоже, не сильно изменится.
У кого-нибудь есть идея, что происходит - или все идет хорошо, и я что-то упускаю из-за неопытности?
(counts/thing)
то логарифмическая линейная модель почти всегдаcounts ~ ... + offset(log(thing))
. И пока мы второй угадывание вещи, я предсказываю , чтоlog(pd) == exposure
...