今天小编就给大家介绍一个非常有用的统计分析小技巧-R-bayestestR。该包和其他大多数的R包只提供一组有限的索引(如点估计和CI)不同,其可以提供了一套全面且一致的函数来分析和描述由各种模型对象生成的后验分布,包括流行的建模包,如rstanarm、brms或BayesFactor。更多关于该包的介绍可参考:R-bayestestR官网[1]

下面小编就简单介绍下该包的用法,主要如下:

特征(Features)

在贝叶斯框架中,参数以概率方式估计为分布,可以通过以下4种指数来总结和描述这些分布,更多其他特征可参考:Many other Features[2]

  • Centrality(中心性)

    • mean()、median()、map_estimate() 用于估计模式。

    • point_estimate() 可用于立即获取它们并可直接在模型上运行。

  • Uncertainty(不确定性)

    • hdi() 表示最高密度区间(HDI)或eti() 表示等尾区间(ETI)。

    • ci() 可用作置信区间(CI)的通用方法。

  • Effect Existence:效果是否不同于0

    • p_direction() 表示频率派 p 值的贝叶斯等效值。

    • p_pointnull() 表示与最可能的假设(MAP)相比,零假设 (h0 = 0) 的几率。

    • bf_pointnull() 用于经典贝叶斯因子(BF),评估效应存在与不存在的可能性(h0 = 0)。

  • Effect Significance:效应大小是否可以被认为是不可忽略的。

    • p_rope() 效果落在实际等效区域(ROPE)内的概率。

    • bf_rope() 根据区域(ROPE)定义的空值计算贝叶斯因子。

    • p_significance() 将等效区域与方向概率相结合。

R-bayestestR包的describe_posterior() 就可以很好对一些特征进行计算,如下:

library(bayestestR)
bayestestR::describe_posterior(rnorm(10000),centrality = "median",test = c("p_direction", "p_significance")
)

Example Of describe_posterior()

更多关于describe_posterior()的介绍可参考:describe_posterior()函数介绍[3]

Point-estimates

做为bayestestR包分布特征中最常用的一个,Point-estimates()可以计算各种点估计值(例如均值、中值或MAP,以描述后验分布。如下:

posterior <- distribution_gamma(10000, 1.5)  # Generate a skewed distribution
centrality <- point_estimate(posterior)  # Get indices of centrality
plot(centrality) +labs(title = "Example of <span style='color:#D20F26'>bayestestR::point_estimate function</span>",subtitle = "processed charts with <span style='color:#1A73E8'>point_estimate()</span>",caption = "Visualization by <span style='color:#0057FF'>DataCharm</span>") +hrbrthemes::theme_ipsum(base_family = "Roboto Condensed") +theme(plot.title = element_markdown(hjust = 0.5,vjust = .5,color = "black",size = 20, margin = margin(t = 1, b = 12)),plot.subtitle = element_markdown(hjust = 0,vjust = .5,size=15),plot.caption = element_markdown(face = 'bold',size = 12))

Example Of point_estimate()

Uncertainty (CI)

hdi() 计算后验分布的最高密度区间(HDI),即包含区间内所有点的区间比区间外的点具有更高的概率密度。HDI可用于作为可信区间(CI) 的贝叶斯后验表征的上下文中。

与通常从分布的每个尾部排除2.5%的等尾区间不同,HDI不是等尾区间,因此始终包括后验分布的众数。

默认情况下,hdi()返回89%的区间(ci = 0.89),比例如95%的区间更稳定。可视化展示如下:

「Highest Density Interval (HDI)」:

m <<- stan_glm(Sepal.Length ~ Petal.Width * Species, data = iris, refresh = 0)
result <- hdi(m,ci = .89)plot(result) +labs(title = "Example of <span style='color:#D20F26'>bayestestR::hdi function</span>",subtitle = "processed charts with <span style='color:#1A73E8'>hdi(ci=.89)</span>",caption = "Visualization by <span style='color:#0057FF'>DataCharm</span>") +hrbrthemes::theme_ipsum(base_family = "Roboto Condensed") +theme(plot.title = element_markdown(hjust = 0.5,vjust = .5,color = "black",size = 20, margin = margin(t = 1, b = 12)),plot.subtitle = element_markdown(hjust = 0,vjust = .5,size=15),plot.caption = element_markdown(face = 'bold',size = 12))

Example Of hdi(ci=.89)

「Equal-Tailed Interval (ETI)」:

m2 <- eti(m,ci = .89)plot(m2) +labs(title = "Example of <span style='color:#D20F26'>bayestestR::eti function</span>",subtitle = "processed charts with <span style='color:#1A73E8'>eti(ci=.89)</span>",caption = "Visualization by <span style='color:#0057FF'>DataCharm</span>") +hrbrthemes::theme_ipsum(base_family = "Roboto Condensed") +theme(plot.title = element_markdown(hjust = 0.5,vjust = .5,color = "black",size = 20, margin = margin(t = 1, b = 12)),plot.subtitle = element_markdown(hjust = 0,vjust = .5,size=15),plot.caption = element_markdown(face = 'bold',size = 12))

Example Of eti(ci=.89)

Existence and Significance Testing

「Probability of Direction (pd)」:

p_direction() 计算方向概率(Probability of Direction)(pd,也称为最大效应概率-MPE)。它在50%到100%(即 0.5 和 1)之间变化,可解释为参数(由其后验分布描述) 严格为正或为负的概率(以百分比表示),且该指数与p值非常相似(即强相关)。

posterior <- distribution_normal(10000, 0.4, 0.2)
m3 <- p_direction(posterior)
plot(m3) +scale_fill_manual(values = c("#E91E63","#FFC107"))+labs(title = "Example of <span style='color:#D20F26'>bayestestR::p_direction function</span>",subtitle = "processed charts with <span style='color:#1A73E8'>p_direction()</span>",caption = "Visualization by <span style='color:#0057FF'>DataCharm</span>") +hrbrthemes::theme_ipsum(base_family = "Roboto Condensed") +theme(plot.title = element_markdown(hjust = 0.5,vjust = .5,color = "black",size = 20, margin = margin(t = 1, b = 12)),plot.subtitle = element_markdown(hjust = 0,vjust = .5,size=15),plot.caption = element_markdown(face = 'bold',size = 12))

Example Of p_direction

ROPE

rope() 计算位于实际等效区域内的后验分布的HDI(默认为89%HDI)的比例(以百分比表示)。

posterior <- distribution_normal(10000, 0.4, 0.2)
m4 <- rope(posterior, range = c(-0.1, 0.1),)
plot(m4) +scale_fill_manual(values = c("#E91E63","#FFC107"))+labs(title = "Example of <span style='color:#D20F26'>bayestestR::rope function</span>",subtitle = "processed charts with <span style='color:#1A73E8'>rope()</span>",caption = "Visualization by <span style='color:#0057FF'>DataCharm</span>") +hrbrthemes::theme_ipsum(base_family = "Roboto Condensed") +theme(plot.title = element_markdown(hjust = 0.5,vjust = .5,color = "black",size = 20, margin = margin(t = 1, b = 12)),plot.subtitle = element_markdown(hjust = 0,vjust = .5,size=15),plot.caption = element_markdown(face = 'bold',size = 12))

Example Of ROPE()

Bayes Factor

bayesfactor_parameters() 基于单个参数的先验样本和后验样本,针对空值(点或区间)计算贝叶斯因子。这个贝叶斯因子表示后验分布的质量远离或接近空值的程度(相对于先验分布),从而表明空值是否变得更小或更可能给定观察到的数据。

##  Bayes Factor
prior <- distribution_normal(10000, mean = 0, sd = 1)
posterior <- distribution_normal(10000, mean = 1, sd = 0.7)m5 <- bayesfactor_parameters(posterior, prior, direction = "two-sided", null = 0)
m5plot(m5)+scale_fill_material_d(palette = "ice") +scale_color_material_d(palette = "ice") +labs(title = "Example of <span style='color:#D20F26'>bayestestR::bayesfactor_parameters function</span>",subtitle = "processed charts with <span style='color:#1A73E8'>bayesfactor_parameters()</span>",caption = "Visualization by <span style='color:#0057FF'>DataCharm</span>") +hrbrthemes::theme_ipsum(base_family = "Roboto Condensed") +theme(plot.title = element_markdown(hjust = 0.5,vjust = .5,color = "black",size = 20, margin = margin(t = 1, b = 12)),plot.subtitle = element_markdown(hjust = 0,vjust = .5,size=15),plot.caption = element_markdown(face = 'bold',size = 12))

Example Of bayesfactor_parameters

更多关于bayesfactor_parameters()详细内容可参考:bayesfactor_parameters()[4]

总结

今天这篇推文简单介绍了统计学中常用的贝叶斯原理-R-bayestestR(涉及的专业方面可能较少,本意还是了解这个技巧),不仅可以计算各个指标,还能使用恰当的可视化图表表现出来,希望大家可以多了解下这个好用的统计分析包。

再小的技能,也应该被认真对待。

参考资料

[1]

R-bayestestR官网: https://easystats.github.io/bayestestR/index.html。

[2]

bayestestR其他特征: https://easystats.github.io/bayestestR/reference/index.html。

[3]

describe_posterior()函数介绍: https://easystats.github.io/bayestestR/reference/describe_posterior.html。

[4]

bayesfactor_parameters()介绍: https://easystats.github.io/bayestestR/reference/bayesfactor_parameters.html。

各位伙伴们好,詹帅本帅搭建了一个个人博客和小程序,汇集各种干货和资源,也方便大家阅读,感兴趣的小伙伴请移步小程序体验一下哦!(欢迎提建议)

推荐阅读

牛逼!Python常用数据类型的基本操作(长文系列第①篇)

牛逼!Python的判断、循环和各种表达式(长文系列第②篇)

牛逼!Python函数和文件操作(长文系列第③篇)

牛逼!Python错误、异常和模块(长文系列第④篇)

原来贝叶斯统计分析这么简单?这个技巧了解一下相关推荐

  1. java超出gc开销_通过这5个简单的技巧减少GC开销

    java超出gc开销 编写代码的五种简单方法,可以提高内存效率,而无需花费更多时间或降低代码可读性 垃圾回收会为您的应用程序增加多少开销? 您可能不知道确切的数字,但您确实知道总有改进的余地. 尽管自 ...

  2. 通过这5个简单的技巧减少GC开销

    编写代码的五种简单方法,可提高内存效率,而无需花费更多时间或降低代码可读性 垃圾回收会为您的应用程序增加多少开销? 您可能不知道确切的数字,但您确实知道总有改进的余地. 尽管自动GC是最有效的过程,但 ...

  3. GLSurfaceView源码分析以及简单使用

    GLSurfaceView源码分析以及简单使用 一. GLSurfaceView 如果我们没有使用过,从名字可以看出其与OpenGL以及Surfaceview有关,GLSurfaceView有以下特点 ...

  4. 通过一个对数据的存储和分析的简单实例初识Hadoop

    对于一个刚刚接触Hadoop的菜鸟来说,Hadoop的概念还是挺抽象的,而且这个技术刚刚兴起,除了阿里巴巴,腾讯.中国移动这些技术实力非常强而且需要对数据进行海量存储的公司对Hadoop技术有一些初步 ...

  5. 基因家族分析及SCI写作技巧

    随着高通量测序以及生物信息学的发展,各物种基因组序列快速释放,为基因家族分析和论文写作带来了契机.基因家族的生物信息学分析也为后续基因功能研究提供了强有力的理论支撑,在数据挖掘中发挥着越来越重要的作用 ...

  6. 分析一个简单的汇编代码

    分析一个简单的汇编代码 部分常见的寄存器 寄存器 16位 32位 64位 累加寄存器 AX EAX RAX 基址寄存器 BX EBX RBX 计数寄存器 CX ECX RCX 数据寄存器 DX EDX ...

  7. 短视频怎么获得高流量?简单小技巧,让你的短视频被更多人看到

    短视频怎么获得高流量?简单小技巧,让你的短视频被更多人看到 对于做短视频的小伙伴们来说,想要获得高流量,让更多人看到自己的短视频是毋庸置疑的.那么今天,我们就一起来学习一下关于短视频获得高流量的简单小 ...

  8. 国内沪深股市的股票策略分析的简单案例

    国内沪深股市的股票策略分析的简单案例 最近学习了一段时间的python,觉得用来做股票策略分析还是挺有趣的,因此参考网上的一些例子,以及tushare工具指南,编写了一个功能简单的股票策略分析程序,抛 ...

  9. 灰色关联分析的简单介绍以及使用

    灰色关联分析概述 在许多问题分析当中,哪些是主要因素,哪些是次要因素,哪些因素对发展影响较大,这些都是系统分析中都是人们普遍关心的问题 灰色关联分析的优势 无论样本量的多少和样本有无规律都可以适用 计 ...

最新文章

  1. 基于java的IO流的文件读取系统
  2. CH451 点阵LED显示模块
  3. kuangbin带我飞QAQ DLX之一脸懵逼
  4. 面试题 - 两个页面间如何传递数据
  5. lex和yacc环境配置
  6. 【23】蔡高厅老师 - 高等数学下阅读笔记 - 重积分 - 直角坐标系下(下)23 - 27
  7. flashBuilder安装Subclipse与XMLBuddy插件
  8. 封装继承多态_继承重写重载
  9. Windows XP下使用 whoami 命令
  10. oracle11g64位怎么用sql,plsql32 位连接oracle11g64位方法
  11. 图像校色 白平衡调整
  12. 计算机word平均分怎么算,word怎么计算一列平均分
  13. java.lang.OutOfMemoryError: Metaspace
  14. 缺少office的组件
  15. 又双叒叕是Linux笔记
  16. 关键词优化-网站关键词优化软件-关键词优化工具
  17. ATTCK实战系列——红队实战(一)
  18. Java2实用教程(第六版)第一章习题答案
  19. PHP官方网站,php官方论坛,中文函数手册下载
  20. 机器学习中常说的CV是什么?

热门文章

  1. 打开Word文档的时候提示mathtype “安全警告 宏已被禁用”
  2. 物联网-物联网网络安全
  3. intel英特尔NUC主机bug大清除案例
  4. 太酷了!我老了之后,也要这么“兴风作浪”!
  5. android ListView中含有按钮事件实时更新ListView数据案例-1
  6. centos7+PHP7 编译安装swoole教程
  7. 【光电工程实训】几何光学 小孔成像 光的反射 光的折射 透镜成像
  8. python 利用脚本命令压缩加密文件并删除源文件
  9. nginx转发post请求
  10. java开发抢红包算法,抢红包算法的实现-java