SprinRank is a physically-inspired ranking algorithm to infer hierarchical rankings of nodes in a directed network. More details are in the paper here. Here I use SpringRank to find layer interdependence in a multi-layered network There are three jupyter notebooks provided where we test SpringRank on three different types of directed networks :
- Synthetic Network
- Tennis (2008 - 2018)
- Professional Hockey Games (NHL)
Plots are provided at the bottom in each notebook to understand SpringRank's performance against these datasets. Below is one example.
The plot above shows the effect of using SpringRank to predict tennis player performances in future years on both hard and clay type surfaces. In particular, we train a model for the year 2008 and use it to predict match outcomes for the years 2009 through 2018. There two things we observe here :
- The ability to predict performance of players further down the years, gradually decreases and essentially behaves like a random model after a few years. This is expected as every year new players join and old players retire.
- SpringRank does better than randomly guessing match outcomes (red vs black dotted lines)
