读数据质量管理:数据可靠性与数据质量问题解决之道07异常检测

读数据质量管理:数据可靠性与数据质量问题解决之道07异常检测.png

1. 监控和异常检测

1.1. 在数据方面,所有明面上的测试和数据质量检查都不能完全保护你免受数据宕机的影响

  • 1.1.1. 宕机可能由于各种原因而出现在管道内部和外部的各个阶段

  • 1.1.2. 这些原因通常与数据本身无关

1.2. 要了解数据何时中断,最好的做法是依靠数据监控,特别是异常检测技术

  • 1.2.1. 在容量、新鲜度、分布和其他值没有达到预期阈值时被及时识别

1.3. 在知道有一个好的分类(或者说分类模型)之前,你需要知道什么是好的分类

2. 异常检测

2.1. 指的是识别出偏离常态的事件或观察结果

2.2. 对于许多数据团队来说,异常检测都被认为是一种“有则更好”而不是“必须要有”的东西

2.3. 团队必须同时采取主动方式和被动方式来解决数据质量问题

2.4. 监控并发出关于数据可观测性支柱(新鲜度、容量、分布和模式)的警报

2.5. 要明白对于任何异常检测问题来说都没有完美的分类器

3. 已知的未知和未知的未知

3.1. 你可以预测的(已知的未知)和你无法预测的(未知的未知)

  • 3.1.1. 测试和断路器可以处理许多已知的未知

  • 3.1.2. 在涉及未知的未知时,监控和异常检测可以作为处理的基础

3.2. 已知的未知是你可以轻松预测的问题

  • 3.2.1. 空值

  • 3.2.2. 特有的新鲜度问题

  • 3.2.3. 由定期更新的系统触发的模式变更

  • 3.2.4. 可以在它们导致下游出现问题前把它们解决

3.3. 未知的未知指的是即使通过最全面的测试也无法解决的数据宕机

  • 3.3.1. 是整个数据管道中出现的问题

  • 3.3.2. 不仅仅是特定测试所涵盖的部分

  • 3.3.3. 关键字段中的分布异常导致Tableau仪表板出现故障

  • 3.3.4. 其他团队进行的JSON模式变更

  • 3.3.5. 对ETL(或反向ETL)的意外更改导致测试无法运行而不良数据未被发现

  • 3.3.6. 直到几周后才被注意到的不完整或陈旧数据,影响了关键营销指标

  • 3.3.7. 代码变更导致API停止收集为重要新产品提供的数据

  • 3.3.8. 随时间推移产生的数据漂移

    • 3.3.8.1. ETL作业通常不考虑给定表中已经存在的数据

3.4. 利用监控和异常检测来识别并警告偏离给定数据管道历史预期的数据行为。通过了解“好”数据的样子,就会更容易主动识别出“坏”数据

4. 构建异常检测的算法

4.1. 语言和工具

  • 4.1.1. SQLite和SQL

  • 4.1.2. Jupyter Notebooks

  • 4.1.3. Python

4.2. 新鲜度监控

  • 4.2.1. 可以为我们提供一个强有力的指标来说明关键数据资产上次更新的时间

  • 4.2.2. 如果一份按小时定期更新的报告突然看起来很陈旧,这类异常应该给我们提供了一个强烈的信号,表明某些地方是不准确的或者可能是错误的

  • 4.2.3. SQL不存储元数据,所以为了在这种追溯环境中对新鲜度进行可视化,我们需要自己跟踪这些信息

    • 4.2.3.1. 到底多少天未更新数据就算太久没更新了呢?

4.3. 分布

  • 4.3.1. 评估数据的字段级分布健康状况

  • 4.3.2. 分布会告诉我们数据的所有期望值,以及每个值出现的频率

  • 4.3.3. 在许多情况下,一定程度的数据不完整是可以接受的,但如果10%的空值率变成了90%,那我们就必须要知道到底发生了什么

  • 4.3.4. 假设观测值数据集来自符合数学规则的基准分布

    • 4.3.4.1. 样本分布

    • 4.3.4.2. 真实分布

  • 4.3.5. 中心极限定理

    • 4.3.5.1. 随着样本数量的增加,独立生成的随机样本的分布会接近于某个分布

    • 4.3.5.2. 如果在一个均值为μ、标准差为σ的给定数据集中有一个足够随机的样本,则样本均值的分布将近似正态分布

    • 4.3.5.3. 正态分布或高斯分布是统计课中大家都很熟悉的著名钟形曲线

      4.3.5.3.1. 应用高斯分布可能会得到一种进行异常检测的初始方法

      4.3.5.3.2. 中心极限定理陈述了许多人都会忽略的一个数据生成过程中的关键特征:独立、随机的观测值在极限情况下产生正态分布

      4.3.5.3.3. 在商业智能数据中,观测值结果往往具有高度的相关性,并与其他变量相混淆

    • 4.3.5.4. “异常”和“有趣”的观测值之间是有区别的,这不能完全用纯粹的统计思维来理解

      4.3.5.4.1. 时间序列包含重要的前后背景信息

      4.3.5.4.1.1. 季节性是指时间序列在一定时间间隔内观察到可预测的波动趋势

      4.3.5.4.2. 并非所有的异常观测值都是有趣的,它们并不能帮助我们识别并纠正数据宕机

  • 4.3.6. 如果空值率的“峰值”代表着比之前平均值的增加,则更应令人担忧

    • 4.3.6.1. 当空值率突然下降时,可能不值得进行监控,而检测空值率是否增加的价值是显而易见的

4.4. 良好的异常检测肯定是数据可观测性难题的一部分,但这并不是全部

  • 4.4.1. 同样重要的还有前后的背景信息

5. 构建监控器

5.1. 模式变更和沿袭的异常检测

  • 5.1.1. 跟踪模式变更和沿袭可以让你前所未有地了解数据的健康状况和使用模式,提供有关何人、何事、何地、何因以及如何使用你数据的关键前后上下文信息

  • 5.1.2. 其实在理解数据宕机对下游(通常也是现实世界)的影响时,模式和沿袭是两个最重要的数据可观测性支柱

5.2. 当对数据结构进行更改时,就会发生模式变更

  • 5.2.1. 模式变更可以指关于数据的任何事

    • 5.2.1.1. 添加新的API端点

    • 5.2.1.2. 假定已弃用的字段尚未被弃用

    • 5.2.1.3. 增加或减少列、行或整个表

  • 5.2.2. 有版本历史

    • 5.2.2.1. 模式变更很容易悄悄地突然降临到我们身上
  • 5.2.3. 识别发出表明管道健康的信号的有用元数据

    • 5.2.3.1. 跟踪它,同时构建检测器来提醒我们潜在的问题

    • 5.2.3.2. 提供额外的表是跟踪模式的一种方法,但还有许多其他不同的方法

5.3. 对沿袭进行可视化

  • 5.3.1. 沿袭是数据可观测性5个支柱中最全面的一个

  • 5.3.2. 沿袭通过告诉我们哪些下游来源可能受到影响以及哪些上游来源可能是根本原因这两件事来贯穿整个事件

  • 5.3.3. 沿袭信息可以帮助我们确定事件的根本原因并更快地解决它们

5.4. 调查数据异常

  • 5.4.1. 解释仅使用发生了数据异常的事实

  • 5.4.2. 解释使用了沿袭,根据表和字段之间的依赖关系,将事件置于整个前后上下文中并确定了问题的根本原因

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,236评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,867评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,715评论 0 340
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,899评论 1 278
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,895评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,733评论 1 283
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,085评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,722评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,025评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,696评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,816评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,447评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,057评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,009评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,254评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,204评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,561评论 2 343

推荐阅读更多精彩内容