I have done a data analysis trying to cluster longitudinal data using R and the kml package. My data contains of around 400 individual trajectories (as it is called in the paper). You can see my results in the following picture:

enter image description here

After reading chapter 2.2 "Choosing an optimal number of clusters" in the corresponding paper I didn't get any answers. I would prefer having 3 clusters but will the result still being Ok with a CH of 80. Actually I even don't know what the CH value represents.

So my question, what is an acceptable value of the Calinski & Harabasz (CH) criterion?

  • $\begingroup$ your cluster-solution images are from SPSS? is it possible to count this CH criterion in SPSS? Thanks! :) b $\endgroup$
    – berbelein
    Mar 12, 2014 at 21:52
  • $\begingroup$ Welcome to the site, @berbelein. This isn't an answer to the OP's question. Please only use the "Your Answer" field to provide answers. If you have your own question, click the [ASK QUESTION] ask it there, then we can help you properly. Since you are new here, you may want to take our tour, which contains information for new users. $\endgroup$ Mar 12, 2014 at 22:05
  • $\begingroup$ @berbelein the images are from R. $\endgroup$
    – greg121
    Mar 13, 2014 at 7:47

1 Answer 1


There are a few things one should be aware of.

  • Like most internal clustering criteria, Calinski-Harabasz is a heuristic device. The proper way to use it is to compare clustering solutions obtained on the same data, - solutions which differ either by the number of clusters or by the clustering method used.

  • There is no "acceptable" cut-off value. You simply compare CH values by eye. The higher the value, the "better" is the solution. If on the line-plot of CH values there appears that one solution give a peak or at least an abrupt elbow, choose it. If, on the contrary, the line is smooth - horizontal or ascending or descending - then there is no reason to prefer one solution to others.

  • CH criterion is based on ANOVA ideology. Hence, it implies that the clustered objects lie in Euclidean space of scale (not ordinal or binary or nominal) variables. If the data clustered were not objects X variables but a matrix of dissimilarities between objects then the dissimilarity measure should be (squared) euclidean distance (or, at worse, am other metric distance approaching euclidean distance by properties).

  • CH criterion is most suitable in case when clusters are more or less spherical and compact in their middle (such as normally distributed, for instance)$^1$. Other conditions being equal, CH tends to prefer cluster solutions with clusters consisting of roughly the same number of objects.

Let's observe an example. Below is a scatterplot of data that were generated as 5 normally distributed clusters which lie quite close to each other.

enter image description here

These data were clustered by hierarchical average-linkage method, and all cluster solutions (cluster memberships) from 15-cluster through 2-cluster solution were saved. Then two clustering criteria were applied to compare the solutions and to select the "better" one, if there is any.

enter image description here

Plot for Calinski-Harabasz is on the left. We see that - in this example - CH plainly indicates 5-cluster solution (labelled CLU5_1) as the best one. Plot for another clustering criterion, C-Index (which is not based on ANOVA ideology and is more universal in its application than CH) is on the right. For C-Index, a lower value indicates a "better" solution. As the plot shows, 15-cluster solution is formally the best. But remember that with clustering criteria rugged topography is more important in decision than the magnitude itself. Note there is the elbow at 5-cluster solution; 5-cluster solution is still relatively good while 4- or 3-cluster solutions deteriorate by leaps. Since we usually wish to get "a better solution with less clusters", the choice of 5-cluster solution appears to be reasonable under C-Index testing, too.

P.S. This post also brings up the question whether we should trust more the actual maximum (or minimum) of a clustering criterion or rather a landscape of the plot of its values.

$^1$ Later note. Not quite so as written. My probes on simulated datasets convince me that CH has no preference to bell shape distribution over platykurtic one (such as in a ball) or to circular clusters over ellipsoidal ones, - if keeping intracluster overall variances and intercluster centroid separation the same. One nuance worth to keep in mind, however, is that if clusters are required (as usual) to be nonoverlapping in space then a good cluster configuration with round clusters is just easier to encounter in real practice as a similarly good configuration with oblong clusters ("pencils in a case" effect); that has nothing to do with a clustering criterion's biases.

An overview of internal clustering criteria and how to use them.

  • $\begingroup$ A reader might want to see question stats.stackexchange.com/q/242360/3277 too. $\endgroup$
    – ttnphns
    Oct 25, 2016 at 19:42
  • $\begingroup$ I have implemented for SPSS a number of most popular clustering validation criterions, - please visit my web-page, collection "Clustering criterions". $\endgroup$
    – ttnphns
    Jun 27, 2018 at 14:34
  • 1
    $\begingroup$ @MarineGalantin, (1) There is no a conceptual or other link between C-index and Silhouete index or Calinski-Harabasz, they are quite different, alternative clustering criteria to use. (2) My document does not explain how to code, rather, the .sps file attached contains the code itself, and that is SPSS syntax. If youare not SPSS user but a Python user, search for Python code elsewhere, you probably will find. However, since my doc. shows and explains the formulas, one may be able to code themselves in any language they prefer. $\endgroup$
    – ttnphns
    Dec 23, 2019 at 18:19
  • 1
    $\begingroup$ @maciejwww, you may post a question, and give a data example (together with your code and calculations, if needed). $\endgroup$
    – ttnphns
    Jun 19, 2023 at 5:53
  • 1
    $\begingroup$ @maciejwww, CH is an internal, not external clustering criterion. It does not compare clusters, it helps select a "better" cluster solution from several ones. $\endgroup$
    – ttnphns
    Jun 19, 2023 at 6:01

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.