graph algorithm - Can weighted PageRank values converge to same values regardless of weights? -
i did project computed pagerank (and hits , various centrality scores) network 500k nodes , 1.2 million edges. calculated pagerank scores using networkx python package, tested them linear regression against reasonably reliable external data source. unweighted scores correlated closely external data, confused find weighted pagerank scores came out same values (with high precision floats) regardless of how weighted edges in graph, , didn't correlate @ external data. i'm trying figure out whether had error in code in adding edges didn't notice or whether pagerank might converge same values regardless of edge weights after sufficient number of iterations, gather regardless of starting pagerank values.
is possible edges indeed weighted differently each run pagerank produced same values? or screwed network edges?
thank you.
edit: other pagerank questions seem explain out-going weights have normalized, didn't do. weights we're integers, 4, 10, 15, etc. problem?
maybe it?
the default calling arguments networkx.pagerank() function specify algorithm should use 'weight' attribute. if have 'weight' attribute on edges want ignore chose weight=none. e.g.
in [1]: import networkx nx in [2]: g = nx.digraph() in [3]: g.add_edge(1,2,weight=7.0) in [4]: g.add_edge(1,3,weight=70.0) in [5]: nx.pagerank(g) out[5]: {1: 0.259740259292235, 2: 0.27981109766708, 3: 0.460448643040685} in [6]: nx.pagerank(g,weight=none) out[6]: {1: 0.259740259292235, 2: 0.3701298703538825, 3: 0.3701298703538825} in [7]: nx.pagerank(g,weight='weight') out[7]: {1: 0.259740259292235, 2: 0.27981109766708, 3: 0.460448643040685}
Comments
Post a Comment