get authority and hub scores from centrality function

13 次查看(过去 30 天)
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?

采纳的回答

Christine Tobler
Christine Tobler 2017-1-3
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 个)

类别

Help CenterFile Exchange 中查找有关 Networks 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by