欢迎关注R语言数据分析指南
❝本节来介绍一款可用于贝叶斯网络建模和预测流程的R包「BayesianNetworks」。该包内容丰富作者配有详细的案例文档,使用过程也非常的简单明了,更多详细内容请参考作者的官方文档。
官方文档
https://pakillo.github.io/BayesianNetworks/
安装R程序包
library(tidyverse)
install.packages("cmdstanr", repos = c('https://stan-dev.r-universe.dev', getOption("repos")))
remotes::install_github("Pakillo/BayesianNetworks")
library(BayesianNetworks)
library(cmdstanr)
cmdstanr::install_cmdstan() #此程序包49M安装容易失败
# 安装完后会出现cmdstan的路径写入下方代码,以实际为准
set_cmdstan_path("/Users/xxx/.cmdstan/cmdstan-2.35.0")
准备数据
data(web)
plot_counts_obs(web, sort = FALSE) # 可视化原始数据集 web 中的计数,不进行排序。
# 准备数据以供模型使用。mat 参数是输入的矩阵(此处为 web 数据集),sampl.eff 参数指定采样效率,这里为每行设置了20。
dt <- prepare_data(mat = web, sampl.eff = rep(20, nrow(web)))
设置并拟合模型
set.seed(1)
options(mc.cores = 4) #设置并行计算使用的核心数,这里使用4个核心
fit <- fit_model(dt, refresh = 0)
检查模型
check_model(fit, data = dt)
获取后验分布
post <- get_posterior(fit, data = dt)
plot_interaction_prob(post) # 可视化交互概率
预测计数并可视化
pred.df <- predict_counts(fit, data = dt) # 使用拟合模型 fit 和数据 dt 进行预测,生成预测计数
plot_counts_pred(pred.df, sort = FALSE) # 可视化预测的计数,不进行排序
plot_counts_pred_obs(pred.df, data = dt) # 将预测的计数和观察到的计数进行对比并可视化
绘制残差
plot_residuals(pred.df, data = dt, sort = FALSE)
关注下方公众号下回更新不迷路
❝本节介绍到此结束,有需要学习R数据可视化的朋友,欢迎到淘宝店铺:R语言数据分析指南,购买小编的R语言可视化文档(2024版),购买将赠送2023年的绘图文档内容。目前(2023+2024)已经更新上传约150+案例内容,每个案例都附有相应的数据和代码,2024年更新的绘图内容会在交流群内同步更新。
2024更新的绘图内容将同时包含数据+代码+注释文档+文档清单,小编只分享案例文档,不额外回答问题,无答疑服务。 注:2023文档无清单文件
2024更新文档清单
淘宝店铺(R语言数据分析指南)

2024年已更新案例图展示




























2023年案例图展示











