I have a set of weighted networks, each represented as a complete graph composed of nodes and connections with weights (see also "weighted networks" on Wikipedia). All networks share the same nodes and the connection weights differ from network to network.
My goal is to identify nodes that consistently (across the whole set) show high node strength* and express this consistency using statistical significance.
* Node strength is the sum of weights of all connections a node participates in.
Think of the following three examples:
- A network whose nodes are countries and whose weights represent the amount of trade in a particular commodity between any two countries. It's possible to create such a network for many commodities and arrive at a set of networks.
- A network whose nodes are brain regions and whose weights represent how well they are connected with white matter tracts. It's possible to create such a network for many subjects.
- A network whose nodes are particles and whose weights represent the interacting forces between particles. It's possible to sample the state of the interacting forces at multiple times and arrive at a set of networks.
For simplicity, we can think of the weights as being normalized to a [0,1] range in each network. Moreover, the number of nodes in my networks is in the order of thousands.
It's easy to calculate node strength for each node in every network of the set, and calculate its mean and variance across the set. However, I struggle in expressing the statistical significance of "being strongly connected" across all networks in the set. In other words, I struggle in being able to show/disprove that while each network in the set might be slightly different, the most connected nodes remain approximately the same.
UPDATE
I'd like to put forward two ideas how to approach this.
Approach 1:
- Take a network, compute node strength of all nodes in the network and transform them into z-scores, i.e., subtract mean strength and divide by standard deviation of node strengths. Repeat this process for all networks in the set.
- For each node, run a one-sample t-test, with the alternative hypothesis being that the mean z-score of node strength of the node is larger than 0. Raise the p-threshold until a given percentage of nodes remains (e.g. 10%).
- The remaining 10% of are the most connected nodes across the whole set of networks, i.e., they are the top nodes whose strength is significantly different from 0 (i.e. the mean node strength) at the given p-level.*
* The p-level can be corrected for multiple comparisons. However, since I will always take the top 10%, I believe it's not so important.
Approach 2 (proposed by Benjamin in the comment below):
Convert node strengths to percentiles and put a confidence interval around them. Then pick nodes whose confidence intervals consistently exceed a pre-determined threshold (e.g., 90%).
I believe that the methods will probably arrive at different solutions. Since I'm interested in identifying the most connected nodes across the set (and sorry for not being clear about this earlier), I prefer approach 1. Is it a valid approach? If not, can you sketch a different method?
1000 nodes
each with a centrality score contained in a1000 element
vector. You can calculate percentiles but I don't understand how to create confidence intervals from that? If you could explain that would be very helpful. Thanks :) $\endgroup$