所谓数据分析,说白了,其实就是一种思维。数据分析是一个从数据中通过分析手段发现业务价值的过程。这个过程的起点是获取一份数据,这个过程的终点是发现业务价值。
回想我学习数据分析的时候,看了很多教程,总结数据分析的步骤,大都是数据清洗、数据规约、算法选择等等,然后为了提升逼格,去学python,学机器学习和深度学习,图像识别也去了解。以至于在工作中,我拿到一份数据,像是八股文一样的对数据进行分析。
现在,我觉得,我们在对一份数据进行分析之前,一定要明确,我们的目的是什么,是业务上有什么问题需要我们去解决,还是说想通过数据优化我们的业务,提出建议。看似很简单的步骤,其实有着大学问。
1.分析之前要明确分析目的
数据除了数字本身之外,还必须包含数字的来源、度量方式、单位、代表的业务场景(即数据产生的上下文环境)等等,其中场景非常关键。
明确目的可以帮我们梳理思路,也可以更好地去展示我们的价值。比如,一个数据分析工作的流程是:领导先给我们一个任务,需要对我们的产品进行销量预测,然后我们去想,我们需要什么数据,拿到数据之后,怎么对数据进行分析,需要什么算法,涉及到不懂的业务,可以去问哪些同事,最后的数据分析结果如何验证。
2.要弄清楚数据的含义
当我工作久了,拿到一份数据后,习惯性的先浏览一下数据的整体,比如df.describe(), df.head(),简单的去空值、异常值之后就开始进行下一步了。我后来才明白,数据清洗并不是说去除不合理、不正确的数据就可以了,而是要了解数据,明确数据的取值所对应的含义。
不能服务于业务的数据分析是没有生命力的,不能产生业务价值的数据分析是徒劳无功的。因此,能否实现业务价值决定了这是否是一次成功的数据分析。而分析工作只是实现了这个过程的第一步,它通过分析师的视角将价值呈现于业务人员面前,分析的结果只有被业务人员理解,并最终通过业务人员的努力转化为业务实施,才可能最终实现价值。
3.关注失败案例
在工作中,我们经常会遇到数据分析的结果(比如销量预测),和实际情况远不相符的情况,错误的做法是直接去修改我们分析的思路、模型,最佳的做法是仔细分析这个不成功的案例。
比如,我们预测的下个月的销量是100,其实是10,这个反例其实是我们学习业务,纠正错误最好的时机,远比实际也是99更有价值。熟悉机器学习的读者可能会体会到,分类任务里,负样本往往比正样本要少,我猜原因可能是很少有人去关注错误。
对于失败的案例,一定要下更多的功夫,明确我们预测的100是怎么来的,实际的10又是因为什么原因,做好笔记,涉及到不懂的业务,直接去问相关同事,一定能获得启发,极有可能会发现我们预测算法的不足,提取出新的特征。