联邦学习 + 脏数据

联邦学习

脏数据

脏数据的种类及处理方法

在这里插入图片描述

数据缺失

缺一些记录,或者一条记录里缺一些值(空值),或者两者都缺。原因可能有很多种,系统导致的或人为导致的可能性都存在。如果有空值,为了不影响分析的准确性,要么不将空值纳入分析范围,要么进行补值。前者会减少分析的样本量,后者需要根据分析的计算逻辑,选择用平均数、零、或者等比例随机数等来填补。如果是缺一些记录,若业务系统中还有这些记录,则通过系统再次导入,若业务系统也没有这些记录了,只能手工补录或者放弃。

数据重复

相同的记录出现多条,这种情况相对好处理,去掉重复记录即可。但是怕就怕不完全重复,比如两条会员记录,其余值都一样,就是住址不一样,这就麻烦了,有时间属性的还能判断以新值为准,没有时间属性的就无从下手了,只能人工判断处理。

数据错误

数据没有严格按照规范记录。比如异常值,价格区间明明是100以内,偏偏有价格=200的记录;比如格式错误,日期格式录成了字符串;比如数据不统一,有的记录叫北京,有的叫BJ,有的叫beijing。对于异常值,可以通过区间限定来发现并排除;对于格式错误,需要从系统级别找原因;对于数据不统一,系统无能为力,因为它并不是真正的“错误”,系统并不知道BJ和beijing是同一事物,只能人工干预,做一张清洗规则表,给出匹配关系,第一列是原始值,第二列是清洗值,用规则表去关联原始表,用清洗值做分析,再好一些的通过近似值算法自动发现可能不统一的数据。

数据不可用

数据正确,但不可用。比如地址写成“北京海淀中关村”,想分析“区”级别的区域时还要把“海淀”拆出来才能用。这种情况最好从源头解决,即数据治理。事后补救只能通过关键词匹配,且不一定能全部解决。

BI对数据的要求

接下来,我们了解一下BI对数据的要求,结合上面脏数据的种类,中间的规避手段就是数据治理。

结构化

数据必须是结构化的。这可能是句废话,如果数据是大段的文本,比如微博,那就不能用BI做量化的分析,而是用分词技术做语义的分析,比如常说的舆情分析。语义分析不像BI的量化分析一样百分百计算准确,而是有概率的,人的语言千变万化,人自己都不能保证完全理解到位,系统就更不可能了,只能尽可能提高准确率。

规范性

数据足够规范。这么说比较含糊,简单来讲就是解决了上述各类脏数据的问题,把所有脏数据洗成“干净数据”。

可关联

如果想将两个维度/指标做关联分析,这两个维度/指标必须能关联上,要么在同一张表里,要么在两张有可关联字段的表里。