【问题标题】:Is it appropriate to compare gamm (mgcv) models to get an interaction effect and how to do it?是否适合比较 gamm (mgcv) 模型以获得交互效果以及如何做到这一点?
【发布时间】:2021-07-29 00:37:31
【问题描述】:

我想知道随着时间的推移(我的意思是年龄,而不是波浪)的音量发展是否因群体而异。我也有一些协变量。 A做了一个模拟数据集:

library(simstudy)

def <- defData(varname = "volume", dist = "normal", formula = 1000, 
                      variance = 100)
def <- defData(def, varname = "group", formula = "1;2;3", dist = "categorical")
def <- defData(def, varname = "age", dist = "normal", formula = 14, variance = 2)
def <- defData(def, varname = "scanner", formula = "1;2", dist = "categorical")

set.seed(1)
sim.data <- genData(220, def)

我想出了以下模型:

library(mgcv)

sim.data$group <- as.factor(sim.data$group)

m1 <- gamm(volume ~ group + s(age, by = group, k = 20, bs = "tp") + scanner , data = sim.data, random=list(id=~1))

summary(m1$gam)

导致以下输出

Family: gaussian 
Link function: identity 

Formula:
volume ~ group + s(age, by = group, k = 20, bs = "tp") + 
    scanner

Parametric coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept) 997.3096     2.7303 365.280   <2e-16 ***
group2        0.5983     1.9557   0.306    0.760    
group3        1.2819     1.7592   0.729    0.467    
scanner       1.3806     1.3627   1.013    0.312    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Approximate significance of smooth terms:
              edf Ref.df     F p-value
s(age):group1   1      1 1.850   0.175
s(age):group2   1      1 0.001   0.969
s(age):group3   1      1 0.194   0.660

R-sq.(adj) =  -0.0133   
  Scale est. = 2.1375e-07  n = 220

我希望我可以用我的 s(age,by=group) 术语解释各组之间的发展差异,但它为我提供了每个组的平滑年龄参数。我怎样才能最好地评估交互效果(尽管我也在某处读到交互可能不是这个加法模型中的合适术语)?

我想过使用 anova(),将带有 by term 的模型与没有 by term 的模型进行比较

m2 <- gamm(volume ~ group + s(age, k = 20, bs = "tp") + scanner , data = sim.data, random=list(id=~1))

anova(m1$gam,m2$gam)

但是根据我比较 lm 模型和 anova() 的经验,这并没有给我预期的输出


Family: gaussian 
Link function: identity 

Formula:
volume ~ group + s(age, by = group, k = 20, bs = "tp") + 
    scanner

Parametric Terms:
        df     F p-value
group    2 0.297   0.743
scanner  1 1.026   0.312

Approximate significance of smooth terms:
              edf Ref.df     F p-value
s(age):group1   1      1 1.850   0.175
s(age):group2   1      1 0.001   0.969
s(age):group3   1      1 0.194   0.660

有谁知道比较模型是否适合研究交互效果以及如何获得实际效果?最好是我也可以用于成对分析的方法。

所有帮助将不胜感激!

【问题讨论】:

    标签: r interaction mgcv model-comparison


    【解决方案1】:

    有人离线向我提供了解决方案。您需要为分组变量创建一个有序因子,然后添加如下对比:

    sim.data$group<-as.factor(sim.data$group)
    sim.data$group<-as.ordered(sim.data$group)
    contrasts(sim.data$group) <- 'contr.treatment'
    

    您可以像往常一样进行分析

    m1 <- gamm(volume ~ group + s(age, by = group, k = 20, bs = "tp") + scanner , data = sim.data, random=list(id=~1))
    
    summary(m1$gam)
    

    希望这可以帮助任何与我遇到同样问题的人。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-01-18
      • 1970-01-01
      • 1970-01-01
      • 2020-05-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多