Implementation of the augmented jump chain (Sikorski, Weber, Schütte 2021) and spectral clustering using PCCA+ to identify metastable sets.
After building a simple clustering algorithm, we utilized more sophisticated existing PCCA+ implementations. We ported select functions from the Python packages DeepTime and MSMTools to Julia so that they could be adapted to our use case and benefit from Julia's performance improvements over Python.
This was developed for the application of studying opinion dynamics where we aim to identify the metastable sets of agents in an agent based model. Our ongoing project notes can be found in our publicly viewable Overleaf.
To compute the augmented rate matrix, reference AugmentedMatrix.jl
:
augmentedRateMatrix(rates_tensor::Array{T,3}, time_steps::Vector{T})
To use PCCA+ on the transition matrix, PCCAModel
returned from the pcca
function, access the metastable sets with sets(model)
. Reference Cluster.jl
:
pcca(P::Matrix{Float64}, num_clusters::Int)
Tests can be executed by running runtests.jl
directly in an IDE (e.g. Visual Studio Code).
Alternatively, from the command line:
julia> ]
pkg> test