All Projects → IngoScholtes → pathpy

IngoScholtes / pathpy

Licence: AGPL-3.0 license
pathpy is an OpenSource python package for the modeling and analysis of pathways and temporal networks using higher-order and multi-order graphical models

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to pathpy

MRFcov
Markov random fields with covariates
Stars: ✭ 21 (-83.06%)
Mutual labels:  networks, graphical-models, network-analysis
Jekyll
Jekyll-based static site for The Programming Historian
Stars: ✭ 387 (+212.1%)
Mutual labels:  data-mining, network-analysis
Nfstream
NFStream: a Flexible Network Data Analysis Framework.
Stars: ✭ 622 (+401.61%)
Mutual labels:  data-mining, network-analysis
Network-Embedding-Resources
Network Embedding Survey and Resources
Stars: ✭ 43 (-65.32%)
Mutual labels:  data-mining, network-analysis
Daggy
Daggy - Data Aggregation Utility. Open source, free, cross-platform, server-less, useful utility for remote or local data aggregation and streaming
Stars: ✭ 91 (-26.61%)
Mutual labels:  data-mining, network-analysis
bookworm
📚 social networks from novels
Stars: ✭ 72 (-41.94%)
Mutual labels:  data-mining, network-analysis
Ail Framework
AIL framework - Analysis Information Leak framework
Stars: ✭ 1,091 (+779.84%)
Mutual labels:  data-mining, analysis
Deepgraph
Analyze Data with Pandas-based Networks. Documentation:
Stars: ✭ 232 (+87.1%)
Mutual labels:  data-mining, network-analysis
Graph sampling
Graph Sampling is a python package containing various approaches which samples the original graph according to different sample sizes.
Stars: ✭ 99 (-20.16%)
Mutual labels:  data-mining, network-analysis
netdice
A scalable and accurate probabilistic network configuration analyzer verifying network properties in the face of random failures.
Stars: ✭ 28 (-77.42%)
Mutual labels:  networks, network-analysis
TIGER
Python toolbox to evaluate graph vulnerability and robustness (CIKM 2021)
Stars: ✭ 103 (-16.94%)
Mutual labels:  data-mining, networks
very good analysis
Lint rules for Dart and Flutter used internally at Very Good Ventures 🦄
Stars: ✭ 194 (+56.45%)
Mutual labels:  analysis
machine learning in python
Demo of basic machine learning models in python with Jupter Notebook
Stars: ✭ 16 (-87.1%)
Mutual labels:  data-mining
DataCon
🏆DataCon大数据安全分析大赛,2019年方向二(恶意代码检测)冠军源码、2020年方向五(恶意代码分析)季军源码
Stars: ✭ 69 (-44.35%)
Mutual labels:  data-mining
Hefei ECG TOP1
“合肥高新杯”心电人机智能大赛 —— 心电异常事件预测 TOP1 Solution
Stars: ✭ 109 (-12.1%)
Mutual labels:  data-mining
Odysis
Jupyter Interactive Widgets library for 3-D mesh analysis
Stars: ✭ 15 (-87.9%)
Mutual labels:  analysis
gcnn keras
Graph convolution with tf.keras
Stars: ✭ 47 (-62.1%)
Mutual labels:  networks
sql-cookbook
Common SQL recipes and best practises
Stars: ✭ 68 (-45.16%)
Mutual labels:  data-mining
sp-metadata
🔬 SharePoint Metadata Tracker
Stars: ✭ 12 (-90.32%)
Mutual labels:  analysis
BLUELAY
Searches online paste sites for certain search terms which can indicate a possible data breach.
Stars: ✭ 24 (-80.65%)
Mutual labels:  data-mining

pathpy logo

Note: This is the repository of an old version of pathpy. It will soon be replaced by pathpy 3, which has a new home on gitHub.

Introduction

pathpy is an OpenSource python package for the modeling and analysis of pathways and temporal networks using higher-order and multi-order graphical models.

The package is specifically tailored to analyze sequential data which capture multiple observations of short, independent paths observed in an underlying graph topology. Examples for such data include user click streams in information networks, biological pathways, or traces of information propagating in social media. Unifying the analysis of pathways and temporal networks, pathpy also supports the extraction of time-respecting paths from time-stamped network data. It extends (and will eventually supersede) the package pyTempnets.

pathpy facilitates the analysis of temporal correlations in such sequential data. It uses a principled model selection technique to infer higher-order graphical representations that capture both topological and temporal characteristics of time-resolved relational data. It specifically allows to answer the question whether a (first-order) network abstraction of such data is justified, or whether higher-order network abstractions are needed.

The theoretical foundation of this package, higher-order network models, has been developed in the following research works:

  1. I Scholtes: When is a network a network? Multi-Order Graphical Model Selection in Pathways and Temporal Networks, to appear in KDD'17, arXiv:1702.05499
  2. I Scholtes, N Wider, A Garas: Higher-Order Aggregate Networks in the Analysis of Temporal Networks: Path structures and centralities, The European Physical Journal B, 89:61, March 2016
  3. I Scholtes, N Wider, R Pfitzner, A Garas, CJ Tessone, F Schweitzer: Causality-driven slow-down and speed-up of diffusion in non-Markovian temporal networks, Nature Communications, 5, September 2014
  4. R Pfitzner, I Scholtes, A Garas, CJ Tessone, F Schweitzer: Betweenness preference: Quantifying correlations in the topological dynamics of temporal networks, Phys Rev Lett, 110(19), 198701, May 2013

pathpy extends this approach towards multi-layer graphical models that capture temporal correlations in pathways at multiple length scales simultaneously. An illustrative example for a collection of pathways (left) and a multi-order graphical representation of these pathways is shown below. All mathematical details of the framework can be found in this recent research paper.

Watch promotional video

Illustration of Multi-Order Model

Download and installation

pathpy is pure python code. It has no platform-specific dependencies and should thus work on all platforms. It builds on numpy and scipy. The latest version of pathpy can be installed by typing:

> pip install git+git://github.com/IngoScholtes/pathpy.git

pathpy currently requires python 3.x. We are planning to make the next version backwards compatible with python 2.x.

Tutorial

A comprehensive educational tutorial which shows how you can use pathpy to analyze data on pathways and temporal networks is available online. Moreover, a tutorial which illustrates the abstraction of higher-order networks in the modeling of dynamical processes in temporal networks is available here. The latter tutorial is based on the predecessor library pyTempNets. Most of its features have been ported to pathpy.

Documentation

The code is fully documented via docstrings which are accessible through python's built-in help system. Just type help(SYMBOL_NAME) to see the documentation of a class or method. A reference manual is available here.

Releases and Versioning

The first public beta release of pathpy (released February 17 2017) is v1.0-beta. Following versions are named MAJOR.MINOR.PATCH according to semantic versioning. The date of each release is encoded in the PATCH version.

Acknowledgements

The research behind this data analysis framework was funded by the Swiss State Secretariat for Education, Research and Innovation (Grant C14.0036). The development of this package was generously supported by the MTEC Foundation in the context of the project The Influence of Interaction Patterns on Success in Socio-Technical Systems: From Theory to Practice.

Contributors

Ingo Scholtes (project lead, development)
Luca Verginer (development, testing)

Past Contributors

Roman Cattaneo (development)
Nicolas Wider (testing)

Copyright

pathpy is licensed under the GNU Affero General Public License.

(c) Copyright ETH Zürich, Chair of Systems Design, 2015-2018

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].