关于数据挖掘:r语言使用rjags-R2jags建立贝叶斯模型附代码数据

91次阅读

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

全文下载链接:http://tecdat.cn/?p=2857

最近咱们被客户要求撰写对于贝叶斯的钻研报告,包含一些图形和统计输入。

本文是通过对 area,perimeter,campactness 几个变量的贝叶斯建模, 来查看他们对 groovelength 这个变量的影响,并且比照 rjags R2jags 和内置贝叶斯预测函数的后果

读取数据

seed=read.csv("seeds_dataset.csv")
seed=seed[,1:7]

 查看数据的构造

 str(seed)
 'data.frame':    209 obs. of  7 variables:
  $ area        : num  14.9 14.3 13.8 16.1 14.4 ...
  $ perimeter   : num  14.6 14.1 13.9 15 14.2 ...
  $ campactness : num  0.881 0.905 0.895 0.903 0.895 ...
  $ length      : num  5.55 5.29 5.32 5.66 5.39 ...
  $ width       : num  3.33 3.34 3.38 3.56 3.31 ...
  $ asymmetry   : num  1.02 2.7 2.26 1.35 2.46 ...
  $ groovelength: num  4.96 4.83 4.8 5.17 4.96 ...

建设回归模型

 
 Residuals:
      Min       1Q   Median       3Q      Max 
 -0.66375 -0.10094  0.00175  0.11081  0.45132 
 
 Coefficients:
              Estimate Std. Error t value Pr(>|t|)    
 (Intercept)  19.46173    2.45031   7.943 1.29e-13 ***
 area          0.49724    0.08721   5.701 4.10e-08 ***
 perimeter    -0.63162    0.18179  -3.474 0.000624 ***
 campactness -14.05218    1.34325 -10.461  < 2e-16 ***
 ---
 Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
 
 Residual standard error: 0.1608 on 205 degrees of freedom
 Multiple R-squared:  0.895,  Adjusted R-squared:  0.8934 
 F-statistic: 582.4 on 3 and 205 DF,  p-value: < 2.2e-16

从回归模型的后果来看,三个自变量对因变量都有显著的意义。其中,area 有正向的影响。而其余两个变量是负向的影响。从 r 方的后果来看,达到了 0.895,模型具备较好的解释度。

建设贝叶斯回归模型

Bayesian analysis

 With bayesglm


 
 Deviance Residuals: 
      Min        1Q    Median        3Q       Max  
 -0.66331  -0.09974  -0.00002   0.11110   0.44841  
 
 Coefficients:
              Estimate Std. Error t value Pr(>|t|)    
 (Intercept)  18.90538    2.41549   7.827 2.63e-13 ***
 area          0.47826    0.08604   5.559 8.40e-08 ***
 perimeter    -0.59252    0.17937  -3.303  0.00113 ** 
 campactness -13.74353    1.32463 -10.375  < 2e-16 ***
 ---
 Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
 
 (Dispersion parameter for gaussian family taken to be 0.02584982)
 
     Null deviance: 50.4491  on 208  degrees of freedom
 Residual deviance:  5.2992  on 205  degrees of freedom
 AIC: -164.91
 
 Number of Fisher Scoring iterations: 6

从内置贝叶斯模型的后果来看,3 个变量同样是十分显著,因而模型的后果和回归模型相似。而后咱们应用 BUGS/JAGS 软件包来建设贝叶斯模型

应用 BUGS/JAGS 软件包来建设贝叶斯模型

建设贝叶斯模型

 jags(model.file='bayes.bug',
              parameters=c("area","perimeter","campactness","int"),
              data = list('a' = seed$area, 'b' = seed$perimete
              n.cha

查看模型后果:

module glm loaded

 Compiling model graph
    Resolving undeclared variables
    Allocating nodes
 Graph information:
    Observed stochastic nodes: 209
    Unobserved stochastic nodes: 5
    Total graph size: 1608
 


Initializing model


bb <- jags1$BUGSoutput   提取“BUGS 输入”mm <- as.mcmc.bugs(bb)   将其转换为 coda 能够解决的“mcmc”对象
plot(jags1)              绘制图像 

从下面的图中,咱们能够看到自变量的中位数和置信区间。从置信区间来看,各个变量的取值和贝叶斯模型的后果相似。贝叶斯后果的值全副落入在了置信区间内。

而后绘制每次迭代中各个变量参数的轨迹图

trace + density #轨迹图 

能够看到每个变量的参数都在肯定区间内稳定。同时能够看到误差在肯定的迭代次数之后趋于收敛。


点击题目查阅往期内容

R 语言和 STAN,JAGS:用 RSTAN,RJAG 建设贝叶斯多元线性回归预测选举数据

左右滑动查看更多

01

02

03

04

而后绘制每个变量参数的密度图 prettier density plot

能够看到每个变量的参数的密度散布近似于正态分布。同时咱们能够看到散布的均值和贝叶斯模型,失去的后果相似。

而后绘制每个变量参数的置信区间 estimate + credible interval plot

从后果来看,能够看到各个变量参数的置信区间,campatness 和 int 的置信区间较大,而其余两个变量的置信区间较小。

从下面的试验后果比照,咱们能够看到,三个自变量对因变量均有重要的影响。area,perimeter,campactness 几个变量他们对 groovelength 这个变量均有重要的影响。同时咱们能够认为回归模型的后果和贝叶斯模型的后果类似。而后咱们应用 rjags&R2jags 软件包来对数据进行贝叶斯型的建设,从后果来看,同样和之前失去的模型后果相差不大。并且咱们通过模型的迭代,能够失去每个参数的置信区间。


点击文末 “浏览原文”

获取全文残缺材料。

本文选自《r 语言应用 rjags R2jags 建设贝叶斯模型》。

点击题目查阅往期内容

应用贝叶斯层次模型进行空间数据分析
R 语言逻辑回归、Naive Bayes 贝叶斯、决策树、随机森林算法预测心脏病 PYTHON 银行机器学习: 回归、随机森林、KNN 近邻、决策树、高斯奢侈贝叶斯、反对向量机 SVM 剖析营销流动数据 | 数据分享
PYTHON 用户散失数据挖掘:建设逻辑回归、XGBOOST、随机森林、决策树、反对向量机、奢侈贝叶斯和 KMEANS 聚类用户画像
MATLAB 随机森林优化贝叶斯预测剖析汽车燃油经济性
R 语言中贝叶斯网络(BN)、动静贝叶斯网络、线性模型剖析错颌畸形数据
应用贝叶斯层次模型进行空间数据分析 MCMC 的 rstan 贝叶斯回归模型和规范线性回归模型比拟
python 贝叶斯随机过程:马尔可夫链 Markov-Chain,MC 和 Metropolis-Hastings,MH 采样算法可视化
Python 贝叶斯推断 Metropolis-Hastings(M-H)MCMC 采样算法的实现
matlab 贝叶斯隐马尔可夫 hmm 模型实现
贝叶斯线性回归和多元线性回归构建工资预测模型
Metropolis Hastings 采样和贝叶斯泊松回归 Poisson 模型
贝叶斯分位数回归、lasso 和自适应 lasso 贝叶斯分位数回归剖析免疫球蛋白、前列腺癌数据
R 语言 RSTAN MCMC:NUTS 采样算法用 LASSO 构建贝叶斯线性回归模型剖析职业声望数据
R 语言 STAN 贝叶斯线性回归模型剖析气候变化影响北半球海冰范畴和可视化查看模型收敛性
PYTHON 用户散失数据挖掘:建设逻辑回归、XGBOOST、随机森林、决策树、反对向量机、奢侈贝叶斯和 KMEANS 聚类用户画像
贝叶斯分位数回归、lasso 和自适应 lasso 贝叶斯分位数回归剖析免疫球蛋白、前列腺癌数据 R 语言 JAGS 贝叶斯回归模型剖析博士生延期毕业实现论文工夫
R 语言 Metropolis Hastings 采样和贝叶斯泊松回归 Poisson 模型
Python 决策树、随机森林、奢侈贝叶斯、KNN(K- 最近街坊)分类剖析银行拉新流动开掘潜在贷款客户
R 语言贝叶斯 MCMC:用 rstan 建设线性回归模型剖析汽车数据和可视化诊断
R 语言贝叶斯 MCMC:GLM 逻辑回归、Rstan 线性回归、Metropolis Hastings 与 Gibbs 采样算法实例
R 语言贝叶斯 Poisson 泊松 - 正态分布模型剖析职业足球比赛进球数
随机森林优化贝叶斯预测剖析汽车燃油经济性
R 语言逻辑回归、Naive Bayes 贝叶斯、决策树、随机森林算法预测心脏病
R 语言用 Rcpp 减速 Metropolis-Hastings 抽样预计贝叶斯逻辑回归模型的参数
R 语言中的 block Gibbs 吉布斯采样贝叶斯多元线性回归
Python 贝叶斯回归剖析住房累赘能力数据集
R 语言实现贝叶斯分位数回归、lasso 和自适应 lasso 贝叶斯分位数回归剖析
Python 用 PyMC3 实现贝叶斯线性回归模型
R 语言用 WinBUGS 软件对学术能力测验建设档次(分层)贝叶斯模型
R 语言 Gibbs 抽样的贝叶斯简略线性回归仿真剖析
R 语言和 STAN,JAGS:用 RSTAN,RJAG 建设贝叶斯多元线性回归预测选举数据
R 语言基于 copula 的贝叶斯分层混合模型的诊断准确性钻研
R 语言贝叶斯线性回归和多元线性回归构建工资预测模型
R 语言贝叶斯推断与 MCMC:实现 Metropolis-Hastings 采样算法示例
R 语言 stan 进行基于贝叶斯推断的回归模型
R 语言中 RStan 贝叶斯层次模型剖析示例
R 语言应用 Metropolis-Hastings 采样算法自适应贝叶斯预计与可视化
R 语言随机搜寻变量抉择 SSVS 预计贝叶斯向量自回归(BVAR)模型
WinBUGS 对多元随机稳定率模型:贝叶斯预计与模型比拟
R 语言实现 MCMC 中的 Metropolis–Hastings 算法与吉布斯采样
R 语言贝叶斯推断与 MCMC:实现 Metropolis-Hastings 采样算法示例
R 语言应用 Metropolis-Hastings 采样算法自适应贝叶斯预计与可视化
视频:R 语言中的 Stan 概率编程 MCMC 采样的贝叶斯模型
R 语言 MCMC:Metropolis-Hastings 采样用于回归的贝叶斯预计

正文完
 0