Python中的系统动力学建模
项目描述
PySD
该项目是一个用于在 Python中运行系统动力学模型的库,旨在改进大数据和机器学习与 SD 工作流的集成。
当前版本至少需要运行 Python 3.7。
资源
有关以下信息,请参阅项目文档:
有关使用 SD 模型进行数据分析的标准方法,请参阅 PySD Cookbook,其中包含(例如):
如果您在任何已发表的作品中使用 PySD,请考虑引用PySD 介绍性论文:
霍顿,詹姆斯;西格尔,迈克尔。“使用 PySD 对系统动态模型进行高级数据分析。” 系统动力学学会第 33 届国际会议论文集。2015 年。
您还可以使用Zenodo 提供的 DOI引用该库。建议指定使用的 PySD 版本及其对应的 DOI。如果你想引用所有版本,你可以使用 PySD 的通用 DOI:
为什么要创建一个新的 SD 模拟引擎?
那里有许多出色的 SD 程序(Vensim 、 iThink 、 AnyLogic 、 Insight Maker等)。为了不浪费我们的努力,或者成为Not-Invented-Here谬误的受害者,我们应该有一个很好的理由来开始一个新项目。
原因是这样的:在更大的数据科学社区中,有一整个世界的计算工具正在开发中。系统动力学家应该直接使用其他人正在构建的工具,而不是在 SD 特定软件中复制他们的功能。做到这一点的最佳方法是将特定的 SD 功能引入正在开发其他工具的领域。
这种方法使 SD 建模者能够利用数据科学的最新发展,并将我们的精力集中在改进系统动力学建模特有的堆栈部分。
克隆此存储库
如果您想直接使用此存储库,则需要使用递归 git checkout 才能正确加载测试套件(对不起..)
命令应该是这样的:
git clone --recursive https://github.com/SDXorg/pysd.git
扩展
你可以通过PySD2R包在R中使用 PySD ,也可以在cran上找到。
贡献
PySD 目前是一个社区维护的项目,欢迎任何贡献。
许多人通过提交代码、错误报告和建议为开发这个项目做出了贡献。PySD 的主要历史变化在关于 PySD 部分中进行了描述。开发人员文档可以帮助新开发人员。
此软件包的代码可在以下网址获得:https ://github.com/SDXorg/pysd