没有合适的资源?快使用搜索试试~ 我知道了~
软件X更新:Python实现的MATLAB工具箱BANSHEE用于非参数贝叶斯网络的新功能
软件X 21(2023)101279软件更新PyBanshee版本(1.0):MATLAB工具箱BANSHEE的Python实现,用于非参数贝叶斯网络,具有更新的功能Paul Koota,d,Miguel Angel Mendoza-Lugoa,d,Dominik Paprotnyb,放大图片作者:Oswaldo Morales-Nápolesa,Elisa Ragnoa,Daniël T.H.蠕虫ca代尔夫特理工大学,水利工程系,Stevinweg 1,2628CN代尔夫特,荷兰b波茨坦气候影响研究所,研究部转型途径,Telegrafenberg,14473波茨坦,德国cTNO,Cyber Security Robustness,Anna van Buerenplein 1,2595DA The Hague,荷兰d Nelen &Schuurmans B.V.,Zakkendragershof 34-44 3511 AE乌得勒支,荷兰ar t i cl e i nf o文章历史记录:收到2021年收到修订版2022年11月9日接受2022年11月21日保留字:非参数贝叶斯网络BANSHEEPython库Copulas代码元数据a b st ra ct在本文中,我们讨论PyBanshee,这是一个基于Python的MATLAB工具箱BANSHEE的开源实现。PyBanshee 是 第 一 个 完 全 开 源 的 包 , 用 于 量 化 , 可 视 化 和 验 证 非 参 数 贝 叶 斯 网 络 ( NPBN ) 。PyBanshee的建筑它主要基于MATLAB的前身。它介绍了现有工具的全面实施并引入新的模块。具体而言,PyBanshee允许:(i)选择完全参数化的一维边缘,(ii)基于Hellinger距离为模型验证测试选择不同的样本量,(iii)绘制用户定义的NPBN样本量,(iv)基于样本的条件采样(类似于LightTwist Software的闭源专有软件包UNINET)以及(v)可视化无条件和条件边缘分布直方图之间的比较。提供了新的详细示例,演示了新功能©2022作者(S)。由爱思唯尔公司出版这是CC BY许可下的开放获取文章(http://creativecommons.org/licenses/by/4.0/)中找到。当前代码版本PyBanshee v1.0,Paper v1.0用于此代码版本的代码/存储库的永久链接https://github.com/ElsevierSoftwareX/SOFTX-D-21-00202代码海洋计算胶囊GNU通用公共许可证(GPL)使用的代码版本控制系统使用的软件代码语言、工具和服务Python、SciPy、NumPy、Matplotlib、PyCopula编译要求、操作环境依赖性Python 3.6如果可用,链接到开发人员文档/手册https://github.com/mike-mendoza/py_banshee技术支持邮件m.a. tudelft.nl软件元数据当前软件版本PyBanshee v1.0此版本可执行文件的永久链接https://github.com/mike-mendoza/py_banshee法律软件许可证GNU通用公共许可证计算平台/操作系统Microsoft Windows和macOS安装要求依赖Python 3.6版,包括SciPy、NumPy、Matplotlib、PyCopula库如果可用,请链接到用户手册-如果正式出版,请在参考列表中引用该出版物https://github.com/mike-mendoza/py_banshee技术支持邮件m.a. tudelft.nl原文DOI:https://doi.org/10.1016/j.softx.2020.100588。*通讯作者。电子邮件地址:paulkoot6@gmail.com(Paul Koot),m.a. tudelft.nl(Miguel A.门多萨-卢戈),paprotny@gfz-potsdam.de(Dominik Paprotny),o. tudelft.nl(Oswaldo Morales-Napoles),E. tudelft.nl(Elisa Ragno),daniel. tno.nl(DanielT. H.蠕虫)。https://doi.org/10.1016/j.softx.2022.1012792352-7110/©2022作者。 由Elsevier B.V.出版。这是一篇开放获取的文章,使用CC BY许可证(http://creativecommons.org/licenses/by/4.0/)。可在ScienceDirect上获得目录列表SoftwareX期刊主页:www.elsevier.com/locate/softx作者:Paul Koot,Miguel A.Mendoza-Lugo,DominikPaprotny等.软件X 21(2023)1012792Fig. 1. PyBanshee结构。函数(1)到(5)对应于先前MATLAB版本的主要函数对职能(2)、(4)和(5)进行了修改,(5)(浅蓝色方框),相应增加特征(v)、特征(ii)和特征(i)。函数(6)、(7)和(8)(浅灰色框)对应于新增功能(分别为功能(v)、(iii)和(iv))。1. 动机和意义在[ 1 ]中提出了一个实现非参数贝叶斯网络(NPBNs)的MATLAB工具箱BANSHEE。虽然BANSHEE是第一个开放的非参数贝叶斯网络工具,但它需要访问商业MATLAB环境。因此,为了进一步提高该工具的可用性,我们引入了PyBanshee。PyBanshee是MATLAB BANSHEE的基于Python的版本事实上,我们引入Python版本的主要除了我们的第一个版本(MATLABBANSHEE)中提供的功能外,PyBanshee允许使用(i)完全参数化的一维边缘,(ii)基于Hellinger距离的模型验证测试的用户定义样本大小,(iii)获得用户定义的NPBN样本大小(iv)样本为基础的条件和(v)先进的图形的基础图的贝叶斯网络和可视化的直方图之间的比较无条件和条件的边际分布。当关注的是在特定样本中尚未观察到的值时,特征(i)是有用的。例如,在土木工程中,出于设计目的,通常需要具有低概率不连续性的裂缝。这些都是通过外插使用一个参数的一维保证金。虽然这个特征会使方法参数化,但我们仍然使用术语NPBN来与以前的文献保持一致[2]。关于(ii),由于NPBN的模型验证仍处于起步阶段,因此通常需要估计零假设不会被拒绝的最小样本量,以便提供有关统计功效的一些指导。当需要统计上稳健的结果时,特征(iii)是有用的。这可以通过增加从NPBN中抽取的样本数量来实现实施基于样本的条件化(特征(iv))以允许对间隔进行条件化。商业软件UNINET [3]中也有此功能,并且在土木工程应用中经常需要此功能。实施高级图形(特征(v))是为了便于用户进一步分析。2. 软件描述与MATLAB的前身类似,PyBanshee的代码由一组函数组成。这些功能允许量化NPBN,分析模型的基本假设,可视化网络及其相应的秩相关矩阵,并基于以下内容对NPBN进行推断现有的观察或新的证据。此外,还添加了新功能:生成NPBN的随机样本,执行基于样本的条件处理,以及可视化无条件和一致性分布。为了展示和更好地解释PyBanshee的特性,我们以独立脚本的形式提供了示例。2.1. 软件构架PyBanshee包包含六个Python文件(.py扩展文件),其中有八个主要函数,如图所示。1.一、主要功能是:(1) bn_rankcorr,以计算BN秩相关矩阵。它需要一个定义好的有向无环图(DAG,作为一个列表)和一个数据矩阵(作为一个DataFrame)。此外,它还包括一个在没有这些数据的情况下计算BN秩相关性的选项,这将在第3节中举例说明;(2) bn_visualize,可视化定义的NPBN的结构。 在此版本中,可以显示节点内部具有边缘直方图的NPBN(功能(v)在第1节中介绍);(3) cvm_statistics,用于测量高斯copula 与基于Cramer-von Mises统计量的数据(4) gaussian_distance,使用数据基于经验(ERC)和贝叶斯网络的 秩相关( BNRC ) 矩阵与经验 正态秩相关 矩阵(NRC)之间的距离执行模型验证根据d-校准分数计算距离[4,5]。PyBanshee允许用户定义不同的样本大小(第1节中的功能(ii));(5) 推断,计算用户条件化节点以外的节点的不确定性分布。在此版本中,参数分布可以作为推断函数的输入(第1节中介绍的特征(i));(6) conditional_margins_hist,可视化推理函数输出的无条件和条件直方图(第1节中介绍的特征(v))(7) generate_samples,显式增加NPBN的无条件样本的数量(第1节中的特征(iii));(8) sample_based_conditioning,在区间上对节点进行条件化(特性(iv)在第1节中介绍)。作者:Paul Koot,Miguel A.Mendoza-Lugo,DominikPaprotny等.软件X 21(2023)1012793表1一维拟合分布。可变分布形状位置规模W正常–192.5229.33AX1广义极值0.1654.4810.96AX2正常–87.9312.84AX3广义极值0.08541.538.95关于函数(1)至(5)的更详细信息,读者可参考原始论文[1]。2.2. 软件功能在本文中,我们专注于基于Python的实现,以确保用户熟悉MATLAB版本将recc- ognize的新功能。用户可以开发和验证使用与先前MATLAB版本相同的工作流程的NPBN,即:(I)加载感兴 趣 的 数 据 集 ( DATA ) ; ( II ) 基 于 变 量 之 间 的 依 赖 性 在PARENTCELL(list)中定义DAG;(III)用函数bn_rankcorr计算BN秩相关矩阵R;以及(IV)获得变量的联合分布函数和条件分布一个变量的剩余使用推理功能。下一节将提出一些说明性的例子。在其相应的脚本中,列出了所有功能,并包括该过程的每个步骤的3. 说明性实例例1. 参数化一维边界。第一个脚本(example_1)估计了假设的400 kN三轴车辆的各个轴载荷分布。我们使用了荷兰A12高速公路在左行驶方向的动态称重(WIM)数据集[6,7]。WIM数据集包含描述2013年4月观察车辆的重量和长度的数据。对于该示例,用于假设的三轴车辆NPBN的感兴趣的变量是:车辆总重量(W)、第一轴载荷(AX1)、第二轴载荷(AX2)和第三轴载荷(AX3)。将每个变量拟合至一维参数分布(见表1)。对应于NPBN的DAG呈现在图1中。2(a).变量之间的(条件)秩相关性是bn_rankcorr函数的输入,该函数用于计算定义的DAG的NPBN秩相关性矩阵(图2)。2(b))。一旦NPBN已建成,估计的条件分布的个别轴负荷,可以使用通过拟合的参数一维裕度作为输入的推断函数(推断)来执行400 kN的总车辆重量(第1节中呈现的特征(i))。无条件和有条件的边际分布之间的比较(图1和图2)。2(c)-2实施例2. 基于样品的调节。为了以图形方式显示PyBanshee的准确性,第二个示例(脚本example_2)再现了在[8]中提供的不确定性分析软件包UNINET中构建的NPBN。NPBN由18个代表流量负载的变量组成例 如 , 使 用 经 验 数 据 首 先 定义NPBN的 结 构 , 然 后 通 过bn_rankcorr 函 数 计 算 秩 相 关 矩 阵 。 接 下 来 , 使 用 函 数bn_visualize,可以绘制两种DAG:(i)NPBN,其中节点是带有变量名称的椭圆,以及(ii)NPBN,其中边缘显示在节点内部。 两个DAG都在弧上显示条件等级相关性(见图1和图2)。S1和S2)。函 数cvm_statistic 测 试 高 斯 copula 假 设 的 有 效 性 ( 见 图S5)。图S4显示了经验秩相关矩阵(见图S3)和使用高斯距离函数计算的NPBN秩相关矩阵的d-校准分数这些分数支持BN模型中使用的联合正态copula的假设。如引言所述,NPBN的模型验证仍处于起步阶段。应该注意的是,所提出的测试对每个引导步骤中抽取的样本数量以及迭代(引导)的数量敏感。测试是相当严格的,特别是对于大型数据集[2,4]。与之前的MATLAB版本不同,每个测试的样本数量可以不同(第1节中的功能(ii))。为了获得统计上稳健的结果,我们可以增加NPBN的样本数量。这可以通过使用函数sample_bn (第1 节中介绍的特征(iii))来完成。接下来,使用sample_based_conditioning函数(第1节中介绍的特性(iv)),我们对所研究场景的相应间隔进行了条件化(参见表S2)。结果是基于样本的输出节点的条件经验分布。最后以图形方式比较了PyBanshee和UNINET的输出结果.图S6显示了UNINET中基于样本的条件样本和PyBanshee计算的基于样本的条件可以看出,ECDF保持良好的一致性。轻微的差异,可以观察到在输出变量。然而,由于抽样方法的统计波动,这些差异在不确定性范围内。4. 最后评论我们发布了PyBanshee,这是我们之前发布的非参数贝叶斯网络MATLAB软件包的开源Python移植,具有扩展功能。所做的扩展包括使用参数化一维边界的可能性,为模型验证测试选择不同的样本量,以及基于样本的条件化函数。这些功能也在MATLAB版本中实现。2最初的MATLAB版本包括三个从那时起,除了新增加的功能外,还从最近发表的研究中增加了两个脚本,即住宅和商业资产的洪水损失模型。更多的细节可以在[1,9,10]中找到我们添加了新的可视化,这些可视化只能在PyBanshee中访问,最近在[11]中使用。PyBanshee的下一步是与我们之前的结构化专家判断应用程序ANDRYL(参见[12-地震动和桥柱结构响应信息第每个变量的名称和说明见表S1。特别是,我们分析了条件的情况下,代表了一个方案,高车辆荷载和低材料电阻在“中等强度”的1为此1 根据[8],“中等强度”地震动是具有以下特征的地震动:最大地面加速度在0.273 g和0.783 g之间。2 升级后的MATLAB BANSHEE(v1.3)位于https://github.com/mike-mendoza/matlab_banshee.作者:Paul Koot,Miguel A.Mendoza-Lugo,DominikPaprotny等.软件X 21(2023)1012794图二. 使用PyBanshee函数和WIM数据集生成的图:(a)BN结构(bn_visualize);(b)NPBN秩相关矩阵(bn_rankcorr);(竞合利益作者声明,他们没有已知的竞争性财务利益或个人关系,可能会影响本文报告的工作数据可用性数据将根据要求提供。致谢这项研究得到了墨西哥国家科学技术委员会(CONACYT)的部分支持,项目编号为2019-000021- 01 EXTF-00564 CVU 784544,并得到了Climate-KIC通过项目“SAFERPLACES”的部分支持任务ID TC2018B_4.7.3-SAFERPL_P430-1 A KAVA 2 4.7.3.该au-谢谢E。阿帕里西奥·梅德拉诺和我Lokhorst的有用评论。附录A. 补充数据与本文相关的补充材料可以在https://doi.org/10.1016/j.softx.2022.101279上找到。引用[1]Paprotny Dominik,Morales-Nápoles Oswaldo,Worm丹尼尔我是拉格诺 · 伊 丽 莎 BANSHEE-A MATLAB toolbox for non-parametric Bayesiannetworks. SoftwareX2020;12:100588.[2]Hanea Anca,Morales Napoles Oswaldo,Ababei Dan.非参数贝叶斯网络:改进理论和审查应用。ReliabEng Syst Saf2015;144:265-84.作者:Paul Koot,Miguel A.Mendoza-Lugo,DominikPaprotny等.软件X 21(2023)1012795[3] LightTwist软件uninet。[4] Morales-Nápoles O,Hanea A M,Worm DT H.专家对条件秩相关性评估的实验结果:以空气污染估计为例。安全、可靠性和风险分析:超越地平线-欧洲安全和可靠性会议论文集。2014年。[5] Werner C,Bedford T,Cooke RM,Hanea AM,Morales-Nápoles O. 概率模型中依赖性的专家判断:系统的文献综述和未来的研究方向。European JOper Res2017;258(3):801-19.[6] Morales-Nápoles Oswaldo,Steenbergen Raphaël DJM.基于动态称重数据的贝叶斯网络车轴和车辆载荷特性分析。Reliab Eng Syst Saf 2014;125:153-64,ESREL 2012精选文章特刊。[7] Morales-Nápoles O,Steenbergen RDJM.基于动态称重系统数据的交通负荷建模的大规模混合贝叶斯网络。J BridgeEng2015;20(1).[8] Mendoza-Lugo Miguel Angel , Delgado-Hernández David Joaquín ,Morales-Nápoles Oswaldo.基于非参数贝叶斯网络的钢筋混凝土汽车桥柱可靠性分析。《工程结构》2019;188:178-87。[9]Paprotny Dominik,Kreibich Heidi,Morales-Nápoles Oswaldo,Wage-naarDennis,CastellarinAttilio,CarisiFrancesca,etal.Aprobabilisticapproach to estimate residential losses from different floodtypes. NatHazards 2021;105(3):2569-601。[10]多明尼克、海蒂、奥斯瓦尔多、卡斯泰拉林、弗朗西丝卡、凯伊。欧洲商业资产洪水损失模型的暴露和脆弱性估计。科学总环境2020;737:140011。[11]门多萨-卢戈·米格尔·安赫尔、莫拉莱斯-纳波尔斯·奥斯瓦尔多、德尔加多-埃尔南德斯·大卫·华金。动态称重系统数据多变量概率建模的非参数贝叶斯网络。《交通研究展望》2022年;13:100552。[12]莱 昂 塔 利 斯 · 乔 治 斯 , 莫 拉 莱 斯 · 纳 波 尔 斯 ·奥 斯 瓦 尔 多 。 ANDRIL- 一 个MATLAB 工 具 箱 , 用 于 分 析 和 决 策 的 不 确 定 性 : 从 专 家 判 断 中 学 习 。SoftwareX2018;7:313-7.[13]哈特·科内利斯·马塞尔·彼得,莱昂塔利斯·乔治,莫拉莱斯·纳波尔斯·奥斯瓦尔多 。 更 新 ( 1.1 ) 到 ANDURIL - 一 个 MATLAB 工 具 箱 , 用 于 分 析 和 决 策UnceRtaInty:从专家判断中学习。SoftwareX2019;10:100295.[14]Rongen Guus,Hart Cornelis Marcel Pieter't,Leontaris Georgios,Morales-Nápoles Oswaldo.更新(1.2)到ANDRIL和ANDRYL:性能改进和图形用户界面。SoftwareX2020;12:100497.
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 4
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- RTL8188FU-Linux-v5.7.4.2-36687.20200602.tar(20765).gz
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
- SPC统计方法基础知识.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功