You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用loo对brms生成的GAM模型做LOO交叉验证时遇R致命错误

brms模型LOO交叉验证触发R致命错误问题

我用brms包拟合了多个GAM模型,计划通过leave-one-out(LOO)交叉验证筛选最优模型,但调用loo()函数时频繁出现异常,最终触发R致命错误,目前没有有效的排障路径。

环境详情

R version 4.2.2
Rstudio version 2023.12.0.369
brms version 2.20.4

可复现代码

set.seed(42)
df <- data.frame(y = rnorm(2000, 100, 20),
           x = rnorm(2000, 50, 20),
           a = sample(LETTERS[1:3], 2000, replace = TRUE)) 
m <- brm(y ~ s(x) + s(x, a, bs = "fs"),
       prior = c(prior(normal(0, 10), class = Intercept),
                 prior(normal(0, 1), class = b),
                 prior(normal(0, 1), class = sigma),
                 prior(normal(0, 1), class = sds)),
       family = gaussian(link = "identity"), data = df)
loo(m)

问题过程

执行上述代码后,会收到如下警告:

Warning message:
Found 1 observations with a pareto_k > 0.7 in model 'm'.
It is recommended to set 'moment_match = TRUE' in order to
perform moment matching for problematic observations.

按照提示将代码修改为:

loo(m, moment_match = TRUE)

此时直接触发R致命错误。

内容的提问来源于stack exchange,提问作者tnt

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 21:37:10