I'd like to perform a cluster analysis on ordinal data (Likert scale) by using SPSS. I have around 140 observations and 20 variables that are scaled from 1 to 5 (1: I strongly agree, 3: neutral, 5: I strongly disagree). As a result, I want to assign one cluster to each person, such as person 1 belongs to the group of technology-enthusiastic users...

Since I'm new in that area, I want to ask you, if you might help me with regard to the procedure. I have already read something about cluster analysis in the Internet, but there are different opinions on how to treat ordinal data.

Is it a common way to convert the ordinal data to interval data first and then perform the cluster analysis?

  • $\begingroup$ It is very common to treat Likert-type rating scale as interval. (Suffice it to say, if sum your items into a total score or you compute mean for an item - be sure you've already decided that the data are interval.) With interval data, many kinds of cluster analysis are at your disposal. If you insist the data are ordinal - ok, use hierarchical cluster based on Gower similarity. Find an SPSS macro for Gower similarity on my web-page. $\endgroup$
    – ttnphns
    Commented Sep 30, 2013 at 17:18
  • $\begingroup$ Indeed, treating such Likert scales as metric is called making the assumption of equal intervals. But with 20 separate items I'd first run a PCA to decrease the number of items. In my experience (market research), between 4 and 6 variables works best in cluster analysis. $\endgroup$
    – RubenGeert
    Commented Sep 30, 2013 at 17:45
  • $\begingroup$ Thanks a lot for your answer! I have another question: how to convert ordinal data to interval data in spss? Can I use "optimal scaling" or is there a better solution? $\endgroup$
    – cathy
    Commented Sep 30, 2013 at 17:48
  • $\begingroup$ Thank you, RubenGeert. By "treating such Likert scales as metric", you mean I can set the level of measurement for my variables as metric in spss? What kind of cluster analysis (hierachical,two-step) is the best, after having run a PCA? $\endgroup$
    – cathy
    Commented Sep 30, 2013 at 18:06
  • $\begingroup$ You can use twostep cluster. Try it both with the scales as categorical and as continuous to see how much difference it makes. They will, of course, use different distance measures. $\endgroup$
    – JKP
    Commented Sep 30, 2013 at 20:32

1 Answer 1


If you can define a reasonable similarity measure on the values, you can use any distance based algorithm, such as:

  • Hierarchical clustering
  • K-Medoids (k-means for arbitrary distances)

Given that you only have 5 values, you could just manually define a similarity matrix for these 5 values; then decide on a combination rule to merge multiple attributes, e.g. mean.

  • $\begingroup$ Hi, could you suggest some reasonable similarity measure? I've seen many people suggesting Gower, but I wonder if it's a good choice. Let's suppose we have one feature and three rows with values 1, 4, 5. Gower will consider as equally dissimilar all the rows, but I think that rows with 4 and 5 should be less dissimilar than 1 and 4 or 1 and 5. Am I right? Can you comment on this? Thanks a lot $\endgroup$
    – crash
    Commented May 23, 2019 at 14:51
  • 1
    $\begingroup$ You seem to confuse Gower with Hamming. Don't rely on existing distances. Define your own that does your data. $\endgroup$ Commented May 23, 2019 at 19:31

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.