Предсказанные SE отличаются от ggeffects :: ggpredict - что я делаю не так? «Объект не найден» для функции прогнозирования - PullRequest
0 голосов
/ 05 февраля 2020

Я провожу анализ в r по влиянию покрытия навеса (OverheadCover, пропорция ограничена 0,1) и количества туш, помещенных в то же место (CarcassNumber, коэффициент с 2 уровнями) на доля мяса, съеденного птицами (ProportionBirdsScavenging, пропорция ограничена 0,1). Я построил это взаимодействие, смоделировав эффект OverheadCover на ProportionBirdsScavenging для отдельных значений CarcassNumber, а затем нанес его на тот же график. Сделав это, я увидел расхождения в SE, рассчитанных на plot_model(glmm_interaction, type = "int"), и SE, которые я рассчитал. Здесь началось расследование. Это путешествие привело меня к исходным кодам plot_model, plot_type_int, ggpredict и остановилось на ggpredict_helper. Я, к сожалению, не нашел расчет SE, но нашел подтверждение разницы в SE. Я всегда был уверен, что правильно рассчитал свои SE, но теперь я не уверен в этом. Пожалуйста, смотрите мой код ниже.

Различия наиболее заметны для CarcassNumber 2. Мой расчет неверен? Я подозреваю, что это расхождение может быть связано с включением и исключением pointWeight_scaled в функции predict. Если я этого не сделаю, мне выдаст ошибку «1018». Это общая проблема? Я прочитал здесь, что включение, а затем и исключение решает проблему

mgcv: Как использовать аргумент «исключить» вgnett.gam? . Разве это не правильный путь?

Я надеюсь, что кто-то может пролить свет на эту проблему.

1 Ответ

1 голос
/ 06 февраля 2020

хм, когда я запускаю ваш пример, я получаю те же результаты, что и вы ожидаете:

library(glmmTMB)
library(ggeffects)

data_both <- data.frame(ProportionBirdsScavenging = c(0.406192519926425, 0.871428571428571, 0.452995391705069, 0.484821428571429, 0.795866569978245, 0.985714285714286, 0.208571428571429, 0.573982970671712, 0.694285714285714, 0.930204081632653, 0.0483709273182957, 0.0142857142857143, 0.661904761904762, 0.985714285714286, 0.0142857142857143, 0.0142857142857143),
                        pointWeight = c(233, 17, 341, 128, 394, 46, 5, 302, 10, 35, 57, 39, 12, 229, 28, 116),
                        OverheadCover = c(0.671, 0.04, 0.46, 0.65, 0.02, 0, 0.8975, 0.585, 0.6795, 0.0418, 0.5995, 0.6545, 0.02, 0, 0.92, 0.585),
                        CarcassNumber = as.factor(c(1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2)),
                        Area = c("Hamert", "KempenBroek", "KempenBroek", "KempenBroek", "Markiezaat", "Markiezaat", "Meinweg", "Valkenhorst", "Hamert", "KempenBroek", "KempenBroek", "KempenBroek", "Markiezaat", "Markiezaat", "Meinweg", "Valkenhorst"))
data_both$pointWeight_scaled <- scales::rescale(data_both$pointWeight, to = c(0.0001,1)) # rescale weights

df_second_carcasses <- dplyr::filter(data_both, CarcassNumber == 2) # create df with only second carcasses
m <- glmmTMB(ProportionBirdsScavenging ~ OverheadCover, data = df_second_carcasses, beta_family(link = "logit"), weights = pointWeight_scaled)

ggpredict(m, "OverheadCover")
#> 
#> # Predicted values of ProportionBirdsScavenging
#> # x = OverheadCover
#> 
#>    x | Predicted |   SE |       95% CI
#> --------------------------------------
#> 0.00 |      0.96 | 1.21 | [0.70, 1.00]
#> 0.02 |      0.95 | 1.16 | [0.67, 0.99]
#> 0.04 |      0.94 | 1.10 | [0.65, 0.99]
#> 0.58 |      0.05 | 1.27 | [0.00, 0.40]
#> 0.60 |      0.04 | 1.31 | [0.00, 0.38]
#> 0.65 |      0.03 | 1.47 | [0.00, 0.32]
#> 0.68 |      0.02 | 1.55 | [0.00, 0.30]
#> 0.92 |      0.00 | 2.31 | [0.00, 0.13]
#> Standard errors are on link-scale (untransformed).

Создано в 2020-02-05 пакетом Представить ( v0.3.0)

Возможно, причина в том, что glmmTMB был только что обновлен в CRAN и в predict() включен аргумент re.form. Я включил это в самый последний коммит на GitHub (т.е. теперь predict() в ggeffects для glmmTMB моделей также используют аргумент re.form), поэтому может быть, вы получаете идентичные результаты при обновлении ggeffects с GitHub?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...