Есть ли способ получить степени свободы Кенварда-Роджера или Саттерфэйта в glmmTMB или nlme? - PullRequest
0 голосов
/ 07 января 2020

Как и в названии - есть ли способ получить степени свободы Кенварда-Роджера или Саттервейта в glmmTMB или nlme? В настоящее время glmmTMB является единственным пакетом, который обрабатывает модели GLM , а позволяет указать остаточную ковариационную структуру. К сожалению, он не предлагает упомянутые способы вычисления степеней свободы в небольших выборках. У кого-нибудь есть какой-нибудь рабочий код для его достижения?

Если не эти два, может быть, хотя бы тест отношения правдоподобия? glmmTMB, кажется, только поддерживает Уолда (через anova).

1 Ответ

0 голосов
/ 27 января 2020

Вы можете взглянуть на пакет lavaSearch2 , который дает Satterthwaite df для моделей из nlme.

GitHub-версия от пакет параметров имеет функцию model_parameters(), которая возвращает значения SE, CI, df и p для различных методов приближения df, например:

library(nlme)
library(parameters)
data("Orthodont")
model <- lme(distance ~ age + Sex, data = Orthodont, random = ~ 1)

model_parameters(model)
#> Parameter    | Coefficient |   SE |         95% CI |     t | df |      p
#> ------------------------------------------------------------------------
#> (Intercept)  |       17.71 | 0.83 | [16.05, 19.37] | 21.23 | 80 | < .001
#> age          |        0.66 | 0.06 | [ 0.54,  0.78] | 10.72 | 80 | < .001
#> Sex [Female] |       -2.32 | 0.76 | [-3.89, -0.75] | -3.05 | 25 | 0.005

model_parameters(model, df_method = "satterthwaite")
#> Parameter    | Coefficient |   SE |         95% CI |     t |     df |      p
#> ----------------------------------------------------------------------------
#> (Intercept)  |       17.71 | 0.83 | [16.03, 19.38] | 21.23 | 102.58 | < .001
#> age          |        0.66 | 0.06 | [ 0.54,  0.78] | 10.72 |  82.88 | < .001
#> Sex [Female] |       -2.32 | 0.76 | [-3.87, -0.77] | -3.05 |  26.25 | 0.005

Создано в 2020-01- 27 * представительный пакет (v0.3.0)

...