GLMM广义线性混合模型全解析:从原理到R语言实战
2026/9/17 3:59:27 网站建设 项目流程

都说自己的数据是“嵌套”的、要“混合模型”,可真打开软件准备拟合的时候,一堆问题就冒出来了:该选GLMM还是普通GLM?随机效应到底放哪些项?怎么判断模型拟合得好不好?我用GLMM做项目分析也好几年了,这篇就把GLMM的原理和分析套路掰开揉碎讲一遍,重点是哪些环节容易踩坑、每一步背后在做什么,争取让你读完能直接上手处理自己的数据。

什么是GLMM(广义线性混合模型)?它本质上是在广义线性模型(GLM)的基础上,把原来作为“固定参数”的截距和斜率,部分变成带有随机分布的“随机效应”,从而处理非正态分布数据和非独立观测。这句话信息量很大,拆开看就是两件事:第一,数据不服从正态分布(比如是0/1的患病与否、是计数的发病次数、是有序等级评分),普通线性回归假设不满足;第二,数据不是完全独立的,来自同一个受试者、同一家医院、同一块试验田、同一个班级的样本之间存在相关性,如果无视这种相关直接建模,参数估计的标准误会偏小,假阳性率会飙升。简单说,数据既“不服从正态”又“有分组结构”的时候,GLMM就是你该用的工具箱。

GLMM在生物医学、生态学、农业、环境科学、教育心理等各个领域的出镜率都很高。比如研究一种新干预策略对某指标的影响,退隐到多个试验中心去收集数据,中心之间本身有差异,每个中心内患者之间又是相关的,这种场景就是GLMM的主场。这篇内容主要面向科研人员、数据分析师和刚接触混合模型的硕博学生,你可以看到原理的直观解释,也可以直接套用的R语言分析流程,还有各种报错和“奇奇怪怪结果”的排查方法。

1. 模型选型与设计思路

1.1 为什么不能直接用GLM或者LMM

在进入GLMM原理之前,必须先回答一个实际决策问题:你的数据到底该用什么模型?很多人在分层数据上直接跑GLM,得到的结果表面看起来合理,其实早已埋雷。

GLM的隐含假设是观测之间独立。一旦数据具有层级结构,比如“病人镶嵌在医生下,医生镶嵌在医院下”,同一医院的患者之间通常比不同医院的患者更相似——用组内相关系数来衡量这种相似度,哪怕只有0.1,也会让标准误低估不少。标准误一变小,p值就容易显著,你报告出来的效应可能只是假阳性。

线性混合模型LMM则用来处理连续型正态响应变量。但现实中的结局变量很多并非连续正态:是否复发(二项),发病次数(泊松),问卷调查得分(有序多分类),这些数据用LMM去拟合,残差的正态性假设几乎必然被突破。严格来说,如果只是轻度违反正态,LMM有时候还能扛,但面对低计数或强偏态的分布,预测值可能直接跑到数值范围之外,出现“负的发病次数”这种诡异结果。

所以GLMM的核心定位是同时解决两个痛点:

  • 支持非正态响应变量,通过链接函数把模型预测值与数据的分布特点接起来。
  • 支持随机效应来刻画组内相关性和分组异质性。

如果你的数据只有一个水平,没有分组结构,用GLM即可;如果你的结局正态且分组结构简单,LMM即可;当两者同时越过阈值,GLMM就是绕不开的选择。

1.2 什么时候必须使用随机效应

判定“要不要加随机效应”最直接的方法是看你的抽样设计。数据是按簇、按个体重复测量、按单位分层采样的吗?除了固定效应之外,你是否有关注到组间差异这种“其他来源的变异”?

随机效应的本质是告诉模型:有些变异是分组结构带来的,但我们不关心具体每个组的位置差异,而只把这些组当作从某个更大的总体中随机抽出来的一部分。经典例子就是多中心临床试验:上面有几个中心是随机挑选的样本,我们希望结论能推广到所有潜在的中心,而不是局限于这5个中心,此时中心应该作为随机效应。同理,重复测量设计中每个受试者内部多次观测并不独立,受试者就是一个随机效应。

有一种常见的错误做法是把组别变量当作固定效应塞进模型,比如有10个中心就生成9个哑变量。这样做的后果是参数数量剧增,小样本下模型极不稳定;更重要的是,“中心”作为总体中的随机抽样,固定效应处理在逻辑上不能外推到没抽中的中心。为了推断到更广泛的总体,随机效应的思路才是对的。

2. 核心原理拆解:链接函数与随机效应如何协同工作

2.1 GLMM的一般数学表达

理解了应用场景,就可以看GLMM的数学结构。以最常见的广义线性混合模型为例:

g(E[Y_ij | b_i]) = X_ij β + Z_ij b_i

其中:

  • Y_ij是第i个组(或个体)的第j次观测;
  • g(·)是链接函数,比如logit、log、loglink;
  • X_ij是固定效应的设计矩阵,β是固定效应回归系数;
  • Z_ij是随机效应的设计矩阵,b_i是第i个组的随机效应,通常假设b_i ~ N(0, G),G是随机效应的方差协方差矩阵。

这个式子看起来复杂,但本质上就是在普通GLM的线性预测器部分后面,加了一项随机项Z_ij b_i。随机效应的存在让每个组拥有自己的“基础水平偏移”。在logit链接下,b_i可以理解成第i个中心在logit尺度上的基线偏移;在log链接下,b_i则是第i个组在计数尺度上的乘性偏移。

更直白的表达:固定效应是总体层面的平均效应,随机效应是在此基础上的个体/组偏离。模型最终计算的是在给定随机效应b_i的条件下,Y_ij的条件分布。这也是GLMM的一个重要特征:它关心的是“给定某个组”时结局的条件期望,而不是把组别积分掉后的群体平均。

2.2 链接函数的选择与“为什么要用链接”

链接函数g(·)是连接线性预测器和响应变量期望之间的桥梁。对于二项分布数据,典型选择是logit链接,即g(p)=ln(p/(1-p)),模型给出的是发生几率的对数值;泊松或负二项计数数据通常用log链接,保证预测计数值大于等于0;正态数据则常用恒等链接。

很多初学者会疑惑:为什么不能直接对概率p或者计数值做线性回归?原因很朴素:概率被限制在0到1区间,计数值被限制在非负区间,而线性预测器Xβ的取值范围是整个实数轴。如果不用链接函数把取值范围转换一下,模型就会预测出概率等于1.2这样的荒谬结果。链接函数是让线性部分与数据的实际取值范围兼容的桥梁。

选择哪个链接函数不是随便决定的,它应当与数据的本质和可解释性一致:

  • logit链接的可解释性极强,回归系数的指数化就是比值比OR,医学和流行病学最常用;
  • probit链接在处理潜在正态变量时更自然,但系数解释相对不直观,所以应用场景相对集中;
  • log链接指数化之后得到发生率比RR,适合计数资料和对数线性模型。

实际项目中,如果二分类数据的事件率极低或极高,logit和probit差异不大;但计数数据的过离散问题更常见,需要先用负二项分布替代泊松再做检查。这种分布族的选择会在第4节实操里详细说明。

2.3 随机效应的方差协方差结构

随机效应部分并不仅仅是一堆随机的组截距,它本身可以有不同的结构。最简单的随机截距模型是每个组只有一个随机截距,相当于不同组的基线水平在总体平均截距附近波动。如果某个固定效应的斜率在不同组之间也存在差异,就需要随机斜率。比如研究处理效应在不同试验中心会不会不一样,可以设置随机斜率:treatment在中心层面随机波动。

当同时存在随机截距和随机斜率时,还需要考虑协方差结构。模型允许截距与斜率相关,比如某个中心的基线风险更高,其处理效应也更强,这种相关会被估计出来。参数更复杂的模型包括非结构化协方差、复合对称、一阶自回归等,用于不同场景的时间序列或空间数据。实际分析中一定要警惕“参数过多导致无法识别”的情况,常见组合是随机截距加一两个随机斜率,再多就容易把所有方差都吸干,出现奇异拟合。

2.4 边缘估计与条件估计的差别

这是GLMM里最常见的理解盲区,也是审稿人必问点:GLMM的固定效应参数到底是“谁的效应”?

由于随机效应b_i存在,我们有两种看待预测的方式。第一种是条件估计,即给定b_i时Y条件均值的变化,系数解释为“在某个特定组内,X增加一个单位,结局指标变化多少”。第二种是边缘估计,把b_i积分掉之后得到的总体平均效应,解释为“在整个人群或所有组平均意义上,X增加一个单位,结局指标平均变化多少”。

对于线性混合模型,条件估计和边缘估计恰好相等,因为随机效应的期望为0,且链接是恒等的。但一旦使用了非线性链接函数(logit、log),两者就不再一致。以logit链接为例,固定效应系数β是组内(条件、受试者水平)的优势比对数,由于logit的反函数不是线性函数,将随机效应积分掉后得到的边缘优势比会被压缩向1。换句话说,GLMM给出的系数一般会比GEE等边缘模型的系数绝对值更大。这个差异不是bug,是模型记账方式不同。在报告结果时一定要说清楚你给的是哪种。如果你关心个体水平上的机制关系,条件估计更合适;如果你只关心群体平均干预效果,边缘模型的GEE往往更直接。

3. 全流程分析实操:从数据清洗到结果解读

3.1 数据分析的原则性流程图

在实际处理GLMM数据时,我习惯固定走一套流程,这样可以避免漏掉关键步骤:

  1. 数据探索:查看数据结构、组数、每组样本量、响应变量分布;
  2. 确定固定效应与随机效应;
  3. 选择分布族和链接函数;
  4. 拟合模型,检查收敛情况;
  5. 模型对比与检验;
  6. 残差诊断与异常值排查;
  7. 结果解释、可视化和报告。

3.2 初始数据探索时要注意的四个指标

分析开始前,不能直接套模型,先把数据结构摸清楚。此时重点看四件事:组数、各组的样本量分布、响应变量的整体分布、自变量之间的共线性。

组数是一个容易被忽略的生死线。组数太少,随机效应方差估计会不稳定。一个粗略经验是:分组数目少于5到6个时,随机效应的方差估计偏差会很大,这种时候考虑把分组变量作为固定效应,或者用惩罚拟似然等方法可能更稳妥。但这也会牺牲泛化性,需要权衡。

再看每组样本量。如果某组样本量只有1到2个,而另一组有大几百,这种极端不平衡会让随机效应估计向样本量大的组倾斜,小组的随机效应方差被压缩。对于二分类或计数结局,极端不平衡还容易引发完全分离(某个组的响应全为0或全为1),导致估计不收敛。

响应变量的分布要看清楚:如果是二分类,看一下事件发生率高低;如果是计数,看均值和方差的比值,粗略估算是否过离散;如果存在大量0值,就要小心零膨胀问题。这些判断直接影响分布族的选择。

3.3 分布族怎么选:二项、泊松、负二项还是更多

响应变量是二分类时,默认选择二项分布族加logit链接;结局是计数数据,且均值等于方差时,泊松分布是理论首选。但现实中的计数数据方差几乎总是大于均值,出现过度离散。这时继续使用泊松,标准误会被低估,显著性检验会过于乐观。

判断过离散的简单方式是拟合泊松模型后,把皮尔逊卡方统计量除以剩余自由度(残差偏差除以df),如果明显大于1.5,就考虑改用负二项分布。另一种办法是在模型中添加观测级别的随机效应(每个观测都加一个随机截距),也能吸收一部分过离散,但解释起来没有负二项分布那么直接。

如果计数数据中零的比例远超泊松或负二项分布的预期,可能需要零膨胀模型(ZIP/ZINB)或 hurdle 模型。零膨胀模型把数据看作“结构零”和“计数零”的混合,而hurdle模型则把“是否发生”和“发生多少”两阶段分别建模。两者适用于不同的问题,分析成本较高,但当你发现零多得离谱时,这几乎是必由之路。

3.4 随机效应怎么设置

随机效应设置是GLMM建模中最需要“职业判断”的环节。一个比较可靠的思路是:先从研究设计和采样结构出发。重复测量数据,受试者id就是随机效应;多中心数据,中心就是随机效应;学生有班级、学校两层嵌套,就可以构造班级和学校的嵌套随机效应。

在拥有随机截距后,如果解释变量在组间的效应差异本身是研究的关注点,并且理论上不同组的效应确实可能有所不同,再考虑增加随机斜率。随机斜率并非越多越好,每一个随机效应都会让模型的参数空间变大,极大似然估计在高维参数下容易卡在局部最优或出现边界估计。

完整嵌套结构还应考虑交互项和相关性。比如医院嵌套在城市,城市嵌套在地区;如果不同层级的样本都只有少数,不建议把所有层级的随机效应都放进来。一个通行做法是先用全模型拟合,如果出现奇异拟合(随机效应方差估计为0或相关系数绝对值为1),就要简化随机结构,删除那个几乎无变异的随机项。

3.5 固定效应要不要交互项

固定效应部分和普通回归无异,可以做主效应模型,也可以添加交互项。只是GLMM样本量往往不能像线性回归那样“挥霍”,尤其在二分类或计数结局中,参数过多会让收敛难度急剧上升。

建议先列一个候选变量清单,通过单变量分析筛选潜在变量,再放到多变量模型中。交互项不要一上来就全部放进,而是基于研究假设谨慎考察。对于探索性研究,用AIC/BIC比较包含交互项和不含交互项的模型,是一个相对可行的办法;但在做多个模型对比时,要明确你比较的模型集合并不是预先规划好的,多重比较的问题需要留意。

3.6 参数怎么估计:REML、ML、Laplace与GHQ

GLMM的估计问题比普通线性模型麻烦得多。因为随机效应b_i不是直接观测到的,需要通过积分把所有b_i的概率分布积分掉,才能得到边界似然;当响应变量是非正态分布时,这个积分通常没有解析解。于是各种近似方法登场了。

在R的lme4包中,glmer默认使用Laplace近似,就是把积分里面的被积函数在众数附近做二次近似,速度较快,对大多数数据来说已经够用。对于二项和泊松这类分布,如果组内观测数目不大、随机效应结构简单,Laplace近似效果不错。当你对精度要求更高、随机效应结构较复杂或数据量不大时,可以设置nAGQ 来增加自适应高斯-厄米特求积点数。nAGQ的值越大,积分近似越精确,但计算量成倍增长,通常10到25即可,不建议在随机斜率模型中盲目调高。

对应到线性混合模型LMM里,通常用REML(限制最大似然)来估计方差分量,因为REML对方差分量的估计偏差更小。但GLMM中REML的推广比较复杂,主流做法是直接用最大似然估计。这一点和LMM很不一样,拿到glmer输出后你会看到它写的是ML,不必惊讶。模型比较时也要注意,要比较固定效应,应该用ML估计或基于最大似然的LRT;要比较随机效应结构,传统思路是基于REML的比较,但在GLMM中操作起来限制比较多。

4. R语言实战:以多中心二分类数据为例

4.1 模拟数据和模型拟合

接下来用一个多中心二分类数据的例子串一遍整个流程。假设我们有20个中心,每个中心里有30名受试者,结局是新方案是否有效(0或1),自变量包括处理组T(0/1)和一个连续变量X(比如基线得分)。中心之间存在异质性,我们用随机截距刻画。

先用R模拟一份这样的数据,便于复现:

set.seed(123) n_center <- 20 n_subject <- 30 center_id <- rep(1:n_center, each = n_subject) T <- rbinom(n_center * n_subject, size = 1, prob = 0.5) X <- rnorm(n_center * n_subject, mean = 50, sd = 10) b0_int <- rnorm(n_center, mean = 0, sd = 0.8) b0 <- rep(b0_int, each = n_subject) eta <- -1.2 + 0.7 * T + 0.03 * X + b0 p <- plogis(eta) Y <- rbinom(n_center * n_subject, size = 1, prob = p) dat <- data.frame(center = factor(center_id), T = T, X = X, Y = Y)

拟合一个二项GLMM:

library(lme4) model1 <- glmer(Y ~ T + X + (1 | center), data = dat, family = binomial(link = "logit"), nAGQ = 10) summary(model1)

输出中会有一块“Random effects”,展示center的标准差估计,以及“Fixed effects”的系数、标准误和z值、p值。此时T系数的指数化就是调整X后处理组的条件优势比:

exp(fixef(model1)["T"])

如果数据里每个中心不是按人而是按“事件数/总例数”记录,比如每个中心有成功数和失败数,对应语法是cbind(success, fail)作为因变量,模型中观察对象变成中心级别的记录,这时需要在中心级别加一个观测水平随机效应来应对过离散,或者在模型外判断该不该用beta二项模型。

4.2 模型比较与固定效应检验

固定效应是否显著,不能只看summary里的z检验和p值。z检验是建立在渐近理论基础上的,当组数不够多或组内样本量较小时,z检验的p值容易偏小。更稳妥的做法是用似然比检验来比较含该固定效应与不含该固定效应的两个嵌套模型:

model0 <- glmer(Y ~ X + (1 | center), data = dat, family = binomial, nAGQ = 10) anova(model0, model1, test = "LRT")

注意此时两个模型都用最大似然估计,等价,可用LRT。还有一种常见的进阶方法是使用参数自助法(parametric bootstrap)来获得p值,但计算量较大。对LMM来说,可以用lmerTest包里的Satterthwaite或Kenward-Roger方法近似自由度;对GLMM没有这样精致的近似,所以LRT和bootstrap是更普遍的选择。

4.3 模型诊断与过离散排查

拟合完成后,不要急着写结论。我至少要做三件事:

第一,看是否出现singular fit警告,这通常意味着随机效应方差被估计为0或接近0。以glmer输出为例,如果随机效应方差输出为0,说明中心变异很小,可以考虑简化模型,去掉该随机效应后重新比较。

第二,使用DHARMa包的模拟残差做整体诊断。DHARMa的核心思想是把观测值放在模型模拟的预测区间里,计算标准化残差,检验是否存在系统偏差。对GLMM来说,传统残差图很不友好,DHARMa的做法直观且稳健:

library(DHARMa) simulationOutput <- simulateResiduals(fittedModel = model1, n = 250) plot(simulationOutput)

如果发现残差有趋势,就要检查是否漏了重要的固定效应项或随机效应项。

第三,检查过离散指标。对于二项分布,广义上的过离散也可通过residual deviance与df比值粗略评估,但更推荐用模拟方法。对于计数模型,则计算Pearson chi2/df,大于1.5即提示过离散。过离散的处理办法是换负二项分布(glmmTMB包的nbinom2),或者保留并改用鲁棒标准误。

4.4 预测与可视化

GLMM的预测要区分“包含随机效应”的预测和“仅固定效应”的预测。当我们想要画出一条效应曲线时,通常画出固定效应的边际预测,随机效应的预测区间则通过模拟随机效应的分布来体现不确定性。在R里,可以用ggeffects或emmeans做:

library(ggeffects) pred <- ggpredict(model1, terms = c("X", "T")) plot(pred)

如果你关注的是某个中心的具体预测值,可以把随机效应加回去,得到条件预测。但报告论文中的效应量,最好给出固定效应层面的预测,并说明这是在随机效应为0时的典型水平。很多审稿人会要求同时报告条件预测和边缘预测,或者至少说明模型设定。

5. 常见问题与排查技巧实录

5.1 模型没收敛怎么办

最常见的报错是“Model failed to converge”。这时候先不要慌,按顺序排查:

  • 检查固定效应变量是否经过标准化或中心化。当变量尺度相差悬殊,优化器很难在有限迭代内收敛到平坦区域;
  • 可以增加迭代次数:用control参数设置maxfun,比如glmerControl(optCtrl = list(maxfun = 100000));
  • 更换优化器,有时默认bobyqa不收敛,换Nelder_Mead反而顺利;
  • 对随机效应结构做简化,去掉随机斜率或相关性结构;
  • 使用allFit函数来测试不同优化器,看是否都能得到接近的参数。如果只有个别优化器结果不同,参数基本稳定,报告时可以说明收敛判断的稳定性。

5.2 奇异拟合与零方差

奇异拟合的表现为随机效应方差估计为0或1。可能原因有三种:数据实际组间变异极小;分组数量太少;随机斜率模型过于复杂。处理策略是先做探索性分析确认组间ICC是否确实较小。如果ICC接近0,去掉该随机效应是合理的。另一种做法是保留结构,用贝叶斯方法在随机效应方差上加上弱先验,逼着方差不落到0,但这超出了频率学派框架,投入更大。

5.3 过离散与残差异常

如果残差的DHARMa图显示KS检验显著或残差异常,先查看数据是否过离散、是否存在零膨胀、是否漏掉了关键固定效应或随机效应。处理顺序是:先补固定效应,再看分布族,最后加观测级随机效应或零膨胀组件。在glmmTMB中,可以用nbinom2、zero-inflated等组件一步到位,但一定要比较模型之间的AIC,以避免无谓的复杂化。

5.4 组数太少怎么办

组数少于5时,随机效应的方差估计可能非常不稳定。此时有几种思路:把分组作为固定效应(但结论无法外推到其他组);使用鲁棒标准误的GEE边缘模型;如果不介意贝叶斯方法,可以用brms配合正规化先验。多数期刊也接受GEE做多中心数据分析,参数解释为群体平均效应,与GLMM解释不同,但同样合理。

5.5 结果报告中的关键表格信息

报告GLMM结果至少需要包含以下内容:固定效应估计、标准误、检验统计量、p值或置信区间;随机效应的方差分量;分布族与链接函数;估计方法(ML还是REML、近似方法);模型比较结果;观测数量与组数。如果用了负二项或零膨胀模型,还要报告额外的离散参数或零膨胀概率。最后,务必说明系数是条件效应还是边缘效应,原文有这个区分,才不会在讨论和审稿阶段被抓住把柄。

6. 工具选型与模型扩展方向

6.1 R包怎么选

R语言的lme4是轻量级首选,glmer函数覆盖绝大多数GLMM需求,运行速度快,文档丰富。glmmTMB则在分布族上大大扩展,支持负二项、零膨胀、β分布、截断分布、空间协方差结构,对于生态学和流行病学资料特别顺手。nlme包更适合处理复杂的时间序列相关结构,但它是面向LMM的,GLMM支持不完整。贝叶斯路线的brms功能非常全面,能处理任意分布族和自定义模型,代价是MCMC采样耗时和无明显检验统计量,如果你对先验有把握,它可能是处理复杂随机效应的最优解。工具选型要看数据量、模型复杂度、使用场景,lme4解决不了的就升级到glmmTMB或brms。

6.2 GLMM后续还可以怎么扩展

复杂抽样条件下的多水平数据,可以扩展到三水平的嵌套随机效应或多水平的跨类交互。例如生态学中的样方-样地-区域嵌套,医学中的测量-患者-医院嵌套,语法上就是在随机效应部分用斜杠或嵌套表达式来表达。重复测量的纵向数据如果时间趋势本身是非线性的,还可以加入时间相关的随机斜率或样条项。空间、时间上的相关结构也可以在glmmTMB的协方差选项中设置。

如果数据中有多个随机因素且彼此不是完全嵌套而是交叉的,比如患者随机分配后既有医院间差异又有医生间差异,医生可能同时在两家医院出诊,模型就需要交叉随机效应。写法和嵌套有所区别,用 (1 | hospital) + (1 | doctor) 即可。这个设定上的差异,确保你理解你的数据结构确实是嵌套还是交叉,错误设定会让随机效应方差被分配到错误的层级。

6.3 一个扩展案例简述

设想一个纵向随访研究,每个人质在多个时间点重复测量计数结局,研究中心有多个,研究者的兴趣在治疗和时间的交互作用,同时要考虑每个人的基线水平不同、每个人的时间趋势也不同。在lme4中模型可以写为:

glmer(Y ~ T * time + X + (1 + time | id) + (1 | center), data = dat, family = poisson)

其中(1 + time | id)表示每个受试者允许随机截距和随机斜率,且截距与斜率相关;(1 | center)表示中心层面的基线偏移。拟合完成后,要检查过离散是否仍然存在,如果存在,考虑将其替换为负二项分布。这个模型就综合了嵌套、重复测量、随机斜率和广义分布,基本是GLMM家庭里的高级形态了。

7. 总结我的实操经验

分析做到最后,反而要提醒一点:GLMM的每个细节都可能在某个场景中变成灵丹妙药或者暗坑。我在实际中体会最深的,一是组数最小阈值问题,很多人拿着5个中心的数据还强行做随机斜率,模型输出花团锦簇,可交叉验证结果一塌糊涂;二是忽略了条件效应与边缘效应的区别,会在论文里写出两种含义完全不同的解释误导读者;三是过度依赖默认选项,既不做模型诊断也不看随机效应估计,遇到数据极端就直接报错,硬件条件其实并无问题。

最后再分享一个小技巧:构造一个和真实数据规模、结构相同的小模拟数据集,先跑一遍全流程,再迁移到真实数据上。模拟数据的好处是知道真实效应值是什么,你可以在模拟数据上检验模型能不能估计回来,这种方法能帮你提前识别收敛问题、变量尺度问题和模型设定错误,绝对值得花时间做。做数据分析,建模前的思考和建模后的诊断各占一半时间,GLMM可不是跑出一张表就能交差的模型。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询