时间序列中的周期检测(cydets)。一种检测时间序列中周期及其深度和持续时间的算法。
cydets的Python项目详细描述
这个包实现了一个检测时间序列中周期的算法 以及它们各自的循环深度(doc)和持续时间。 它在 Open Energy Modelling Framework。 缩写cydets表示(t)ime(s)eries中的(cy)cle(de)tection,以及 选择它是为了防止与图论中的循环定义混淆。
算法结果已经用众所周知的雨流循环计数进行了检验。 机械工程方法与两种计算方法的等价性 已经被证明了。 原始算法已在以下出版物中开发和提出:
dambrowski,乔尼;皮克迈尔,西蒙&乔森,安德烈亚斯。 循环寿命预测中电荷时间序列状态分类的数学方法。 高级汽车电池会议。德国,美因茨。2012年。
再次感谢Simon Pichlmaier分享他的代码并允许我们 在免费许可下移植和发布算法。
文档
对该算法最广泛的描述可以在 上述文件。此外,我们还试图记录 在代码中作为docstrings的算法。
安装
如果您有一个工作的python3环境,请使用can pypi安装最新的 版本。
pip install cydets
用法
该算法是作为一个函数实现的,该函数接受类似于数组的数据 结构作为参数。 结果将作为pandas数据帧返回。
import pandas as pd from cydets.algorithm import detect_cycles # create sample data series= pd.Series([0, 1, 0, 0.5, 0, 1, 0, 0.5, 0, 1, 0])# detect cycles cycles= detect_cycles(series)
引文
请使用我们的entry on Zenodo引用特定版本
许可证
版权所有(c)2019 OEMOF发展集团
此程序是免费软件:您可以在 自由软件基金会发布的GNU通用公共许可条款, 许可证的版本3,或(由您选择)任何更高版本。
这个程序的发布是希望它会有用,但没有任何保证; 甚至没有对适销性或适合特定用途的默示保证。 有关更多详细信息,请参阅GNU通用公共许可证。
您应该已经收到一份GNU通用公共许可证的副本和这个程序。 如果没有,请参阅http://www.gnu.org/licenses/。