sric和lric指数计算
slric的Python项目详细描述
SLRIC包
slric是一个python包,用于使用短期交互中心度(sric)和长期交互中心度(lric)指数评估网络中的影响。
SRIC和LRIC指数考虑了:
- 节点的个别属性:影响阈值(配额)、节点大小等;
- 团体影响的可能性;
- 节点之间的间接连接
- 节点2和节点4具有不同的影响阈值(q);
- 节点1和2作为一个组影响节点4。即使节点3连接到节点4,它也不会直接影响它,因为节点3不是任何组中的关键成员;
- 节点3经由节点2影响节点4。
网站:https://github.com/SergSHV/slric
作者:Fuad Aleskerov,Natalia Meshcheryakova,Sergey Shvydun(hse大学,ics ras)
安装
从pypi安装包:
$ pip install slric
您还可以从github安装最新版本:
$ pip install git+https://github.com/SergSHV/slric.git
加载SLRIC包:
>>> import slric
简单算例的SRIC/LRIC计算
使用networkx包生成网络
>>> import networkx as nx
>>> G = nx.DiGraph()
>>> G.add_edge(1, 4, weight=7)
>>> G.add_edge(2, 4, weight=5)
>>> G.add_edge(3, 4, weight=2)
>>> G.add_edge(3, 2, weight=6)
case 1
- q=加权度数的60%(百分比)
- 节点具有相同的大小(size=1)。
>>> slric.sric(G, q=60, size=1) # SRIC
{1: 0.36363636363636365, 4: 0.0, 2: 0.09740259740259741, 3: 0.538961038961039}
>>> slric.lric(G, q=60, size=1, models='max') # LRIC (Max)
{1: 0.27450980392156865, 4: 0.0, 2: 0.1470588235294118, 3: 0.5784313725490197}
>>> slric.lric(G, q=60, size=1, models='maxmin') # LRIC (MaxMin)
{1: 0.27450980392156865, 4: 0.0, 2: 0.1470588235294118, 3: 0.5784313725490197}
>>> slric.lric(G, q=60, size=1, models='pagerank') # LRIC (PageRank)
{1: 0.32165639923246203, 4: 0.0, 2: 0.18808528619697315, 3: 0.49025831457056473}
case 2
- q=每个节点5个(定义的配额,dq);
- 节点具有相同的大小(size=1)。
>>> slric.sric(G, dq=5, size=1) # SRIC
{1: 0.21153846153846154, 4: 0.0, 2: 0.28846153846153844, 3: 0.5}
>>> slric.lric(G, dq=5, size=1, models='max') # LRIC (Max)
{1: 0.25, 4: 0.0, 2: 0.25, 3: 0.5}
case 3
- q=5表示节点2,q=10表示节点4
- 节点具有相同的大小(size=1)。
>>> d = dict()
>>> d[2] = 5
>>> d[4] = 10
>>> slric.sric(G, dq=d, size=1) # SRIC
{1: 0.2916666666666667, 4: 0.0, 2: 0.20833333333333337, 3: 0.5}
>>> slric.lric(G, dq=d, size=1, models='max') # LRIC (Max)
{1: 0.24137931034482757, 4: 0.0, 2: 0.17241379310344826, 3: 0.5862068965517241}
将LRIC结果写入文件
>>> from slric import lric, GraphQW
>>> ranking, lric_graph = lric(G, q=60, size=1, models=['max', 'maxmin'], data=TRUE)
>>> GraphQW.write_centrality(lric_graph, 'output.txt', separator=';', mode='w')
附加功能
- 如果未定义节点大小(size),则size=加权出度;
- 类似于影响阈值(q),节点大小可以是dict()类型;
- 最大群大小可以使用“{{EM1}$$GROPPESIGHOMED:EEE>”参数(默认情况下,^ {EM1}$ $ GROPPESIZESS
=4); - 最大间接影响限值可使用“^ {EM1}$LimPosieEME>”参数定义(默认情况下,^ {EM1} $ LimPosieEEM>3);
- 如果未定义lric版本(models),则默认情况下会计算lric(max)(models='max')。
许可证
BSD 3条款许可证
版权所有(c)2019。福阿德·亚历克洛夫,娜塔莉亚·梅什里亚科娃,谢尔盖·什维登
保留所有权利。