3.1 数据分析工作流程
图3-1清晰地展示了一个完整的数据分析工作流程。整个工作流程分为三大模块,前期需求沟通,明确分析任务的目标以及相关的数据源情况;中期分析建模,对数据价值进行挖掘;后期应用落地,在取得可靠的分析结论后得出下一步行动方案,并对决策结果进行跟踪反馈。
图3-1 数据分析工作流程
在进行数据分析前,需要对利益方的需求进行详细的调查,只有问对问题、找对方向,之后的行动才有目标,不然很可能会像无头苍蝇一样迷失在数据的海洋里。调查研究能够帮助建立相对完整的需求清单,如果这个数据分析项目最后的使用主体不是自己,那么就需要与相应需求方进行详细的沟通。一般这种交流包含三个方面。
·业务需求沟通:包括利益方需求产生的背景、需要解决的问题、结果预期等。
·数据现状沟通:包括数据存储环境、主要字段、数据字典、数据量、更新频率、数据周期等。如果没有数据,则需要根据业务需求来制定策略采集数据,该过程可能需要IT部门的协助。
·数据分析的关联性沟通:根据与项目相关人员的沟通,了解业务背景下哪些是常见的、带有业务背景的数据,不同场景会导致数据如何变化,分析中会涉及哪些关键字段或者场景数据。了解这些行业经验知识将大大加速我们的项目进程。
明确需求和目标后就需要准备相应的数据,一般会有两种情况:一种是公司内部的数据已经能支撑需求;另一种是需要使用外部数据。如果使用内部数据,可能需要得到公司数据库管理员的支持,拿到数据库接口以及数据读取权限。如果使用外部数据,通常涉及从数据所有方购买付费数据或通过网络爬虫获得的免费数据。采集符合需求的数据集是数据分析的根基。
数据收集妥当后,我们就可以进入数据挖掘阶段了。这是一个非常复杂的流程,需要在数据集中寻找潜在的规律和模式。
一般情况下,我们可以将数据挖掘分为以下四个主要步骤。
·数据导入:当我们面对现实环境中的复杂问题时,通常单个数据库中单张表的数据是不够丰富的,需要汇集更多维度的信息,建立更加全面的视图。
·数据预处理:先理解各特征的含义,去除噪声,再根据需要进行降维,选取合适的预测变量。对不同的表单关系进行梳理,合并有强关联的表。
·模型训练:按照需求建立模型,并使用处理后的数据训练模型。
·模型修改:得到模型之后,分析模型,确定模型的效果和可靠性,然后根据需要继续优化模型。
英国统计学家George Box有句经典的格言:所有模型都是错的,但有些是有用的!我们进行建模就是从纷繁复杂的现实世界提炼出变化的规律,然后验证其可靠性和价值。建立的模型可以在一定范围内对具体问题起到指导作用。在之后的章节中,我们会具体讨论在不同领域如何因地制宜地进行数据挖掘。