Skip to content
Basliel25Public

About

Markov chain implementation with realtive entropy analysis using KL Divergence on a sliding-window against learned baseline.

Resources

Stars

1 star

Watchers

0 watching

Forks

Latest commit

 

History

50 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

markov-rs

Crates.io License

First-order Markov chain library with KL divergence analysis.

  • Build discrete Markov chains from event sequences.
  • Compute baseline transition distributions
  • Detect anomalies via Kullback-Leibler divergence on observed vs. expected behavior.

Usage

use markov_rs::baseline::Baseline;
use markov_rs::live::LiveTracker;

// Train baseline on event sequence
let mut baseline = Baseline::new(1.0);
baseline.observe(1, 2);
baseline.observe(1, 2);
baseline.observe(1, 3);
let matrix = baseline.finalize();

// Score live behavior in a sliding window
let mut tracker = LiveTracker::new(&matrix, 100, 1.0, 10);
for _ in 0..30 { tracker.observe(1, 3); }  // unusual behavior

if let Some(score) = tracker.divergence_for(1) {
    println!("divergence: {}", score);
}

About

Markov chain implementation with realtive entropy analysis using KL Divergence on a sliding-window against learned baseline.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages