数据采集
数据分析的对象就是数据,通过数据采集来获得数据。数据采集在《产品要懂点数据分析(一)-数据采集和数据指标》中已经讨论,这里不展开。
数据清洗
在原始数据里面存在着大量错误、重复的数据,如果直接使用有可能会导致分析结果出现严重的偏差。数据清洗是对“脏数据”进行处理,提高数据的质量。
常见的“脏数据”的类型有错误、缺失、重复等。数据清洗就是利用纠正数据的错误、删除或填充缺失的数据、删除合并重复数据等手段,将数据整理成合规范的数据。
纠正数据错误
数据错误多由数据源输入不规范导致的。常见的错误类型有:
-
数据值错误。如超过域值(性别出现男、女之外的其他值)、超过范围(年龄大于150岁)。
-
不合理的值。如拼写错误(姓名出现字母)、数据填错(手机号码填到身份证号码字段上了)等。
-
编码格式错误。如全角半角问题、文本编码问题。
-
数据逻辑不一致。如身份证是女的、性别填成男的。
-
单位规格不一致。如身高“1.75m”和“175cm”、“2019-01-01”和“01/01/2019”。
-
表达方式不一致。如国家“中国”和“中华人民共和国”。
除了纠正错误的数据外,还应该统一数据字段的单位和格式。
补充/删除缺失数据
并非所有字段缺失都需要处理,如一个学生用户的工作单位字段是可能为空的。
如何处理缺失的数据,需要综合考虑填充难度、数据重要性、缺失情况来综合考虑。
-
如果填充很容易,则直接进行填充。如知道身份证号码,填充年龄字段。
-
如果数据不重要,且缺失数据较少,则直接填充默认值或者删除对应的数据(行)。
-
如果数据不重要,但缺失比较严重,则直接删除数据属性字段(列)。
-
如果数据重要,则可以通过计算的方式算出可能的值进行填充,也可以结合业务和现有数据推断可能的值。
-
如果数据重要,但是没办法计算,则就只能人工进行填充了。
要注意空值对数据处理的影响。假设有10个用户,两个月收入为0,另外八个为10000。那么要考虑用户月收入是否真的为0。可能用户失业了没工作,可能是用户没填。那么在求平均值时,如果是用户失业了的情况,则平均收入为:( 0 * 2 + 10000 * 8 ) / 10。如果用户没填则要剔除两个用户,应该这么计算:(10000 * 8) / 8。
合并删除重复数据
出现重复数据的原因很多,经常是表达不一致导致的。
重复数据往往并不是一模一样一式多份的数据。所以,对于数据相似程度的判断是很有必要的。如手机设备“iPhone X”和“iPhone 10”是一样的数据,却是两个不一样的表达。是否是重复数据要结合数据本身和业务进行分析。
数据验证
数据经过处理之后,有部分数据被更改、填充、删除,更有甚者原始数据就存在问题。在进行分析前,需要进行数据验证。
交叉验证
如果有其他相关数据,或者其他数据源,可以联合多个表、多个字段进行交叉分析。
通过身份证信息可以验证用户性别、年龄等信息。甚至通过对用户行为的分析,可以推断用户的性别,然后再进行验证。
人工抽查
对于一些重要的数据,还可以通过人工抽查的方式进行验证。抽取一定量的数据样本进行人工检查,根据抽查结果推断数据样本的数据质量。
例如,随机抽取1000条数据,错误2条。那么推断错误率为0.2%左右。再比对这个错误率是否符合分析的要求。
常见的数据抽取方式有:
-
随机抽取。从数据样本中随机抽取一定量的数据。
-
等距抽取。按一定距离抽取数据,没间隔一定数量的样本抽取一次。
-
分层抽取。将同一类型的数据样本分层多个层次,如高收入群、中收入群、低收入群,然后根据每个层次的占比抽取一定量的数据。
-
分类抽取。将不同类型的数据样本根据不同的类型进行分类,如学生群体、教师群体、职工群体,然后在每个分类中抽取一定量的数据。
数据加工
在数据清洗后,我们得到了一个完整正确的数据。但是数据源和数据分析所需要的数据并不完全一致,在开始分析前。还需要将部分数据进行加工。
数据拆分
从数据字段中抽取需要的数据内容。如从身份证中抽取出生年月日、从手机型号中抽取手机品牌。
数据合并
数据合并是数据拆分的逆操作,将多个字段合并成一个字段。如将出生年、月、日三个字段合并成出生日期一个字段。
数据匹配
从不同的表中匹配到需要的信息组成新的数据表。
如用订单表匹配用户信息表,可以得到一个订单的区域表。
结构转换
将数据表的结构进行转换,主要是为了方便后续数据处理。
数据计算
对数据进行简单的加减乘除、平均、加权等计算。产生新的字段或者新的数据表。
数据转换
根据分析的需要将字段进行计算和转换。如将出生年月转换成年龄,将广东、湖南转换成华南区等。
产品要懂点数据分析(一)-数据采集和数据指标
产品要懂点数据分析(二)-常用指标
产品要懂点数据分析(三)- 分析过程
产品要懂点数据分析(四)- 分析方法
网友评论