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

如何从线性模型模拟结果计算系数95%置信区间(使用arm包sim函数)

基于arm包sim()结果计算系数95%置信区间的实现方法

arm::sim()返回的模拟对象sims中@coef槽存储了所有次模拟生成的系数结果,每一行对应1次模拟的全量系数值,每一列对应线性模型中的1个变量(顺序和lm()返回的模型系数顺序完全一致)。

你可以通过计算每列系数模拟值的2.5%、97.5%分位数得到对应系数的95%置信区间,完整代码如下:

# 1. 提取所有模拟得到的系数矩阵
sim_coefs <- sims@coef

# 2. 逐列计算95%分位数区间
ci_95 <- apply(sim_coefs, MARGIN = 2, FUN = function(col) {
  quantile(col, probs = c(0.025, 0.975), na.rm = TRUE)
})

# 3. 转置为易读格式(行对应变量,列对应置信区间上下限)
ci_95 <- t(ci_95)
colnames(ci_95) <- c("下限(2.5%)", "上限(97.5%)")

# 打印结果
print(ci_95)

补充说明

  • 该置信区间属于贝叶斯后验置信区间,和频率派confint(mod)的计算结果非常接近,模拟次数n越大,二者的一致性越高。
  • 如果需要查看单个变量的置信区间,直接提取对应行即可,比如查看normal_dist的95%置信区间:ci_95["normal_dist", ]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 10:15:01