GML_Glauber_Dynamics
is a julia package for learning graphical models from time correlated samples generated through Gibbs sampling (aka Glauber dynamics). It is built on top of the julia package GraphicalModelLearning.jl
(see package here).
Install with Pkg, just like any other registered Julia package:
pkg> add GML_Glauber_Dynamics # Press ']' to enter the Pkg REPL mode.
Let's start with a simple example where we generate samples through Glauber dynamics from an Ising model defined on a three node graph. The goal is to then check if the learned graph is close to the true graph from which the samples were generated.
using GML_Glauber_Dynamics
model = FactorGraph([0.0 0.9 0.1; 0.9 0.0 0.1; 0.1 0.1 0.0])
n_samples = 100000
samples_T, samples_mixed_T = gibbs_sampling(model, n_samples, T_regime())
learned_gm = learn_glauber_dynamics(samples_T)
err = abs.(convert(Array{Float64,2}, model) - learned_gm)
Watch this space! Link to preprint on arxiv coming soon!
Copyright (c) 2020 Arkopal Dutt. Released under the MIT License. See LICENSE
for details.