Почему я не вижу все категории независимых переменных в выводе моего glmmTMB?

У меня есть набор данных как с числовыми, так и с категориальными переменными, которые я хотел бы включить в обобщенную смешанную модель. Когда я это делаю, результат условной модели всегда забывает одну категорию.

Например, в этой модели я включаю долю бдительности к общему времени, обнаруженному на видео, в качестве переменной ответа и в качестве независимых переменных: интенсивность мочи (числовое), лечение (0 для отсутствия мочи, 1 для мочи), diel_period (рассвет , сумерки, ночь, день), пол (мужской, женский, неопределенный), высота (деревьев, числовое). И мои 50 камер как эффект случайной группировки (от 1 до 50).

bBI_mod8 <- glmmTMB(cbind(vigilance, total_time_behaviour - vigilance) ~ 
                    urine_intensity_heatmap + treatment + diel_period + sex + height + (1|camera),
                ziformula = ~1, data = df_behaviour, family = "betabinomial")

Пропорция бдительности соответствует бета-биномиальной регрессии с нулевым завышением.

summary(bBI_mod8)

Когда я показываю вывод, я наблюдаю:

 Family: betabinomial  ( logit )
Formula:          cbind(vigilance, total_time_behaviour - vigilance) ~ urine_intensity_heatmap +  
    treatment + diel_period + sex + height + (1 | camera)
Zero inflation:                                                      ~1
Data: df_behaviour

     AIC      BIC   logLik deviance df.resid 
  2973.8   3037.1  -1474.9   2949.8     1439 

Random effects:

Conditional model:
 Groups Name        Variance Std.Dev.
 camera (Intercept) 0.1583   0.3979  
Number of obs: 1451, groups:  camera, 50

Overdispersion parameter for betabinomial family (): 1.85 

Conditional model:
                         Estimate Std. Error z value Pr(>|z|)    
(Intercept)             -0.907429   0.471376  -1.925 0.054222 .  
urine_intensity_heatmap -0.009844   0.004721  -2.085 0.037034 *  
treatment1              -0.219403   0.154396  -1.421 0.155304    
diel_periodDay          -0.337329   0.235033  -1.435 0.151218    
diel_periodDusk         -0.543771   0.285322  -1.906 0.056675 .  
diel_periodNight        -0.553826   0.274879  -2.015 0.043925 *  
sexMale                 -0.772731   0.168350  -4.590 4.43e-06 ***
sexUndefined            -1.010425   0.271876  -3.716 0.000202 ***
height                   0.001713   0.012352   0.139 0.889681    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Zero-inflation model:
            Estimate Std. Error z value Pr(>|z|)
(Intercept)  -0.6685     0.4298  -1.556     0.12

Моя проблема, как вы можете видеть, для моих категориальных переменных всегда есть одна категория, которая опущена:

treatment1, но не лечение0

diel_periodDay, diel_periodDusk, diel_periodNight, но не diel_periodDawn

sexMale, sexUndefined, но не полЖенский

Как я могу решить эту проблему? Или как я могу показать более полный вывод?


person Charlotte    schedule 07.04.2021    source источник
comment
Каждая модель имеет эталонный уровень. В этом случае (с использованием пола) женский пол является эталонным уровнем, поэтому здесь оценки сравниваются с эталонным уровнем.   -  person NelsonGon    schedule 07.04.2021


Ответы (1)


В выходных данных обобщенных линейных моделей показаны оценки того, что эффект сравнивается с эталонным уровнем. Если не указано иное, эталонные уровни будут выбираться автоматически в алфавитном порядке.

В приведенном выше резюме, используя пол в качестве примера, оценка, которую вы видите, например, для sexMale, является эффектом того, чтобы быть мужчиной по сравнению с тем, чтобы быть женщиной. Для treatment это эффект по сравнению с treatment0. Для diel применяется та же логика.

Вы можете переопределить это, вручную установив опорный уровень на то, что вы предпочитаете. Как бы то ни было, ваши опорные уровни Female, treatment0, diel_periodDawn основаны исключительно на алфавитном порядке.

person NelsonGon    schedule 07.04.2021