#线性时间 #检测 #变化点 #剪枝

nightly bin+lib pelt

使用剪枝精确线性时间的变化点检测

1个不稳定版本

0.1.0 2020年2月1日

#12 in #线性时间

GPL-3.0-only

13KB
249

使用剪枝精确线性时间的变化点检测

使用PELT算法进行变化点检测。该项目是ruptures Python项目的移植。PELT算法在这篇论文中描述。

示例

extern crate pelt;
use std::fs;
use pelt::{MutEstimator, Pelt};

fn main() {
   let s = fs::read_to_string("./pelt-rs/signal.txt").unwrap();
   let signal: Vec<Vec<f64>> = vec!(s.split("\n")
   .map(|a| a.parse()
   .unwrap())
   .collect());

   let jump = Some(5);
   let min_size = Some(2);
   let loss = Some("l1");
   let pen = 3.;

   let mut m = Pelt::new(jump, min_size, loss, pen);
   println!("{:?}", m.predict(&signal))
}

nightly版本

此crate需要nightly版本。

恐慌

当给定的信号长度小于传递给min_size字段的长度时,此crate会引发恐慌。

依赖项

~18KB