[GRASS-user] v.net.centrality closeness

Moritz Lennert mlennert at club.worldonline.be
Thu Sep 11 06:44:19 PDT 2014


On 10/09/14 16:31, Will Fields wrote:
> I'm using v.net.centrality to do some calculations, and I had a question
> about how closeness centrality is calculated by the module:
> Is the value for closeness centrality actually "farness" (the sum of the
> distance from a site in a network to all other sites in the network)?
> v.net.centrality is returning large values for closeness in a data
> set rather than a decimal between 0 and 1.  I tried to look through the
> C code for the module, but I wasn't able to make sense of it.

I think you are right. In its current form, it seems to be more of a 
measure of "farness".

By inverting the "closeness" variable with a simple

1 / closeness

I get a result that seems more adequate.

But I also don't really understand the calculations in the code. 
Notably, if farness of a node is (according to the Wikipedia article 
referenced in the man page) "the sum of its distances to all other 
nodes", shouldn't it be the sum of the distances of the node to all 
other nodes, i.e. you should be able to calculate farness using 
v.net.allpair and then summing the distances by from_node ?

When I use v.net.centrality on a network combining streets_wake and 
schools_wake from the NC dataset and I calculate the "closeness" (aka 
farness), I get this for the nodes with the highest values:

  cat |     dist
-----+--------------
   39 | 39769.319852
  128 | 39316.769189
  159 | 38730.565742
   38 | 34311.673453
   59 | 33649.126805
  112 | 33406.022609
  131 | 33080.405319
  140 | 33062.412818
   33 | 32580.971836
  135 | 32183.519299
   77 | 32059.527469
  158 | 32039.010031
  129 | 31501.214954
  103 | 31327.647516
   42 |  31283.00064

But when I calculate all distances with v.net.allpairs and the sum the 
distances by from_cat, I get

  from_cat |    dist
----------+-------------
        39 | 6254233.946
       128 | 6175455.627
       159 | 6080808.494
       140 |  5498739.16
        33 | 5403162.189
        38 | 5336049.601
       158 | 5322613.245
       112 | 5241168.562
       131 | 5211368.296
        59 | 5201325.561
       103 |  5182372.74
       156 | 5171904.939
       157 | 5116144.746
       143 | 5065893.211
        77 | 5047493.908

i.e. both the values _and_ the order of nodes are different.

Maybe you should file two bugs against v.net.centrality:

1) make closeness the real closeness, i.e. the inverse of farness

2) improve the documentation of the module by explaining the exact 
calculations of each variable, instead of just referencing a Wikipedia 
article

Moritz





More information about the grass-user mailing list