【原创】R语言中使用Stan的贝叶斯回归模型数据分析报告论文(附代码数据)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
有问题到百度搜索“大数据部落”就可以了
欢迎登陆官网:/datablog
R语言中使用Stan的贝叶斯回归模型
似乎夏天即将在伦敦结束,所以我将最后看看我一直在玩的冰淇淋数据来预测过去几周基于温度的销售统计数据[1],[2],[3]。
斯坦模型与brms
我将使用贝叶斯回归模型来估计来自后验预测分布的95%预测可信区间。
感谢brms这将花费不到一分钟的编码,因为brm允许我使用通常的公式语法指定我的模型,我可以将它留给包函数来创建和执行Stan文件。
开始吧。以下是数据:
有问题到百度搜索“大数据部落”就可以了
欢迎登陆官网:/datablog
我的模型的写法非常简单glm。只有二项式模型需要稍微不同的语法。在这里,我使用默认的先验和链接功能:
上周我自己为日志变换的线性模型编写了Stan模型。这是输出brm。除σ外,估计的参数非常相似σ:
我访问基础Stan模型log.lin.mod$model并注意σ的先验σ通过Cauchy分布建模,不像我上周使用的逆Gamma。我相信这解释了我在σ方面的微小差异σ。
为了回顾模型,我首先绘制了MCMC样品的痕量图和密度图。
有问题到百度搜索“大数据部落”就可以了
欢迎登陆官网:/datablog
预测可信区间
该predict功能使我能够访问后验预测统计数据,包括95%预测可信区间。
将所有四个模型的输出组合成一个数据框,使我有机会在一个图表中比较四个模型的预测可信区间。
有问题到百度搜索“大数据部落”就可以了
欢迎登陆官网:/datablog
这四个模型没有重大新闻,但事实上我可以看一下后期预测的可信区间,而不是两周前的理论分布。对数变换的线性模型的过度预测再次显而易见。
在炎热的一天我应该持多少库存?
在炎热的夏天,库存不足将是不幸的,因为那些是销售量最高的日子。但我应该持有多少股票?
有问题到百度搜索“大数据部落”就可以了
欢迎登陆官网:/datablog
好吧,如果我设定出售概率为2.5%,那么我将有足够的冰淇淋以97.5%的确定性出售。为了估计这些统计数据,我必须计算后验预测样本的97.5%百分位数。
好的,我有4个型号和4个答案,范围从761到2494.最高的数字是最低数字的3倍!
我在我的二项式模型中将市场规模设置为800,所以我对761的答案并不感到惊
有问题到百度搜索“大数据部落”就可以了
欢迎登陆官网:/datablog
讶。此外,我之前注意到对数正态分布偏向右侧,因此这解释了2494的高预测。与对数变换线性模型一样,泊松模型具有隐式指数增长假设。正如我先前所指出的那样,它的平均预测远远超过1000 ,因此可以预期1510的预测为97.5%。结论
我应该藏多少冰淇淋?好吧,如果我坚信我的市场规模为800,那么我应该坚持使用二项式模型的输出,或者为了以防万一而保留800。
另一个需要考虑的方面是持有未售出库存的成本。冰淇淋通常可以存放一段时间,但对于新鲜出炉的面包或必须快速销售的一束鲜花来说,情况会大不相同。会话信息
请注意,我用的开发者版本brms,从GitHub上。
R version 3.2.2 (2015-08-14)
Platform: x86_64-apple-darwin13.4.0 (64-bit)