get authority and hub scores from centrality function
13 views (last 30 days)
Show older comments
Laszlo Bodnar
on 3 Jan 2017
Answered: Christine Tobler
on 3 Jan 2017
I calculated authority and hub scores of a network's nodes using the following function:
hub_ranks = centrality(G,'hubs');
auth_ranks = centrality(G,'authorities');
(Source: https://www.mathworks.com/help/matlab/ref/graph.centrality.html)
As the function's description says, "both scores are normalized such that the sum of all hubs scores is 1 and the sum of all authorities scores is 1".
Now I would like to extract the absolute scores themselves - not the normalized ones. Only problem is, I do not know how the normalization took place hence I cannot extract the original scores myself. Is there a workaround to this matter?
0 Comments
Accepted Answer
Christine Tobler
on 3 Jan 2017
The description is a bit misleading here: the 'hubs' and 'authorities' values for all nodes are both basically singular vectors of the adjacency matrix of the graph. So there are no absolute scores, every rescaling of the nodes is as good as any other.
This gets a bit more complicated when you have several disconnected components. In this case, MATLAB computes the 'hubs' / 'authorities' scores for each component separately, and rescales them so that the overall sum is still 1.
You can change that behavior yourself by taking a look at the MATLAB code for hubs and authorities:
edit digraph/centrality
Copy the parts needed for 'hubs' and 'authorities' into a new function, and you can implement exactly the behavior you want.
0 Comments
More Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!