Ted,

It's because I'm trying to cluster time series that may differ in length, some parts may be shifted, some parts may last longer in one signal than in the other (somehow skewed), but they represent more-less the same thing. DTW seems good because it's optimized for such things (used a lot if speech recognition where problems like this may occur). The problem is that K-means incorporates calculating centroids (and the thing is, I need some kind of centroids that will represent the cluster in the end). Maybe I'm wrong, please correct me, I'm a youngster in this kind of things, but there is a problem finding centroids for such signals. Distance measures that recalculate centroids (such as Euclidean), calculate pairwise distance between components of two signals (signal and a centroid). How can I use a distance measure for signals with different length? And also, there is shifting and skewing in signals that represent the same thing, and there mean could be totally wrong. For example, mean of two sinusoids while one of them is shifted by Pi is 0. And that's definitely not a good centroid in my case.

So, I'm trying to find a scalable solution for my problem, I tried to fit it in what's already implemented in Mahout (for clustering), but it's not so obvious to me.

I'm open to suggestions, I'm still new to all of this.

Thanks,
Marko

On Sat 10 Jan 2015 07:32:33 AM CET, Ted Dunning wrote:
Why is it you can't compute a mean?



On Fri, Jan 9, 2015 at 5:03 AM, Marko Dinic <[email protected]>
wrote:

Thank you for your answer Ted.

What about some kind of Bisecting k-means? I'm trying to cluster time
series of different length and I came up to an idea to use DTW as a
similarity measure, which seems to be adequate, but the thing is, I cannot
use it with K-means, since it's hard to define centroids based on time
series which can have different length/phase. So I was thinking about
Hierarchical clustering, since it seems appropriate to combine with DTW,
but is not scalable, as you said. So my next thought is to try with
bisecting k-means that seems scalable, since it is based on K-means step
repetitions. My idea is next, by steps:

- Take two signals as initial centroids (maybe two signals that have
smallest similarity, calculated using DTW)
- Assign all signals to two initial centroids
- Repeat the procedure on the biggest cluster

In this way I could use DTW as distance measure, that could be useful
since my data may be shifted, skewed, and avoid calculating centroids. At
the end I could take one signal from each cluster that is the most similar
with others in cluster (some kind of centroid/medioid).

What do you think about this approach and about the scalability?

I would highly appreciate your answer, thanks.

On Thu 08 Jan 2015 08:19:18 PM CET, Ted Dunning wrote:

On Thu, Jan 8, 2015 at 7:00 AM, Marko Dinic <[email protected]>
wrote:

  1) Is there an implementation of DTW (Dynamic Time Warping) in Mahout
that
could be used as a distance measure for clustering?


No.



2) Why isn't there an implementation of K-mediods in Mahout? I'm guessing
that it could not be implemented efficiently on Hadoop, but I wanted to
check if something like that is possible.


Scalability as you suspected.



3) Same question, just considering Agglomerative Hierarchical clustering.


Again.  Agglomerative algorithms tend to be n^2 which contradicts scaling.



Reply via email to