Skip to main content

SLRIC package drawing

SLRIC is a Python package for influence assessment in networks using short-range interaction centrality (SRIC) and long-range interaction centrality (LRIC) indices.

SRIC and LRIC indices take into account:

  • Individual attributes of nodes: threshold of influence (quota), nodes size, etc.;
  • Possiblity of the group influence;
  • Indirect connections between nodes.
Example:
SLRIC features
  • Nodes 2 and 4 have different thresholds of influence (q);
  • Nodes 1 and 2 influence node 4 as a group. Even though node 3 is connected to node 4, it does not influence it directly as node 3 is not a pivotal member in any group;
  • Node 3 influences node 4 via node 2.

Website: https://github.com/SergSHV/slric

Authors: Fuad Aleskerov, Natalia Meshcheryakova, Sergey Shvydun (HSE University, ICS RAS)

Reference: Aleskerov, F., Shvydun, S., & Meshcheryakova, N. (2021). New Centrality Measures in Networks: How to Take into Account the Parameters of the Nodes and Group Influence of Nodes to Nodes (1st ed.). Chapman and Hall/CRC. https://doi.org/10.1201/9781003203421

Installation

Install the package from PyPI:

$ pip install slric

You can also install the latest version from GitHub:

$ pip install git+https://github.com/SergSHV/slric.git

Load SLRIC package:

>>> import slric

SRIC/LRIC Calculation for Simple Example

Generate a network using NetworkX package

>>> 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% of weighted in-degree (in percentage);
  • nodes have the same size (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 for each node (defined quota, dq);
  • nodes have the same size (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 for node 2, q=10 for node 4;
  • nodes have the same size (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}

Write LRIC results to file

>>> 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')

Additional features

  1. If nodes size (size) is not defined, then size = weighted out-degree;
  2. Similarly to threshold of influence (q), nodes size can be of dict() type;
  3. Maximal group size can be limited using 'group_size' parameter (by default, group_size=4);
  4. Maximal indirect influence limit can be defined using 'limpath' parameter (by default, limpath=3);
  5. If LRIC version (models) is not defined, then LRIC (Max) is calculated by default (models='max' ).

License

BSD 3-Clause License

Copyright (c) 2019. Fuad Aleskerov, Natalia Meshcheryakova, Sergey Shvydun.

All rights reserved.

Release files for slric 1.1.6

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for slric 1.1.6
File Size Uploaded
slric-1.1.6.tar.gz 16.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for slric 1.1.6
File Interpreter ABI Platform
slric-1.1.6-py3-none-any.whl Python 3 none any Details

Total release size: 33.2 kB

Release files / slric-1.1.6.tar.gz

Download URL slric-1.1.6.tar.gz
Size 16.4 kB
Tags Source
SHA-256 checksum
How to use checksums
5d39a6a63834f776797e2d89b1b00710f3265d64c954ffeb0dafbb6f885f1b77
BLAKE2b-256 checksum
How to use checksums
7e12881205d955c7118dc8a4b9c4b8f707ca559a8e85c68094317592d067655d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.9.13

Release files / slric-1.1.6-py3-none-any.whl

Download URL slric-1.1.6-py3-none-any.whl
Size 16.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
941995cf99fb30a649908732704e8ef53b5c05200080075ba781eb3df9f5ca73
BLAKE2b-256 checksum
How to use checksums
755ffc76b95847e093497994daa845a337127f60731ac6b1ec670304d5242bed
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.9.13

Release history Release notifications | RSS feed

This release

1.1.6 This release

2 release files

1.1.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page