原文链接: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 ' ' 1Residual standard error: 0.1608 on 205 degrees of freedomMultiple 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 analysisWith bayesglmDeviance 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 freedomResidual deviance:  5.2992  on 205  degrees of freedomAIC: -164.91Number 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$perimeten.cha

查看模型结果:

module glm loadedCompiling model graphResolving undeclared variablesAllocating nodesGraph information:Observed stochastic nodes: 209Unobserved stochastic nodes: 5Total graph size: 1608Initializing modelbb <- jags1$BUGSoutput   提取“ BUGS输出”
mm <- as.mcmc.bugs(bb)   将其转换为coda可以处理的“ mcmc”对象
plot(jags1)              绘制图像

从上面的图中,我们可以看到自变量的中位数和置信区间。从置信区间来看,各个变量的取值和贝叶斯模型的结果类似。贝叶斯结果的值全部落入在了置信区间内。

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

trace + density #轨迹图

可以看到每个变量的参数都在一定区间内波动。同时可以看到误差在一定的迭代次数之后趋于收敛。

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

可以看到每个变量的参数的密度分布近似于正态分布。同时我们可以看到分布的均值和贝叶斯模型,得到的结果类似。

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

从结果来看,可以看到各个变量参数的置信区间,campatness和int的置信区间较大,而其他两个变量的置信区间较小。

从上面的实验结果对比,我们可以看到,三个自变量对因变量均有重要的影响。area,perimeter,campactness几个变量他们对groovelength这个变量均有重要的影响。同时我们可以认为回归模型的结果和贝叶斯模型的结果相似。然后我们使用rjags&R2jags软件包来对数据进行贝叶斯型的建立,从结果来看,同样和之前得到的模型结果相差不大。并且我们通过模型的迭代,可以得到每个参数的置信区间。


最受欢迎的见解

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模型实现

【大数据部落】r语言使用rjags R2jags建立贝叶斯模型相关推荐

  1. 大数据之R语言速成与实战

    什么是R语言? R语言由新西兰奥克兰大学的Ross Ihaka和Robert Gentleman两人共同发明.其词法和语法分别源自Scheme和S语言. R定义:一个能够自有有效的用于统计计算和绘图的 ...

  2. R语言用逻辑回归建立用户付费模型

    原文链接:http://tecdat.cn/?p=967 对于某企业新用户,会利用大数据来分析该用户的信息来确定是否为付费用户,弄清楚用户属性,从而针对性的进行营销,提高运营人员的办事效率(点击文末& ...

  3. R语言垃圾邮件分类--朴素贝叶斯(机器学习)

    邮件分类练习–朴素贝叶斯 思路 数据导入 数据处理 构建训练集和测试集 词云展示 数据降维 训练模型 模型测试 提升模型 一.数据导入 文件目录为:C:\Users\kelanj\Documents\ ...

  4. 经典书单、站点 —— 大数据/数据分析/R语言

    1. 科普.入门 <大数据智能>,刘知远.崔安顺等著: 特色:系统,宏观和全面: 2. R 语言站点 http://langdawei.com/:R 语言数据采集与可视化:

  5. 使用R语言的BNLearn包实现贝叶斯网络

    转载自:http://f.dataguru.cn/thread-301701-1-1.html 1. 加载程序包导入数据 library(bnlearn)  #CRAN中有,可以直接用install. ...

  6. 离线轻量级大数据平台Spark之MLib机器学习库朴素贝叶斯实例

    1.朴素贝叶斯介绍 表示事件B已经发生的前提下,事件A发生的概率,叫做事件B发生下事件A的条件概率,公式为: 贝叶斯定理: 从已知P(A|B)获得P(B|A)值. 假设A和B代表两类互相影响的事件,如 ...

  7. R语言用WinBUGS 软件对学术能力测验建立层次(分层)贝叶斯模型

    全文下载链接:http://tecdat.cn/?p=11974 R2WinBUGS软件包提供了从R调用WinBUGS的便捷功能.它自动以WinBUGS可读的格式写入数据和脚本,以进行批处理(自1.4 ...

  8. 《数据科学R语言实践:面向计算推理与问题求解的案例研究法》一一2.5 为跨年度的个人参赛选手构造记录...

    本节书摘来自华章计算机<数据科学R语言实践:面向计算推理与问题求解的案例研究法>一书中的第2章,第2.5节,作者:[美] 德博拉·诺兰(Deborah Nolan) 邓肯·坦普·朗(Dun ...

  9. 数据科学r语言_您应该为数据科学学习哪些语言?

    数据科学r语言 Data science is an exciting field to work in, combining advanced statistical and quantitativ ...

  10. 大数据场景中语言虚拟机的应用和挑战

    点击上方蓝字关注我们 大数据场景中语言虚拟机的应用和挑战 吴明瑜1,2, 陈海波1,2, 臧斌宇1,2 1 领域操作系统教育部工程研究中心,上海 200240 2 上海交通大学软件学院并行与分布式系统 ...

最新文章

  1. 完全企业虚拟化方案-Total Enterprise Virtualization
  2. centos lamp 连接mysql_centOS下lamp安装
  3. 把二叉搜索树转换为累加树
  4. django中html中图片路径怎么写,django css样式,图片路径问题解决方案
  5. 概率机器人总结——(扩展)卡尔曼滤波先实践再推导
  6. django:资源网站汇总
  7. spring mvc学习(44):springMVC运行原理
  8. 罗永浩回归!将开秋季旧机发布会:与iPhone 12同一天
  9. 安装完Anaconda python 3.7,想使用python3.6方法
  10. 老板看似表面风光,可能还没有员工赚得多
  11. WPS国际版2019 中文
  12. 夏昕的3部开发手册.- -
  13. Spring Boot Shiro原理系列
  14. AndroidStudio下建立libs、raw、、assets、selector、shape、anim、存放so
  15. 微信小程序进度条组件自定义数字_微信小程序小技巧系列《十三》多级联动,自定义圆形进度条 ... ......
  16. 程序存储器编址及程序执行顺序
  17. 制造上云 佛山南海携手阿里云建创新中心
  18. 有关PS中图片不能解锁问题
  19. 脚踏实地,不要飘忽不定
  20. archivelog模式和flashback db以及guarantee restore point之间的相互制约关系!

热门文章

  1. 配置Spring的用于解决懒加载问题的过滤器
  2. JVM、JRE、JDK、java ee sdk with jdk四者的区别
  3. 中国互联网关于阿里未来预测:这盘大期如何走
  4. spring3.0学习之环境搭建
  5. Phoenix=HBase+SQL,让HBase插上了翅膀
  6. Santander Customer Transaction Prediction(2)
  7. 数据-第8课-线性表的链式存储结构(未)
  8. 通过OAuth方式与docker hub v2 API交互
  9. 只有低价才是中国智能硬件的出路吗?
  10. Python基础(十): 函数的基本概念