Я работаю с экологическими данными, где я использовал камеры для выборки обнаружений животных (в пересчете на биомассу) и запускаю различные модели для определения наилучшей подходящей модели, выбранной путем просмотра диагностических графиков, AIC и величины эффекта параметра. Модель представляет собой гамма GLM (из-за непрерывной реакции биомассы) с лог-ссылкой. Выбранная модель имеет предикторные переменные расстояния до воды («dist_water») и расстояния до участка леса («dist_F3»). Это резюме модели:
glm(formula = RAI_biomass ~ Dist_water.std + Dist_F3.std, family = Gamma(link = "log"),
data = biomass_RAI)
Deviance Residuals:
Min 1Q Median 3Q Max
-2.3835 -1.0611 -0.3937 0.4355 1.5923
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 5.3577 0.2049 26.143 2.33e-16 ***
Dist_water.std -0.7531 0.2168 -3.474 0.00254 **
Dist_F3.std 0.5831 0.2168 2.689 0.01452 *
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for Gamma family taken to be 0.9239696)
Null deviance: 41.231 on 21 degrees of freedom
Residual deviance: 24.232 on 19 degrees of freedom
AIC: 287.98
Number of Fisher Scoring iterations: 7
Ковариаты были стандартизированы до запуска модели. Теперь мне нужно сделать обратное преобразование этой модели в натуральные единицы, чтобы предсказать значения биомассы в несопоставленных местах (в данном случае на фермах). Я составил таблицу для каждой фермы с указанием расстояния до воды и участка леса. Я думал, что способ сделать это будет использовать exp(coef(biomass_glm))
, но когда я это сделал, коэффициент dist_water.std изменил направление и стал положительным.
exp(coef(biomass_glm8))
## Intercept Dist_water.std Dist_F3.std
## 212.2369519 0.4709015 1.7915026
Мне это кажется проблематичным, так как в оригинальном GLM увеличение расстояния до воды означало уменьшение биомассы (это имеет смысл) - но теперь мы видим обратное? Рассчитанный отклик биомассы имел очень узкий диапазон - 210,97-218,9331 (для сравнения, в исходных данных биомасса составляла 3,04-2227,99.
Затем я попытался взять показатель степени всей модели, не принимая показатель каждого коэффициента в отдельности:
farms$biomass_est2 <- exp(5.3577 + (-0.7531*farms$Farm_dist_water_std) + (0.5831*farms$Farm_dist_F3_std))
, и это дало мне новый отклик биомассы, который имеет немного больше смысла, то есть больше вариаций, учитывая вариации в двух ковариатах (2.93-1088.84).
Затем я попытался преобразовать оценки коэффициентов, выполнив e ^ B - 1, что снова дало другие результаты, хотя большинство было похоже на результаты, полученные с помощью exp(coef(biomass_glm))
:
(e^(-0.7531))-1 #dist_water = -0.5290955
(e^(0.5831))-1 #dist_F3 = 0.7915837
(e^(5.3577))-1 #intercept = 211.2362
У меня вопрос: почему эти оценки отличаются, и каков наилучший способ взять эту гамма-версию GLM со ссылкой журнала и преобразовать ее в формат, который можно использовать для вычисления прогнозных значений? Любая помощь будет принята с благодарностью!