关于算法:Python用PyMC3实现贝叶斯线性回归模型

43次阅读

共计 1001 个字符,预计需要花费 3 分钟才能阅读完成。

原文链接:http://tecdat.cn/?p=5263

在本文中,咱们将在贝叶斯框架中引入回归建模,并应用 PyMC3 MCMC 库进行推理。

咱们将首先回顾经典或频率论的多重线性回归办法。而后咱们将探讨贝叶斯如何思考线性回归。

用 PyMC3 进行贝叶斯线性回归

在本节中,咱们将对统计实例进行一种历史悠久的办法,即模仿一些咱们晓得的属性的数据,而后拟合一个模型来推算这些原始属性。

什么是狭义线性模型?

在咱们开始探讨贝叶斯线性回归之前,我想简要地概述狭义线性模型(GLM)的概念,因为咱们将应用它们来在 PyMC3 中制订咱们的模型。

狭义线性模型是将一般线性回归扩大到更个别模式的回归的灵便机制,包含逻辑回归(分类)和泊松回归(用于计数数据)以及线性回归自身。

GLM 容许具备除正态分布以外的误差散布的 因变量

用 PyMC3 模仿数据并拟合模型

在咱们应用 PyMC3 来指定和采样贝叶斯模型之前,咱们须要模仿一些噪声线性数据。

输入如下图所示:

通过 Numpy,pandas 和 seaborn 模仿噪声线性数据

当初咱们曾经进行了模仿,咱们想要对数据拟合贝叶斯线性回归。这是 glm 模块。与 R 指定模型有相似的模型标准语法。

而后咱们将找到 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 模型实现

正文完
 0