2
$\begingroup$

I am currently trying to spatially cluster data that is ordered on a grid. Each point has x and y coordinates as well as a measurement value. These features come from a time series where I analyze each timestamp individually.

So far I've used hierarchical clustering with great success, the clusters are nearly always what I would expect. However, since I am interested in cluster development as well as the intra- and intercluster variance I cluster the data for every timestamp. This results in a problem since the specific cluster indices are not temporally consistent. What was cluster 2 in the last timestamp might be cluster 1 in the next which makes a time-based analysis much more difficult.

Is there a different clustering method that results in temporally stable cluster indices or does anyone know of a method to reliably track the cluster indices? I thought about tracking the movement of the centroids and assigning the previous cluster label to the nearest new centroid but this doesn't seem consistent as well since it strongly depends on the changes in the data.

$\endgroup$
2
  • 1
    $\begingroup$ Do the measurements also contribute to clustering? // What is the scientific/practical context? I could imagine that ecologists studying animal movements have similar problems and might have come up with a solution $\endgroup$
    – Ute
    Commented Jul 11, 2023 at 8:41
  • 1
    $\begingroup$ Yes, the measurements also contribute. I only include the spatial information to force local clusters instead of purely value based ones. I am studying the error causes in injection moulding where the spatial coordinates are a specific part of the mould and the corresponding value is a measurement of the resulting product. I already looked at methods used in geology where locality obviously is an important factor but wasn't able to find anything suitable for my problem. $\endgroup$ Commented Jul 11, 2023 at 9:05

1 Answer 1

1
$\begingroup$

The most straightforward thing to track the cluster indices would be to compute the Jaccard index between pairs of clusters from different clusterings. You then find for example that cluster 1 from clustering A has Jaccard index 0.7 with cluster 2 from clustering B (and hence these correspond to each other); more generally this will give you a mapping of indices of one clustering onto indices of another clustering. If your clusters are really satisfactory as you describe and temporally fairly stable then this should work. You need to consider cases where the number of clusters is different between clusterings and there might be ambiguous cases that are less easy to resolve. In a first pass I would look for a minimalist, straightforward and descriptive approach such as this before considering anything more complicated.

$\endgroup$
1
  • 2
    $\begingroup$ Thanks! This definitely feels much more robust than my nearest neighbour approach which already failed due to too much movement of the centroids $\endgroup$ Commented Jul 11, 2023 at 13:56

Your Answer

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

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