Skip to content

Metastability analysis of opinion dynamics. Final project for Numerics IV: Modeling, Simulation, and Optimization.

Notifications You must be signed in to change notification settings

meghankane/ABMMetastabilityAnalysis

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

47 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ABMMetastabilityAnalysis

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.

Usage

Entrypoints

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, $P$. With the PCCAModel returned from the pcca function, access the metastable sets with sets(model). Reference Cluster.jl:

pcca(P::Matrix{Float64}, num_clusters::Int)

Test

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

About

Metastability analysis of opinion dynamics. Final project for Numerics IV: Modeling, Simulation, and Optimization.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages