#accumulator #statistics #online-algorithms

simple_accumulator

增量统计计算的一个简单累加器

9 个版本 (破坏性更新)

0.7.0 2024年2月12日
0.6.0 2023年12月21日
0.5.1 2023年12月19日
0.4.2 2023年6月16日
0.3.2 2022年7月29日

#349算法

Download history 347/week @ 2024-04-11 275/week @ 2024-04-18 178/week @ 2024-04-25 415/week @ 2024-05-02 337/week @ 2024-05-09 284/week @ 2024-05-16 261/week @ 2024-05-23 212/week @ 2024-05-30 73/week @ 2024-06-06 60/week @ 2024-06-13 9/week @ 2024-06-20 55/week @ 2024-06-27 222/week @ 2024-07-04 343/week @ 2024-07-11 265/week @ 2024-07-18 406/week @ 2024-07-25

1,246 每月下载量
用于 coordinates_outliers

MIT 许可证

15KB
169 代码行

SimpleAccumulator

Crates.io docs.rs Crates.io

这个crate受到了Boost::Accumulator的启发,它支持增量统计计算(在线算法)。这是一个正在进行中的但可用的作品。在使用生产之前,请先编写集成测试。

阅读 文档

注意

  • 2023-12-20:版本 0.6 是一个主要的重写,修复了许多令人尴尬的错误。在 0.6+ 中,我们依赖于 watermill crate 进行底层算法。

使用方法

use simple_accumulator::SimpleAccumulator;

fn main() {
    let k = [1, 2, 3, 4];

    // If second argument is `None` then accumulator stores all the data. 
    let mut x = SimpleAccumulator::new(&k, Some(10));

    println!("{:?}", x);
    
    x.push(5);
    println!("{:?}", x);

    print!("{}", x.mean());
    print!("{}", x.median());
    print!("{}", x.variance());
    print!("{}", x.sum());
    print!("{}", x.kurtosis());
    ...
}

依赖关系

~1.8–3MB
~60K SLoC