源共享导数时间序列的快速匹配。

ssdts_matching的Python项目详细描述


PyPI-StatusPyPI-VersionsBuild-StatusCodecovLICENCE

源共享导数时间序列项的快速最优匹配。

fromssdts_matchingimportdynamic_timestamp_matchdynamic_timestamp_match(timestamp1,timestamps2,delta=20)

1   Installation

使用以下命令安装ssdts_matching

pip install ssdts_matching

2   Features

3   Use

您可以使用

fromssdts_matchingimportdynamic_timestamp_matchdynamic_timestamp_match(timestamp1,timestamps2,delta=20)
<> P六个不同的函数,在不断增加的复杂度中,被提出:

3.1   popping_greedy_timestamp_match

试图贪婪地匹配两个时间戳序列。时间戳在匹配时从列表中弹出。

O(M*log(N))中运行,其中M=len(timestamps1)M=len(timestamps2)。不保证能找到最佳匹配错误,其中错误是匹配对之间的差异之和。

3.2   greedy_timestamp_match

试图贪婪地匹配两个时间戳序列。

O(M*log(N))中运行,其中M=len(timestamps1)M=len(timestamps2)。如果得到的匹配是从第一个级数到第二个级数的内射函数,则解是最优误差解,其中误差是匹配对之间的差之和。否则,就不是了。

3.3   dynamic_timestamp_match

用动态规划法优化匹配两个时间戳序列。

O(M*N)中运行,其中M=len(timestamps1)N=len(timestamps2)。保证了一个最优解的误差,其中误差是匹配对之间的差之和。

3.4   hybrid_timestamp_match

使用贪婪算法和动态算法寻找两个时间戳序列的最佳匹配。

O(M*N)中运行,其中M=len(timestamps1)N=len(timestamps2),但是如果某些输入可以用贪心算法优化求解,则其平均运行时间比dynamic_timestamp_match要好。保证了一个最优解的误差,其中误差是匹配对之间的差之和。

3.5   vertical_aligned_timestamp_match

匹配两个时间戳序列,方法是按垂直方向(两个序列中具有相同值的时间戳对)对它们进行分区,并使用混合方法匹配每个分区。

在o(m*n)中运行,其中M=len(timestamps1)N=len(timestamps2)。不保证最优解是错误的,其中错误是匹配对之间差异的总和。

3.6   delta_partitioned_timestamp_match

尝试通过将第一个序列划分成2 * delta分隔的存储桶,并对每个存储桶应用给定的匹配函数(可以使用上述任何函数),将子解组合成匹配来匹配两个给定的时间戳序列。

如果提供的匹配函数产生最佳匹配,则此函数提供的匹配也会产生最佳匹配。该算法不能保证是对称的;以相反的顺序给出相同的两个序列可能会产生不同的匹配。

4   Contributing

包作者和当前维护者是shay palachy(shay.palachy@gmail.com);非常欢迎您向他寻求帮助。捐款是非常受欢迎的。

4.1   Installing for development

克隆:

git clone git@github.com:shaypal5/ssdts_matching.git

以开发模式安装,测试依赖项:

cd ssdts_matching
pip install -e ".[test]"

4.2   Running the tests

要运行测试,请使用:

python -m pytest --cov=ssdts_matching

4.3   Adding documentation

这个项目是使用numpy docstring conventions来记录的,之所以选择它们,是因为它们可能是最广泛传播的约定,它们都得到了sphinx等常用工具的支持,并产生了人类可读的docstring(当然,在我个人看来)。在记录添加到此项目中的代码时,请遵循these conventions

5   Credits

由shay palachy(shay.palachy@gmail.com)创建。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java我正在尝试获得一个按钮,以转到下一个活动,给定的条件为真,但它不会工作   java如何知道谁在应用上处于活动状态或不处于活动状态?   java比较两个列表并删除两个列表中的值的较短方法?   java如何将现有的静态常量包装到枚举中?   java如何在Struts 2中获取action标记的请求属性   java如何阻止jboss shrinkwrap远程解析依赖项?   java更改一个字符集。dbf文件   Java中的OOP:带方法链的类继承   Java中给定句子的字符串反转   Java版本控制和术语,1.6 vs 6.0 OpenJDK vs Sun   解决依赖关系后运行java Make Zip任务   java从Javascript调用jaxws web服务   java为什么几次之后数据库连接失败   使用Javasocket发送HTTP响应时出现问题   java当我想缩写两个单词时,我会出错   使用AndEngine重新触碰ONA中的java负坐标   java Google play服务游戏显着()失败错误'com。谷歌。安卓gms。常见的应用程序编程接口。ApiException:4:4'   java我怎样才能从计算机中读取数字。txt文件并将其放入2D数组中?   java intellij spring启动生成错误   java iBatis调用以Oracle类型为参数的存储过程