问题标签 [glmmtmb]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
r - 如何使用 GLM 泊松输出计算百分比变化
背景:我有计数数据(甲虫计数),我正在研究处理梯度对计数数据的影响。梯度是一个连续的预测变量,由“7个级别”组成(即-100%减少、-80%减少、-60%减少、-40%减少、-20%减少、0%减少和50%增加) . '0% 减少'意味着没有变化,或者这就是控制。我想使用 GLM 输出将处理“-60% 减少”(例如)与“0% 减少”进行比较。
如何在 R 中使用具有泊松分布和日志链接的 GLMM 输出来计算“减少 -60%”和“减少 0%”之间计数数据的百分比变化?
这是模型的示例:
地块编号 | 治疗 | 甲虫数 |
---|---|---|
1 | -60 | 4 |
2 | -20 | 13 |
3 | 0 | 23 |
4 | -100 | 2 |
5 | 50 | 10 |
6 | -80 | 3 |
7 | -40 | 5 |
8 | 0 | 14 |
9 | -20 | 9 |
10 | -60 | 7 |
11 | -100 | 1 |
12 | -40 | 2 |
r - R - 用 glmmTMB 计算预测区间
我只是在寻找代码来计算我的 GLMMS 的预测区间(而不是 95% 的置信区间)。使用 glmmTMB 可以吗?
谢谢
r - RCBD 的模型结构,lme4 和 glmmTMB 中的裂区重复测量混合效应
正如标题所说,我的一个项目的实验设计给了我一些真正的数据分析难题。我有一个封闭的实验(n=13),每块有 8 个图。用三种处理的全因子组合处理块,每种处理具有两个水平(对照和处理)。此外,块被分割,第四次处理应用于每个地块的随机一半。
我们的目标是确定对一组响应变量影响最大的治疗组合。我们监控了许多响应变量,每个变量都有自己的复杂性。这包括:
我们记录了处理前和处理后三年的一组土壤测量值。我的 PI 建议使用 (Pre-post)/Pre 的指标来衡量由预处理值缩放的百分比变化。
处理后 6 个月和 3 年时间点的土壤测量。我们最终会有一个中间时间点,但仍在处理样本。奇迹般地,这个变量是正态分布的,我用重复测量
lmer
模型对此进行了分析。对高度零膨胀的连续变量的重复测量。我正在探索在 glmmTMB 模型中使用 zi beta 分布。
重复测量的植物计数数据也高度零膨胀。这包括植物的总数,以及可能是(总侵入性)/总的非本地植物的量度,但我不赞成这种方法。我正在研究 zi Poisson 或负 bionmial 进行此分析。
我从 1 开始,以建立我对这种分析方法的理解。我的 PI 不能在 R 中工作,所以我在网上搜索了指导,并遇到了我所在机构的统计咨询实验室。不幸的是,统计顾问也不是经验丰富的 R 用户,所以我担心我一直在运行的模型可能结构不正确。
这是任何给定变量的数据的通用示例
堵塞 | 阴谋 | T1 | T2 | T3 | 分裂 | 治疗 | 时间 | 回复 |
---|---|---|---|---|---|---|---|---|
1 | 1 | 应用 | 控制 | 控制 | 应用 | Applied_Control_Control | Apr-18 | 12 |
1 | 1 | 应用 | 控制 | 控制 | 控制 | Applied_Control_Control | Apr-18 | 3 |
1 | 2 | 控制 | 应用 | 控制 | 控制 | Control_Applied_Control | Apr-18 | 7 |
1 | 3 | 控制 | 应用 | 应用 | 应用 | 控制_应用_应用 | Apr-18 | 12 |
lmer.1 <- lmer(Change ~ Block + T1*T2*T3*Split + (1|Treatment:Block), data=data1)
其中 change= (Pre-Post)/Post ; 块=块;T1-3 是三个整区处理,每个处理都有两个水平(对照,处理);拆分是在裂区级别应用的处理;而治疗是T1-3的特定组合应用于一个情节,所以它有8个级别。lmer.2 <- lmer(Response ~ Block + T1*T2*T3*Split*Time + (1|Treatment:Block) + (1|Time) , data=data2)
时间是样本的月/年,采用日期格式gme.3<- glmmTMB(Measurement~Block + T1*T2*T3*Split+ (1|Treatment:Block), data=data3, ziformula=~1, family=beta_family(link='logit'))
在这里,我正在尝试实现零膨胀的 beta 分布。当以任何方式在此模型中包含时间时,我无法获得模型收敛,因此到目前为止我选择分别查看四个时间点中的每一个。
我尝试以这种方式运行它:
gme.3<- glmmTMB(Measurement~Block + T1*T2*T3*Split*Time + (1|Treatment:Block) + (1|Time) , data=data3, ziformula=~1, family=beta_family(link='logit'))
并收到警告:警告(函数(start,objective,gradient = NULL,hessian = NULL,:NA / NaN函数评估)输出具有除估计之外的所有内容的NA。
这是按时间点分解的原始数据的直方图,以显示我们正在使用的形状:
- 还没有尝试过,但它可能会采用 3) 的方式,但指定了不同的家庭。
我对到目前为止所做的事情的问题/担忧包括
这个模型结构是否充分反映了我的实验设计,尤其是在裂区方面。分裂图的两侧在空间上不是独立的,这似乎没有反映在代码中,但我找不到任何如何更好地处理这个问题的例子。我还怀疑我的嵌套结构是向后的,应该是 (1|Block:Treatment)
对于重复测量,我将时间作为与治疗的交互效应,并在我咨询的统计学家的指导下将其作为随机效应(1|时间)。我的阅读表明它应该仅作为随机效应包含在内?
如果我的样本量不足以支持 glmmTMB 模型的重复测量方面,我可以接受,但是在此模型构建中是否存在明显的问题?
长期阅读者;第一次问。如果有更多信息或细节有助于回答我的问题,请告诉我。
r - 关于在重复测量中改进混合模型的模型拟合的建议?
我有重复的测量数据,outcome
包括在 149 名患者中进行的总共 310 次测量(每位患者的测量量范围为 1-6 次)。对于所有患者,临床危险因素在基线时测量一次。对于我的分析,我使用以年龄为时间变量的线性混合模型,对所有风险因素与结果变化的关联进行了建模。此外,混合模型包括每个患者的随机截距和残差的连续一阶自回归相关结构,以及结果的自然对数变换(因为这是严重右偏的)。
我的数据如下所示:
我指定的模型如下:
鉴于这个模型,我认为残差图和 QQ 图看起来不太好。具体来说,对于较小的拟合值,残差似乎较大,并且 QQ 图的尾部偏离正态性。获取图的代码:
残差图中存在的对角线是观察结果为 0 的患者。因此,我认为通过指定一个障碍模型可能会改善模型拟合,该模型包括使用 GLMMadaptive 对结果是否为零的二分指标进行逻辑回归::混合模型。然而,这个模型不会收敛(而且我对统计数据的理解不够好,无法理解为什么)。我尝试通过删除一些固定和/或随机效应使模型更简单,但它仍然不会收敛:
非常感谢任何关于改善残差正态性和/或如何进一步建模多余零点的想法!