原文链接:http://tecdat.cn/?p=5263
在本文中,咱们将在贝叶斯框架中引入回归建模,并应用PyMC3 MCMC库进行推理。
咱们将首先回顾经典频率论的多重线性回归办法。而后探讨贝叶斯如何思考线性回归。
用PyMC3进行贝叶斯线性回归
在本节中,咱们将对统计实例进行一种经典的办法,即模仿一些咱们晓得的属性的数据,而后拟合一个模型来推算这些原始属性。
什么是狭义线性模型?
在咱们开始探讨贝叶斯线性回归之前,我想简要地概述狭义线性模型(GLM)的概念,因为咱们将应用它们来在PyMC3中建设咱们的模型。
狭义线性模型是将一般线性回归扩大到更个别模式的回归的灵便办法,包含逻辑回归(分类)和泊松回归(用于计数数据)以及线性回归自身。
GLM容许具备除正态分布以外的误差散布的因变量。
用PyMC3模仿数据并拟合模型
在咱们应用PyMC3来指定和采样贝叶斯模型之前,咱们须要模仿一些噪声线性数据。
输入如下图所示:
通过Numpy,pandas和seaborn模仿噪声线性数据
当初咱们曾经进行了模仿,咱们想要对数据拟合贝叶斯线性回归。这是glm办法。
而后咱们将找到MCMC采样器的最大后验概率(MAP)估计值。最初,咱们将应用No-U-Turn Sampler(NUTS)来进行理论推理,而后绘制模型的曲线,将前500个样本抛弃为“burn in”预烧过程。
traceplot如下图所示:
应用PyMC3将贝叶斯GLM线性回归模型拟合到模仿数据
首先咱们应用seaborn lmplot办法,fit_reg参数设置False,不绘制频数回归曲线。而后咱们绘制100个采样的后验预测回归线。最初,咱们绘制应用原始的“实在”回归线和β1=2的参数。
咱们能够在下图中看到回归线的抽样范畴:
有问题欢送分割咱们!
最受欢迎的见解
1.matlab应用贝叶斯优化的深度学习
2.matlab贝叶斯隐马尔可夫hmm模型实现
3.R语言Gibbs抽样的贝叶斯简略线性回归仿真
4.R语言中的block Gibbs吉布斯采样贝叶斯多元线性回归
5.R语言中的Stan概率编程MCMC采样的贝叶斯模型
6.Python用PyMC3实现贝叶斯线性回归模型
7.R语言应用贝叶斯 层次模型进行空间数据分析
8.R语言随机搜寻变量抉择SSVS预计贝叶斯向量自回归(BVAR)模型
9.matlab贝叶斯隐马尔可夫hmm模型实现