调整树桩匹配功能的最大距离

问题描述 投票:0回答:1

我使用 python Stumpy 从时间序列中提取子序列。对于模式 Q 和时间序列 T,我使用函数 Stumpy.match https://stumpy.readthedocs.io/en/latest/api.html#stumpy.match

现在与允许的最大距离相关:默认情况下使用:

np.nanmax([np.nanmean(D) - 2 * np.nanstd(D), np.nanmin(D)])

不知何故,这指的是 2 个标准差以内的值。我想更改此设置以查找最多 3 个标准差;我不清楚如何做到这一点 - 替换为具有单个参数 D 的函数,并且该函数返回如下所示的内容: np.nanmax([np.nanmean(D) - 3 * np.nanstd(D) ), np.nanmin(D)])。我也不清楚 D 应该是什么(我的意思是它的长度为 n - m + 1,假设 n 是整个时间序列 len,m 是窗口大小),所以我可以是没有给定查询模式 Q 的整个时间序列或什么?

python time-series standard-deviation sliding-window stumpy
1个回答
0
投票

对于与 STUMPY 相关的使用问题,我强烈建议将它们发布到他们的 Github 讨论区,因为在那里你会收到更快的回复。

想要更改此设置以查找最多 3 个标准差;我不清楚如何做到这一点 - 替换为具有单个参数 D 的函数,并且该函数返回如下所示的内容:

我认为你只需要做类似的事情:

import numpy as np
import stumpy 

def new_max_distance(D):
    return np.nanmax([np.nanmean(D) - 3 * np.nanstd(D), np.nanmin(D)])

然后将此函数传递给

max_distance
stumpy.match

参数
stumpy.match(
    Q=np.array([-11.1, 23.4, 79.5, 1001.0]),
    T=np.array([584., -11., 23., 79., 1001., 0., -19.]),
    max_distance=new_max_distance
    )

在内部,一旦在

D
Q
之间计算出距离剖面
T
,它将使用您的自定义函数来计算将
new_max_distance
应用于
D
所允许的最大距离。

© www.soinside.com 2019 - 2024. All rights reserved.