gpt4 book ai didi

python - scipy.pdist() 返回 NaN 值

转载 作者:太空宇宙 更新时间:2023-11-04 04:54:49 32 4
gpt4 key购买 nike

我正在尝试对时间序列进行聚类。簇内元素具有相同的形状,但比例不同。因此,我想使用相关性度量作为聚类的度量。我正在尝试相关或 PIL 逊系数距离(欢迎任何建议或替代方案)。但是,当我运行 Z = linkage(dist) 时,以下代码返回错误,因为 dist 中有一些 NaN 值。 time_series 中没有 NaN 值,这由

确认
np.any(isnan(time_series))

返回 False

from scipy.spatial.distance import pdist
from scipy.cluster.hierarchy import dendrogram, linkage

dist = pdist(time_series, metric='correlation')
Z = linkage(dist)
fig = plt.figure()
dn = dendrogram(Z)
plt.show()

作为替代方案,我将使用 PIL 逊距离

from scipy.stats import pearsonr

def pearson_distance(a,b):
return 1 - pearsonr(a,b)[0]

dist = pdist(time_series, pearson_distance)`

但这会产生一些运行时警告并花费大量时间。

最佳答案

scipy.pdist(time_series, metric='correlation')

如果你看一下 manual , correlation 选项除以差值。因此,您可能有两个相同的时间戳,将 除以 得到 NaN

关于python - scipy.pdist() 返回 NaN 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47312972/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com