
贝叶斯零假设检验不再困惑bayestestR equivalence_test一键完成等效性检验教程【免费下载链接】bayestestR:ghost: Utilities for analyzing Bayesian models and posterior distributions项目地址: https://gitcode.com/gh_mirrors/ba/bayestestR做贝叶斯分析时你是否也纠结过如何证明效应为零R 包bayestestR的equivalence_test()函数就是解决这一难题的利器它基于 HDI最高密度区间 ROPE实际等效区域决策规则一键完成贝叶斯等效性检验帮你判断某个效应是显著存在、实际等价于零还是尚不确定。本文面向新手用最少的代码讲清楚这套贝叶斯零假设检验的完整流程。一、为什么贝叶斯里不能直接p 0.05在贝叶斯框架下参数后验分布是连续的参数恰好等于 0的概率严格来说是 0——所以传统的验证零假设在贝叶斯中行不通必须换一种思路。上后验分布中的 MAP、中位数与均值等点估计出自 bayestestR 官方论文插图解决办法是引入实际等效区域ROPERegion of Practical Equivalence与其问效应是不是精确等于 0不如问效应是否落在一个可忽略的小范围内。比如效应落在 [-0.1, 0.1] 内可以视为没有实际意义这就是一个 ROPE。二、ROPE定义等效的范围ROPE 就像在数轴上圈出一块等效区落在里面的参数值都被视为实践上等于零左上角红色区域即 ROPERegion of Practical Equivalence其余三格展示了 pd 方向概率、贝叶斯因子与 p-map 等互补指标那么 ROPE 的边界怎么定bayestestR 内置了智能默认值range default会自动按模型类型选择合适的等效区间模型类型默认 ROPE依据线性回归0 ± 0.1 × SD(y)Cohen 的可忽略效应量逻辑回归[-0.18, 0.18]对数几率比标准化转换相关分析[-0.05, 0.05]Cohen 可忽略相关的一半其他模型[-0.1, 0.1]通用默认自动计算逻辑见 rope_range.R详细说明见 rope.R。三、HDI ROPE 决策规则三种结论equivalence_test()的核心逻辑来自 Kruschke 提出的HDIROPE 决策规则计算 95% HDI后验中最密集的 95% 区域有多少比例落在 ROPE 内。左为 89% HDI最短密度区间右为 89% ETI等尾区间默认检验使用 HDI情形结论含义HDI完全在ROPE 之外❌ 拒绝零假设效应实际存在ROPE完全覆盖HDI✅ 接受零假设效应可忽略HDI 与 ROPE部分重叠 未决定证据不足决策代码在 equivalence_test.R 中一目了然。如果使用完整 ROPEci 1考虑 100% 后验分布而非仅 HDI官方推荐落入 ROPE 的后验概率 2.5% 拒绝 97.5% 接受详见 region_of_practical_equivalence.Rmd。四、一键操作安装与最小示例安装很简单R 里一行命令即可install.packages(bayestestR) # 或从源码安装本地克隆后 # git clone https://gitcode.com/gh_mirrors/ba/bayestestR # R CMD INSTALL bayestestR最小使用示例——直接传入后验分布采样library(bayestestR) # 模拟一组集中在 0 附近的后验样本 posterior - rnorm(1000, 0, 0.01) # 一键完成贝叶斯等效性检验 equivalence_test(posterior, range c(-0.1, 0.1))如果你已有贝叶斯模型直接把模型对象传进去即可函数自动适配stanreg、brmsfit、BFBayesFactor、mcmc等常见模型并自动按模型类型选取默认 ROPEmodel - rstanarm::stan_glm(mpg ~ wt cyl, data mtcars) equivalence_test(model) # 为不同参数指定不同 ROPE equivalence_test(model, range list(wt c(-5, -4), (Intercept) c(10, 40)))不同输入类型的分发逻辑都集中在 equivalence_test.R 中。五、读懂输出表格运行后你会得到这样一张表真实测试快照见 equivalence_test.md# Test for Practical Equivalence ROPE: [-0.18 0.18] Parameter | H0 | inside ROPE | 95% HDI ----------------------------------------------------- (Intercept) | Rejected | 0.00 % | [-2.68, -0.50] size | Accepted | 100.00 % | [-0.04, 0.07] period2 | Rejected | 0.00 % | [-1.61, -0.36]只需三秒读懂H0 列Rejected 拒绝零假设效应存在、Accepted 接受效应可忽略、Undecided 未决定inside ROPEHDI 落在等效区域内的比例越接近 0% 越支持效应存在95% HDI参数最可信的取值范围与 ROPE 对比一目了然打印格式化由 print.equivalence_test.R 实现想显示更多小数位print(test, digits 4)即可。配合see包还可以直接plot(test)可视化结果。六、避坑指南两个新手容易忽视的问题⚠️1. 多重共线性会让检验失效当模型中协变量高度相关时基于单变量边缘分布的 ROPE 检验可能给出误导性结论尤其未决定的参数可能实际应被拒绝。函数会自动做两两相关性检查并提示更稳妥的做法是检查散点图对或采用投影预测变量筛选。此警告逻辑见 utils_check_collinearity.R。⚠️2. ROPE 边界依赖测量尺度ROPE 是按响应变量的单位定义的参数取值越大如未标准化的系数同样的 ROPE 相对越窄。新手最稳妥的习惯是先标准化自变量再手动指定 ROPE并报告检验结果对 ROPE 取值的敏感性。七、延伸阅读与项目资料函数源码equivalence_test.R、ROPE 分析rope.R专题教程ROPE 与等效性检验region_of_practical_equivalence.Rmd贝叶斯因子与效应存在性比较indicesExistenceComparison.Rmd回归测试与输出示例test-equivalence_test.R论文全文JOSSpaper.md上图展示了后验分布与零点的位置关系——这正是等效性检验的几何基础小结贝叶斯零假设检验不必再靠 p 值硬套。记住三步——定义 ROPE → 计算 HDI 落入 ROPE 的比例 → 按决策规则下结论——然后交给equivalence_test()一键完成。【免费下载链接】bayestestR:ghost: Utilities for analyzing Bayesian models and posterior distributions项目地址: https://gitcode.com/gh_mirrors/ba/bayestestR创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考