目录

moon-robust-stats

moon-robust-stats 是纯 MoonBit 实现的鲁棒统计与异常检测工具箱,面向 IoT 监控、工业传感器、量化风控和实验数据分析。它把批量估计、流式聚合、滚动时间序列、稳健回归和可解释诊断放在同一个无外部依赖的库中,重点处理“少量尖峰不应改变整体判断”的生产场景。

English summary: a dependency-free MoonBit toolkit for robust location/scale estimation, outlier detection, rolling signals, streaming aggregation, robust regression, covariance analysis, resampling intervals, and risk diagnostics.

快速开始

fn init {
  let sensor = [1.0, 2.0, 3.0, 4.0, 100.0]
  let center = @robust_stats.median(sensor)
  let scale = @robust_stats.mad(sensor)
  let clean = @robust_stats.hampel_filter(sensor, 3)
  let interval = @robust_stats.bootstrap_median_interval(sensor, 200, seed=202608)
  println("center=" + center.to_string())
  println("scale=" + scale.to_string())
  println("clean=" + clean.to_string())
  println("CI=[" + interval.lower.to_string() + ", " + interval.upper.to_string() + "]")
}

流式场景:

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

能力范围

  • 核心位置/尺度:median、MAD、分位数、截尾均值、缩尾均值、IQR、加权统计、偏度/峰度。
  • 稳健估计:Huber IRLS、Tukey bisquare、L1、median-of-means、Hodges–Lehmann、Theil–Sen、Qn/IQR 尺度。
  • 异常检测:IQR fences、robust z-score、Hampel、滚动包络、阈值扫描、precision/recall/F1/MCC。
  • 时间序列:滚动均值/中位数/MAD/分位数、稳健 EWMA、去季节性、漂移/变点、稳健预测误差。
  • 相关与模型:Pearson/Spearman/Kendall、协方差/相关矩阵、稳健线性回归、2D Mahalanobis、矩阵基础运算。
  • 流式接口:StreamingMomentsStreamingCovarianceStreamingWindow、确定性 reservoir quantile sketch、在线裁剪状态机。
  • 不确定性与风险:bootstrap/jackknife、确定性重采样、VaR/CVaR、downside deviation、drawdown、稳健风险摘要。
  • 工程化:RobustPipeline 将清洗、滚动评分、告警和基线输出组合为可复用流程。

运行、测试与基准

项目使用 MoonBit stable 工具链,根模块为 hxiuzheng/robust_stats

moon version --all
moon check --deny-warn
moon test --deny-warn
moon check --target all
moon test --target all
moon run cmd/benchmark

cmd/benchmark 使用确定性污染数据集输出 100、1,000、5,000 样本的真实统计结果和 checksum。完整测量表、机器环境和解释边界见 benchmarks/README.md

当前仓库包含 55 个 MoonBit 源文件,格式化后总规模超过 8,500 行,其中包含约 7,600 行实现代码和 78 个可执行测试;测试覆盖空输入、单元素、重复值、常数序列、零尺度、极端尖峰、维度不一致、环形窗口、流式合并、重采样可复现性和模型退化路径。

目录结构

文件/目录 作用
mad.mbt, quantile.mbt, dispersion.mbt 基础统计与分位数
estimators.mbt, outlier.mbt, optimization.mbt 稳健估计与异常点
rolling.mbt, signal.mbt, timeseries.mbt 时间序列与信号处理
regression.mbt, correlation.mbt, matrix.mbt 模型、相关和矩阵
stream.mbt, streaming_advanced.mbt, window_detector.mbt 流式与在线监控
resampling.mbt, risk.mbt, diagnostics.mbt 置信区间、风险与诊断
pipeline.mbt 面向业务的组合流程
cmd/benchmark 可复现 benchmark 入口
*_test.mbt 黑盒边界与回归测试

CI 与发布

GitHub Actions 在 Linux、macOS、Windows 上执行 stable MoonBit 安装、moon update、全目标 check/test、格式化和接口快照检查。手动触发 Publish package workflow 可在预检查通过后运行 moon publish;发布所需的 token 只从 GitHub Actions secret 读取,不写入仓库。

来源、包标识与许可证

  • 项目:MoonBit 黑客松大赛 2026 年 8 月项目 moon-robust-stats
  • GitHub:hxiuzheng/moon-robust-stats
  • GitLink:huang_XZ/moon-robust-stats
  • Mooncakes 模块:hxiuzheng/robust_stats
  • 本项目为原创 MoonBit 实现,无直接复制第三方源代码;基准数据为仓库内确定性生成数据。
  • 许可证:Apache-2.0,详见 LICENSE
关于

一个提供截尾均值、MAD、Huber M-estimator 等核心功能及流式处理接口的 MoonBit 稳健统计估计工具箱,专为金融、工业等抗异常值数据分析场景打造

764.0 KB
邀请码
    Gitlink(确实开源)
  • 加入我们
  • 官网邮箱:gitlink@ccf.org.cn
  • QQ群
  • QQ群
  • 公众号
  • 公众号

版权所有:中国计算机学会技术支持:开源发展技术委员会
京ICP备13000930号-9 京公网安备 11010802047560号