I am new to both data science and python. I have a dataset of the time-dependent samples, which I want to run agglomerative hierarchical clustering on them. I have found that Dynamic Time Warping (DTW) is a useful method to find alignments between two time series which may vary in time or speed.
I have found
scipy.cluster.hierarchy library in order to cluster my data using defined metrics.
My dataset is stored in pandas dataframe. The samples are waring in size, so there are nan value in the dataframe which should be ignored when computing mlpy.dtw_std.
To provide data for
scipy.cluster.hierarchy.linkage(distanceMatrix, method='average') I need a distance matrix in the form of the 1d compressed distance matrix, where it must be a (n 2) sized vector where n is the number of original observations paired in the distance matrix.
Is there faster solution than following in order to compute distance matrix acceptable for
scipy.cluster.hierarchy.linkage using Dynamic Time Warping distance?
dm = pdist ( ctl,lambda u,v: mlpy.dtw_std ( pd.Series(u).dropna(),pd.Series(v).dropna(),dist_only=True ))