5
$\begingroup$

I have a multiple time series data of different customers (around 10k customers, for 100 days). I want to cluster this data into 5-10 groups.

However, I don't have any tips about the time series clustering. Is the K-means works for them? Any python package works for this data?

Any help appreciated.

$\endgroup$

2 Answers 2

5
$\begingroup$

You could try K-Means based on Dynamic Time Warping metric which is much more relevant for time series (see tslearn tuto). Saying that, there is an interesting discussion about Dynamic Time Warping Clustering that you could read with a lot of references that give time series clustering code examples.

Another common approach would be to extract relevant features from your time series and apply clustering techniques to them (see sklearn clustering page). You could extract a lot of common features for time series using tsfresh python package.

Other readings
Measuring the distance between time series, Richard Moeckel, Brad Murray
Alternate distance metrics for two time series

Hope it helps.

$\endgroup$
1
$\begingroup$

I would suggest customer segmentation which is topic well studied in marketing analytics. You might have a lot to search with those key words.

However here is an example using PCA for clustering : https://www.kaggle.com/zonnalobo/timeseries-segmentation-and-forecasting

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.