珍惜身体

最近每天中午都坚持去公园走上 1 万步,虽然没有防晒,皮肤黑了许多,但是感觉精神状态明显比之前强。

前几天在朋友圈看到一位搞 IT 的朋友得了重病,在水滴筹上募捐。因为这条信息有很多熟人帮忙证实,所以我也参与了一下。

今天,这位朋友发了一个公众号文章,文章里更新了他的最新状态,并表示将会退还所有捐款,文章末尾发出了他在极客帮上的技术专栏,想都没想就买了。

后来,到晚上大概算了一下,只用了短短几个小时,课程销售的收入已经超过了之前的捐款总额,真心佩服这位兄弟!

最后,祝他早日康复。

整理博客

偶尔会有一些想法,有的时候会直接在 Github 上新建一个项目,但是越来越发现用这种方法不好整理。

所以这两天把散落到 Github 上的文章好好整理一下。

异常指标检测

源码

目前有两种算法

MAD 中位数绝对值偏差

对应的 JavaScript 实现

MAD in mathjs

DBSCAN 基于密度的聚类算法

对应的 JavaScript 实现

DBSCAN in JavaScript

准确度

要准确的判定一个指标是否异常是很难的,取决于很多因素:

  • 数据本身的特征
  • 窗口大小
  • 节假日等突发情况
  • 噪点

上面的两种算法都是经过 Datadog 工程师精心挑选的,有这样的特点:

  • 鲁棒性 避免噪点的干扰
  • 可用性 配置参数尽量少

此外各算法的参数还需要不断地尝试,才能找到一个最佳的配置。

参考资料

Detecting outliers and anomalies in realtime at Datadog - Homin Lee (OSCON Austin 2016)-Youtube

MAD(Mean 变体)-Khanacademy

DBSCAN in scikit-learn

Visualizing DBSCAN Clustering