二项式时间GAMM不收敛(R::mgcv)

二项式时间GAMM不收敛(R::mgcv),r,mixed-models,gam,mgcv,R,Mixed Models,Gam,Mgcv,我对混合效应模型和加性模型都是新手,所以如果这里的答案是琐碎的,我很抱歉 我收集了一些代谢化学物质(M1,M2…),协变量(时间,种族,性别…)和疾病状态(D,D二进制)的数据。我试图根据从GEE变量选择中选择的变量生成GAMM 数据: 8例,51例对照 每个受试者大约有10个时间点 约630次观察 M1,M2…M3是代谢物,其中许多是由共同部分形成的,代谢物水平相互关联,因为它们竞争相同的组成部分 协变量将受试者分为亚组 这是我现在的模型: > b = gamm(D.binary ~

我对混合效应模型和加性模型都是新手,所以如果这里的答案是琐碎的,我很抱歉

我收集了一些代谢化学物质(M1,M2…),协变量(时间,种族,性别…)和疾病状态(D,D二进制)的数据。我试图根据从GEE变量选择中选择的变量生成GAMM

数据:

  • 8例,51例对照
  • 每个受试者大约有10个时间点
  • 约630次观察
  • M1,M2…M3是代谢物,其中许多是由共同部分形成的,代谢物水平相互关联,因为它们竞争相同的组成部分
  • 协变量将受试者分为亚组
这是我现在的模型:

> b = gamm(D.binary ~ Time  + s(M1)  , 
      random = list(ParticipantID = ~ 1 + Time),  niterPQL=50,
      data = NEC_data, family=binomial(link="logit")) 

 Maximum number of PQL iterations:  50 
 iteration 1
 iteration 2
 ...
 iteration 49
 iteration 50
 Warning message:
 In gammPQL(y ~ X - 1, random = rand, data = strip.offset(mf), family = family,  :
  gamm not converged, try increasing niterPQL

> plot(b$gam,pages=1)

任何关于进入多维空间的建议也将不胜感激

附加 我还用离散疾病分类(控制:0,1疾病:2,3)和泊松噪声尝试了这个模型

> b = gamm(NEC ~ DPP  + s(DSLNT_ug.mL)  , 
+      random = list(ParticipantID = ~ 1 + DPP),  niterPQL=20,
+      data = NEC_data, family=poisson) 

 Maximum number of PQL iterations:  20 
iteration 1
iteration 2
...
iteration 19
iteration 20
Error in solve.default(pdMatrix(a, factor = TRUE)) : 
  system is computationally singular: reciprocal condition number = 3.13906e-19

每个参与者有多少分?逻辑回归的诊断图永远不会看起来“正确”(正如你从高斯回归的正态分布残差中所期望的那样)。@RomanLuštrik每个受试者大约有10个样本。受试者每隔一天取样一次,持续约20天。另外)是否有不同的检查,我应该运行的物流?另外)我发现logistic GAMM的用法很少,GAMM不适用于logistic回归吗?我认为这个问题最好在crossvalidated.com上解决。
> b = gamm(D.binary ~ Time  + s(M1) + s(M2) , 
      random = list(ParticipantID = ~ 1 + Time),  niterPQL=20, correlation = corLin(),
      data = NEC_data, family=binomial(link="logit"))

 Maximum number of PQL iterations:  20 
iteration 1
iteration 2
Error in lme.formula(fixed = fixed, random = random, data = data, correlation = correlation,  : 
  nlminb problem, convergence error code = 1
  message = false convergence (8)
> b = gamm(NEC ~ DPP  + s(DSLNT_ug.mL)  , 
+      random = list(ParticipantID = ~ 1 + DPP),  niterPQL=20,
+      data = NEC_data, family=poisson) 

 Maximum number of PQL iterations:  20 
iteration 1
iteration 2
...
iteration 19
iteration 20
Error in solve.default(pdMatrix(a, factor = TRUE)) : 
  system is computationally singular: reciprocal condition number = 3.13906e-19