Sign in

    robust_stats

    Production-oriented robust statistics, streaming analytics, anomaly detection, and risk toolkit for MoonBit.

    statistics
    robust
    math
    data-analysis
    Download zip
    Author
    Version
    0.2.2
    License
    Apache-2.0
    Last updated
    2 months ago
    Downloads
    40

    No dependencies

    #moon-robust-stats

    CI License

    moon-robust-stats 是一个纯 MoonBit、无外部运行时依赖的鲁棒统计工具箱,面向 IoT 监控、工业传感器、量化风控和实验数据分析等包含异常值、缺失值或分布漂移的数据场景。

    它将批量统计、流式聚合、滚动时间序列、异常检测、稳健回归、相关性分析、重采样区间和风险诊断组织在统一的 API 中,适合嵌入 MoonBit 服务、命令行工具和数据处理流水线。

    #项目定位

    传统均值和标准差容易被少量尖峰牵引。本项目提供以中位数、MAD、分位数和稳健估计量为基础的统计组件,让数据分析流程在异常观测存在时仍保持可解释性和可控性。

    设计目标:

    • 纯 MoonBit 实现,保持跨原生、WebAssembly 和 JavaScript 目标的一致性。
    • 小型、可组合的 API,便于从单个估计量逐步组装完整分析流程。
    • 确定性随机数与可复现实验,便于回归测试和性能比较。
    • 对空输入、常数序列、极端值、窗口不足和退化矩阵等边界情况提供明确行为。

    #English overview

    moon-robust-stats is a pure MoonBit toolkit for robust statistics and streaming analytics. It provides median/MAD-based estimators, outlier detection, rolling windows, regression, resampling, risk diagnostics, and composable data-quality pipelines for sensor, monitoring, finance, and experiment data.

    The package has no third-party runtime dependency, is checked across native, WebAssembly, and JavaScript targets in CI, and is published as hxiuzheng/robust_stats on Mooncakes.

    #核心能力

    #鲁棒统计

    • 中位数、分位数、MAD、IQR、截尾均值和稳健尺度估计。
    • Huber、Tukey、S 推断等稳健估计与损失函数。
    • Hampel 过滤、IQR 规则、MAD 规则和多策略异常检测。
    • 缺失值处理、标准化、Winsor 化和数据质量摘要。

    #流式与时间序列

    • 在线均值、方差、协方差和分位数摘要。
    • 固定窗口、滚动统计、趋势/波动信号和窗口化异常检测。
    • 支持逐点观测,适用于传感器、日志和监控数据流。

    #建模与诊断

    • 稳健线性回归、加权回归和回归诊断。
    • 相关系数、协方差矩阵、矩阵运算和基础线性代数。
    • 聚类、重采样区间、风险指标、阈值评估和可解释诊断。

    #环境要求

    • MoonBit stable toolchain,moonc >= v0.10.9。
    • 使用 WebAssembly 或 JavaScript 目标时,按 MoonBit 官方要求准备对应运行环境。

    #安装

    在 MoonBit 项目中添加模块依赖:

    moon add hxiuzheng/robust_stats@0.2.2

    在需要使用的包中导入:

    import {
    "hxiuzheng/robust_stats",
    }

    #快速开始

    下面的示例计算稳健位置/尺度,并对一组观测执行 Hampel 异常过滤:

    import {
    "hxiuzheng/robust_stats",
    }

    fn main {
    let readings = [1.0, 2.0, 3.0, 4.0, 100.0]
    let center = @robust_stats.median(readings)
    let scale = @robust_stats.mad(readings)
    let filtered = @robust_stats.hampel_filter(readings, 3)

    println("center=" + center.to_string())
    println("mad=" + scale.to_string())
    println("filtered=" + filtered.to_string())
    }

    流式检测可以逐点消费数据:

    let detector = @robust_stats.WindowedAnomalyDetector::new(31, threshold=3.5)
    for value in readings {
    if detector.observe(value) {
    println("anomaly=" + value.to_string())
    }
    }

    #CLI

    仓库包含一个可复现的基准命令:

    moon run cmd/benchmark

    该命令生成确定性的污染序列,运行批量估计、异常检测、质量评分、稳健协方差和流式路径,并输出结果摘要与 checksum。它是可复现的指标基准,不是面向 CSV/JSON 文件的通用数据导入 CLI;应用程序可以直接组合库 API 实现自己的输入层。命令本身不宣称硬件无关的耗时或吞吐量,命令行启动耗时记录见 benchmarks/README.md。

    #架构

    项目按统计职责拆分为可组合模块:

    层次主要模块职责
    基础统计median.mbt、quantile.mbt、dispersion.mbt、ranking.mbt位置、尺度、分位数和排序工具
    稳健估计estimators.mbt、optimization.mbt、outlier.mbt、scaling.mbt稳健估计、损失函数、异常值与尺度变换
    流式与时序stream.mbt、streaming_advanced.mbt、rolling.mbt、signal.mbt、timeseries.mbt在线摘要、窗口计算和信号检测
    建模regression.mbt、correlation.mbt、matrix.mbt、linear_algebra.mbt、clustering.mbt回归、相关性、矩阵和聚类
    评估与风险resampling.mbt、risk.mbt、diagnostics.mbt、evaluation.mbt、pipeline.mbt不确定性、风险指标、诊断和流程编排
    验证与基准*_test.mbt、benchmark.mbt、cmd/benchmark边界测试、回归测试和性能测量

    公共 API 集中在根包中;实现细节按模块隔离,便于单独测试和后续扩展。

    #基准

    基准数据和运行说明位于 benchmarks/README.md。基准使用确定性周期基线,并注入正负尖峰污染,覆盖以下路径:

    • 批量位置与尺度估计。
    • Hampel/IQR/MAD 异常检测。
    • 数据质量评分与异常计数。
    • 流式摘要与稳健协方差。
    • 多种样本规模下的 checksum 回归。

    运行基准后应保存完整终端输出、目标平台和 MoonBit 工具链版本;不同硬件之间只比较同一环境下的相对变化。

    #测试

    本地常用检查:

    moon check --deny-warn moon build --target all --deny-warn moon test --target native --deny-warn moon test --target wasm --deny-warn moon test --target wasm-gc --deny-warn

    如果本机已安装 Node.js,也可以运行完整目标矩阵:

    moon test --target all --deny-warn

    测试覆盖核心估计量、流式/窗口状态、异常值策略、退化输入、数值边界、矩阵运算和跨目标行为。新增算法应同时补充正常路径、空/短输入、极端值和退化状态测试。

    #CI

    GitHub Actions 工作流位于 .github/workflows/test.yml,在 Linux、macOS 和 Windows 上执行:

    • 安装 stable MoonBit 工具链。
    • 运行依赖更新、格式检查、包信息检查和警告拒绝检查。
    • 构建并测试 native、wasm、wasm-gc 和 all 目标。
    • 运行可复现基准,帮助识别性能回归。

    推送到默认分支或提交 Pull Request 后会自动触发 CI。

    #许可证

    本项目使用 Apache License 2.0 发布。

    ⚠️ Package is too large to be displayed

    This package contains over 1735 items.