# Clustering time series based on correlation

I want to cluster a set of time series regarding their pairwise correlation. If I normalize the series by subtracting their average value and then scaling to a standard deviation of one, the correlation coefficient (Pearson's r value) between original series is the same as the dot product of the normalized counterparts.

Which clustering algorithms would be apropriate in this situation ?

-
Be careful. It makes no sense to do this unless the time series are all stationary. See the work of Eamonn Keogh for some cautionary tales. –  Rob Hyndman May 15 '12 at 11:10

Choose any distance based clustering algorithm.

Have a look at ELKI. First of all they have probably the largest choice in clustering algorithms, plus you can plug in arbitrary distance functions easily. They also have Pearson correlation distance along with various specialized time series distances.

Depending on your domain knowledge, DBSCAN could be a good choice. If you can define a reasonable threshold and minimum cluster size.

-
mcxarray -data ecoli.exprs -co 0.5 -skipr 1 -skipc 1 -tf 'abs()' -o ecoli.mci -write-tab ecoli.dict