I have a bunch of human-built networks of different sizes and am trying to compare them using Small World Network metrics: Average Shortest Path Length (ASPL) and local average Clustering Coefficient (CC). Each network has a dependent variable (the overall accuracy of the network content, judged by a human expert) and I am trying to see whether ASPL and CC correlate with this network accuracy metric. But since the networks are different sizes I want to normalize so that these metrics are not dependent on the number of nodes in the network.

For ASPL, I see a highly significant positive correlation between number of nodes and ASPL score. The SWN model predicts that ASPL will scale by log(n) where n is number of nodes. I divided my ASPL scores by log(n) to try to control for n but still I noticed a significant positive correlation between ASPL score and number of nodes.

For average local CC, I did not see that the SWN model defined a clear relationship between number of nodes and CC. I observed a significant negative correlation between number of nodes and CC in my data.

I have seen that sometimes random surrogate networks are used to normalize networks, and probably it is something I should learn more about. However this paper from Wijk et al in 2010 observes that "random surrogates remain sensitive to network size" so it wasn't clear to me that this was an acceptable solution.

Another observation is that in my case, network size significantly positively correlates with my network accuracy metric. So the more nodes in the network, the more likely the % accuracy of the network will be higher. I think this also may mean that generating random surrogate networks of the same size as the real networks may not be effective since the size already correlates with the dependent variable.

Are there any robust techniques for normalizing these metrics for network size? And is it a valid test to see if a metric has been properly normalized to see whether or not the normalized metric no longer significantly correlates with the number of nodes?

  • $\begingroup$ What about controlloing for size with some kind of regression model? $\endgroup$ Commented Sep 1, 2021 at 14:00
  • $\begingroup$ How would that work exactly? I'm pretty new to a lot of this stuff, so I might need things spelled out a little bit more. Is there some documentation or a paper that maybe you could point me to to learn more? $\endgroup$
    – hayfreed
    Commented Sep 1, 2021 at 16:38
  • $\begingroup$ See my answercomment! $\endgroup$ Commented Sep 2, 2021 at 3:47

1 Answer 1


(This is more of a comment but too long)
If you want to normalize ASPC (and likewise CC) with a function of $n$, write it as $\frac{ASPC}{f(n)}\approx 1$. Not knowing the function $f$, we could model it as a power function $n^\beta$ and estimate it with regression, after taking logs: $$ \log(ASPC)=\alpha + \beta \log(n)+\text{error} $$ You could then normalize using the estimated function $\propto n^\hat{\beta}$. (One could also try more general functions, but probably stick with simplicity). Then you can start investigating this transformations using visualization.

  • $\begingroup$ Thanks! This was very helpful. I took the log of each variable, using ASPC as my independent variable and n as my dependent variable. Then I ran a linear regression fit and got the slope (m) of the best fit line. Then for each ASPC value in my list, I divided it by n^m, where n is number of nodes and m is the slope of the best fit line. Does that sound like basically the correct approach? $\endgroup$
    – hayfreed
    Commented Sep 2, 2021 at 18:30

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.