PySD
Simulating System Dynamics Models in Python
该项目是一个用于在Python中运行系统动力学模型的简单库,旨在改善大数据和机器学习与SD工作流程的集成。
PySD转换 Vensim 或 XMILE 模型文件到Python模块中,并提供修改、模拟和观察这些转换后的模型的方法。转换是通过中间体完成的 Abstract Syntax Tree representation ,这使得可以以更简单的方式添加其他语言的构建器
为什么要创建新的SD模拟引擎?
有很多很棒的SD程序 (Vensim , iThink , AnyLogic , Insight Maker ,而且 others ).为了不浪费我们的努力,或者成为受害者 Not-Invented-Here 谬论,我们应该有一个非常好的理由开始一个新项目。
原因是这样的:更大的数据科学社区正在开发整个世界的计算工具。 System dynamicists should directly use the tools that other people are building, instead of replicating their functionality in SD specific software. 最好的方法是将特定的SD功能引入正在开发这些其他工具的领域。
这种方法使SD建模人员能够利用数据科学的最新发展,并集中精力改进系统动力学建模所独有的堆栈部分。
限制
目前PySD并未实现Vensim和XMILE的所有功能和特性。这可能意味着某些模型无法使用Python转换版本运行,或者只能部分运行。在大多数情况下,未实现的功能将被转换为 pysd.py_backend.functions.not_implemented_function()
.然而,最常用的功能和特性是在PySD中实现的,并且大多数模型都可以正常运行。
有关更多信息,请参阅 supported Vensim functions , supported Xmile functions ,而且 supported Python builder functions .如果您想添加任何新功能,请按照中的提示操作 development section .的示例 adding functions section 可能会帮助你。
额外资源
PySD手册
一本包含使用PySD进行高级数据分析的简单手册的手册,请访问:http://pysd-cookbook.readthedocs.org/
该手册包括模型、示例数据和iPython笔记本形式的代码,它们演示了各种数据集成和分析任务。这些模型可以在您的本地机器上执行,并进行修改以适应您的特定分析要求。
贡献
PySD目前是一个社区维护的项目,欢迎任何贡献。
此软件包的代码可访问:https://github.com/SDXorg/pysd
如果您发现任何错误或对特定功能感兴趣,请参阅 reporting bugs .
如果您有兴趣参与PySD的开发,请参阅 developer documentation 上面列出了。
加入我们的松弛渠道 sd-tools-and-methodology-community .
援引
如果您在任何已发表的作品中使用PySD,请考虑引用 PySD Paper (2022) :
Martin-Martinez et al., (2022). PySD: System Dynamics Modeling in Python. Journal of Open Source Software, 7(78), 4329, https://doi.org/10.21105/joss.04329
@article{Martin-Martinez2022,
doi = {10.21105/joss.04329},
url = {https://doi.org/10.21105/joss.04329},
year = {2022},
publisher = {The Open Journal},
volume = {7},
number = {78},
pages = {4329},
author = {Eneko Martin-Martinez and Roger Samsó and James Houghton and Jordi Solé},
title = {PySD: System Dynamics Modeling in Python},
journal = {Journal of Open Source Software}
}
请同时添加 PySD Introductory Paper (2015) :
Houghton, J. P., & Siegel, M. (2015). Advanced data analytics for system dynamics models using PySD. Proceedings of the 33rd International Conference of the System Dynamics Society, 2, 1436–1462. ISBN: 9781510815056
@inproceedings{Houghton_PySD_2015,
author = {Houghton, James P and Siegel, Michael},
booktitle = {{Proceedings of the 33rd International Conference of the System Dynamics Society}},
publisher = {{System Dynamics Society}},
title = {{Advanced data analytics for system dynamics models using PySD}},
url = {https://www.proceedings.com/28517.html},
isbn = {9781510815056},
volume = {2},
pages = {1436-1462},
eventdate = {2015-07-19/2015-07-23},
location = {Cambridge, Massachusetts, USA},
year = {2015},
month = {7},
keywords = {System Dynamics, Vensim, Python}
}
您还可以使用引用该库 DOI provided by Zenodo .可以指定使用的PySD版本及其相应的DOI。如果您想引用所有版本,则可以使用PySD的通用DOI:
支持
如需额外帮助或咨询,请加入我们的闲置渠道 sd-tools-and-methodology-community .
备注
构建时间: 2025 年 06 月 05 日
备注
构建时间: 2025 年 06 月 05 日
备注
构建时间: 2025 年 06 月 05 日
备注
构建时间: 2025 年 06 月 05 日
备注
构建时间: 2025 年 06 月 05 日
备注
构建时间: 2025 年 06 月 05 日
备注
构建时间: 2025 年 06 月 05 日
备注
构建时间: 2025 年 06 月 05 日