但是,当我运行Z=linkage(dist)时,以下代码返回错误,因为dist中有一些NaN值。在time_序列中没有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()
作为替代,我将使用皮尔逊距离
from scipy.stats import pearsonr
def pearson_distance(a,b):
return 1 - pearsonr(a,b)[0]
dist = pdist(time_series, pearson_distance)`