I have a list of electrical feeders. I want to cluster them by their topological characteristics: voltage level, total length, % of underground cable, state of the neutral.
I first made a manual clustering by dividing the feeders in two groups, which are defined for their voltage level (15 kV and 20 kV). Then I applied a normalization process (with max-min normalization formula, see: How to normalize data to 0-1 range?).
So there's the first question: Should I make a normalization process for each group defined by voltage level (15 kV and 20 kV groups)? (I did so, because then I used clustering techniques for each group.)
Then I tested k means, k medoids, and agglomerative hierarchical clustering, to find which algorithm performs best for my dataset. I calculated the average and global silhouette coefficients to estimate the best technique and to choose and optimal number of clusters.
I wrote code to calculate these coefficients for each value of k, from 2 to 25. Due to the heuristic nature of k-means and k-medoids, I ran the calculation for 50 times to obtain a medium value for each value of k. For example, here are the results according to the average silhouette coefficient for the 15 kV feeders group:
I chose a minimum value of k (signed by black dashed line), then I defined k = 12 as an optimum value to not have a huge number of clusters. The algorithm that best performs at k=12 is k-medoids algorithm.
It's worth evaluating if the coefficients converge to a specific number of clusters, so that a robust solution will be found. It's also important to make a visual inspection of the clusters, to find anomalies that are physically not correct.
I wanted to ask if this process is correct.