GAMM:使用二元差分平滑函数与分类变量即2 x 2 x 2实现三向交互

问题描述

按照Wieling的2018 GAMMs教程的指导,我试图构建一个模型,该模型在概念上包括三个2级分类因子的相互作用,以将这些因子重新编码为二进制数值变量。
数据集包括二进制精度DV acc,它随时间Trial进行测量。感兴趣的预测变量是三个2级因子,Talker(NE,NS,参考:NE)和Predictability(LP,HP,参考:LP),以及参与者Group (YNH,ONH,ref = YNH)。我包括SubjectCode(又称项目)的随机平滑。 根据Wieling的建议,我构造了如下的二进制变量,以表示参考组(即NE / HP / YNH-NS / HP / YNH)的Talker-差异,以及差异的差异(即[NE / HP / YNH-NS / HP / YNH]-[NE / HP / ONH-NS / HP / ONH]):

dat$Is_NS = (dat$Talker == "NS")*1

dat$Is_NS_ONH = (dat$Group == "ONH" & dat$Talker == "NS")*1

那么,差异的自然扩展就是:

dat$Is_NS_HP_ONH = (dat$Predictability == "HP" & dat$Talker == "NS" & dat$Group == "ONH")*1

我的模型如下:

acc.model = bam(acc ~ Predictability +   
               s(Trial,by = Predictability,k=20,m=1) +  
               s(Trial,by = Is_NS,k = 20,by = Is_NS_ONH,m=1) + 
               s(Trial,by = Is_NS_HP_ONH,Subject,bs = ‘fs’,m=1)+
               s(Trial,Code,bs = 'fs',m=1),family = binomial,method = "fREML",discrete = T,data = dat)

它成功运行,对平滑图的检查表明该模型正在捕获我在原始数据图中看到的内容,但是我不确定在没有看到此类分析的任何其他示例的情况下肯定使用此模型。输出结果如下:

Family: binomial
 Link function: logit

 Formula:
 acc ~ Predictability + s(ItemNum,m = 1) + s(ItemNum,bs = "fs",m = 1) +
     s(ItemNum,m = 1)

 Parametric coefficients:
                  Estimate Std. Error z value Pr(>|z|)    
 (Intercept)        2.6675     0.1499  17.798  < 2e-16 ***
 PredictabilityHP   0.7879     0.1290   6.108 1.01e-09 ***
 ---
 Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

 Approximate significance of smooth terms:
                                edf    Ref.df  Chi.sq  p-value    
 s(ItemNum):PredictabilityLP    3.635e+00     19  11.546  0.00086 ***
 s(ItemNum):PredictabilityHP 4.958e-05     19   0.000  0.65023    
 s(ItemNum):Is_NS            1.000e+00      1  30.848 2.79e-08 ***
 s(ItemNum):Is_NS_ONH        1.000e+00      1   2.898  0.08871 .  
 s(ItemNum):Is_NS_HP_ONH     1.000e+00      1  10.672  0.00109 **
 s(ItemNum,Subject)          2.740e+01    269 158.595  < 2e-16 ***
 s(ItemNum,Code)             1.102e+02   1165 253.887  < 2e-16 ***
 ---
 Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

 R-sq.(adj) =  0.147   Deviance explained = 20.9%
 fREML = 7134.9  Scale est. = 1         n = 5999

按照Wieling的示例,我尝试重建组合哪些平滑以对在2x2x2设计中进行比较的8个条件中的每一个进行建模,以进行健全性检查,但会遇到某些条件。我相信,为了对其余条件建模,我需要重新调整级别并重新运行模型。

NE,YNH,LP: Modeled with s(Trial): PredictabilityLP
NE,ONH,LP:
NE,HP: s(Trial): PredictabilityHP
NE,HP:
NS,LP: s(Trial): PredictabilityLP + s(Trial,by = Is_NS)
NS,LP: PredictabilityLP + s(Trial,by = Is_NS) + s(Trial,by = Is_NS_ONH)
NS,HP: s(Trial): PredictabilityHP + s(Trial,HP: s(Trial): PredictabilityLP + s(Trial,by = Is_NS_ONH) + s(Trial,by = Is_NS_LP_ONH)

对此方法的适用性提出任何反馈,我们将不胜感激!

(其他一些注意事项/注意事项:该模型不包括任何AR建模,因为该数据集的自相关值一直很低。我也知道将gamm4用于非高斯数据,并且正在分别研究!我认为这些问题也适用于高斯数据集)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...