簡體   English   中英

GlmmTMB model 和 emmeans

[英]GlmmTMB model and emmeans

我是 glmmtmb 模型的新手,所以遇到了問題。 我構建了一個 model,然后基於 AICtab 和 DHARMa,這是最好的:

Insecticide_2<- glmmTMB(Insect_abundace~field_element+land_distance+sampling_time+year+treatment_day+(1|field_id),
                           data=Insect_002,
                           family= nbinom2)

在 glmmTMB 之后,我運行了 Anova(來自 Car),然后是 emmeans,但是 emmeans 中 p 值的結果是相同的(不是 lower.CL 或 upper.CL)。 可能是什么問題? model 是否過擬合? 我做 emmeans 的方式是錯誤的嗎?

Anova 還顯示 land_distance、sampling_time、treatment_day 顯着,年份幾乎顯着 (p= 0.07)

comp_emmeans1<-emmeans(Insect_002, pairwise ~ land_distance|year , type = "response") 

> comp_emmeans1
$emmeans
Year = 2018:
land_distance response    SE  df lower.CL upper.CL
 30m           2.46 0.492 474    1.658     3.64
 50m           1.84 0.369 474    1.241     2.73
 80m           1.36 0.283 474    0.906     2.05
 110m          1.25 0.259 474    0.836     1.88

Year = 2019:
land_distance response    SE  df lower.CL upper.CL
 30m           3.42 0.593 474    2.434     4.81
 50m           2.56 0.461 474    1.799     3.65
 80m           1.90 0.335 474    1.343     2.68
 110m          1.75 0.317 474    1.222     2.49

Results are averaged over the levels of: field_element, sampling_time, treatment_day
Confidence level used: 0.95 
Intervals are back-transformed from the log scale 

$contrasts
year = 2018:
 contrast    ratio  SE  df   null t.ratio p.value
 30m / 50m   1.34 0.203 474    1   1.906  0.2268
 30m / 80m   1.80 0.279 474    1   3.798  0.0009
 30m / 110m  1.96 0.311 474    1   4.239  0.0002
 50m / 80m   1.35 0.213 474    1   1.896  0.2311
 50m / 110m  1.47 0.234 474    1   2.405  0.0776
 80m / 110m  1.09 0.176 474    1   0.516  0.9552

year = 2019:
 contrast    ratio SE   df   null t.ratio p.value
 30m / 50m   1.34 0.203 474    1   1.906  0.2268
 30m / 80m   1.80 0.279 474    1   3.798  0.0009
 30m / 110m  1.96 0.311 474    1   4.239  0.0002
 50m / 80m   1.35 0.213 474    1   1.896  0.2311
 50m / 110m  1.47 0.234 474    1   2.405  0.0776
 80m / 110m  1.09 0.176 474    1   0.516  0.9552

Results are averaged over the levels of: field_element, sampling_time, treatment_day
P value adjustment: tukey method for comparing a family of 4 estimates 
Tests are performed on the log scale 

我應該使用不同的比較方式嗎? 我看到有的用poly~,我試了一下,結果圖片是一樣的。 我也在比較正確的東西嗎?

最后一個也是重要的問題是我應該如何報告 glmmTMB、Anova 和 emmeans 結果?

我不記得以前見過這個問題,但已經 8 個月了,也許我只是忘記了。

無論如何,我不確定到底是什么問題,但是發生的三件事可能會引起一些混亂:

  1. emmeans()調用具有規范pairwise ~ land_distance|year ,這導致它計算均值成對比較。 我認為將這些步驟分開幾乎總是能更好地為用戶服務,因為估計均值和估計對比是兩件不同的事情。

  2. 默認的均值匯總方式(估計值、SE 和置信區間)不同於比較或其他對比的默認方式(估計值、SE、t 比率和調整后的 P 值)。 這是因為,正如我之前所說,有兩種不同的東西,通常人們想要 CI 表示均值,而 P 值表示對比。 見下文。

  3. 這個 model 中有一個對數鏈接,在對比方面具有特殊屬性,因為對數刻度的差異是比率的對數。 因此,當我們有type = "response"時,我們會顯示一個比率。 (對於大多數其他鏈接函數,無法反向轉換轉換值的差異。)

根據 (1),我的建議是首先獲取方法(而不是比較):

EMM <- emmeans(Insect_002, ~ land_distance|year , type = "response")
EMM    # see the estimates

接下來可以進行成對比較:

CON <- pairs(EMM)   # or contrast(EMM, "pairwise")
CON            # see the ratios as shown in the OP
confint(CON)   # see confidence intervals instead of tests
confint(CON, type = "link")   # See the pairwise differences on the log scale

如果您真的想要響應尺度上的差異而不是比率,那也是可能的:

pairs(regrid(EMM))    # tests
confint(pairs(regrid(EMM))    # CIs

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM