数据挖掘的特点;
数据挖掘可以做哪些事情、有什么应用价值;
要发挥数据的价值,你们应该怎么与数据挖掘岗协作,你们不可替代的价值在哪里。
文章有点长,良心出品,实在没时间看完全文的同学可以有选择地看。
1.数据挖掘是什么
数据挖掘(Data Mining),核心是从数据集合中自动抽取隐藏的有用信息(规则、概念、规律、模式等),并运用到实际业务中。自动抽取的过程可以类比成定性研究/数据分析中的洞察(insight)。两者的区别在于数据挖掘更依赖机器和算法,后者的洞察更依赖人脑。用更贴近生活的例子来说,数据挖掘好比医生诊断病人,医生收集病人的各种症状之后,通过一定分析,得出疾病诊断。但是,医生能根据医学知识和经验反推疾病原因,数据挖掘却很难反推原因,即解决不了 “为什么” 的问题。数据挖掘涉及统计学、人工智能、机器学习、高性能计算、数据可视化等等,涉及的范畴很广,其中还包括了一部分数据基础设施建设工作,比如数据的整理、存储。这些不是本文的重点,有个印象即可。作为茶余饭后跟妹子们聊天的素材也是极好的。
2.数据挖掘的核心
主流观点认为,数据挖掘与统计分析密不可分,是统计技术的延伸和发展;实践中两者经常结合使用,一般也不会刻意区分统计分析与数据挖掘。想了解 “延伸和发展” 什么意思?数据挖掘更注重应用,用效果说话,变量 / 特征间的关系不是重点,可以是 “黑箱”(注:统计学习惯叫变量,数据挖掘习惯叫特征,后面均用特征来指代)。举个栗子,要让更多的用户变成付费用户,传统统计分析侧重通过数据来了解哪些因素促成了付费,怎么促进付费;数据挖掘可以预测哪些用户将会是付费用户,然后能不能做点什么,让他们在付费的路上走得快一点、远一点、强一点。再举个栗子,传统统计分析面对图像识别效果很差,数据挖掘中的一些新技术能将准确率做到接近人眼的水平。无论是数据挖掘还是传统的统计分析,在 “目标响应概率” 上达成了一致。从宏观层面来说,目标响应概率是特定用户群体,整体上的概率或可能性,如 35%的用户购买过 XXX、喜欢某某明星的用户占 57%。从微观层面来说,目标响应概率是具体到单个用户的概率,如通过逻辑回归算法,搭建一个预测响应模型,预测每个用户在某时段内的流失概率。数据挖掘的一般做法是把样本划分为训练集(Training Set)、验证集(Validation Set)、测试集(Testing Set),在具体实践中,有时候仅划分为训练集和验证集;用另外时间窗口的新数据来进行测试。通常所说的建模,是用一部分数据(通常是 60%-70%)来训练模型,再用另一部分数据验证效果。
3.数据挖掘好不好
(一)传统的统计分析,基础是概率论,需要对数据分布做假设,数据分布符合要求才能使用某种统计方法
对变量间的关系也要做假设,确定用某概率函数来描述变量间的关系,还要检验参数的显著性。数据挖掘中算法会自动寻找变量间的关系,对于海量杂乱的数据,数据挖掘有优势。简而言之,统计分析对数据分布有要求,数据挖掘对数据质量非常宽容。现在流行 “大数据”,大数据的特点是数据海量但非结构化(大量的杂乱的稀疏数据,一眼看过去密密麻麻都是 0),自然数据挖掘有优势。用数据挖掘技术对稀疏数据进行初步处理后,还经常会用统计分析来做深度处理,所以说两者密不可分。
(二)数据挖掘在预测时重点关注预测结果,变量间的关系可以是 “黑箱”
这虽然能解决问题,但不利于解释业务,有些情况下必须选用 “退而求其次” 的方法,把黑箱里面的情况搞清楚。比如为防范信用卡盗刷而建的风控模型,会用决策树做,便于向用户 / 骗子解释因为什么情况被拦截。大家不要低估骗子的心理素质,如果说不出个所以然,嘿嘿,你跟骗子耗不起这个纠缠的时间。所以,实际业务中,没有最牛的算法,只有最适合的算法。
(三)传统做统计分析时,分析人员会先做假设和判断,再通过数据验证假设是否成立
人脑在建立假设时起了不可替代的作用。而算法自动寻找数据规律时,可能会过拟合,造成模型不稳定,后续的应用效果比较差。下面用三张图来说明过拟合(图片来自网络学习资料):
图 1,蓝色空心小点代表真实的数据点,绿线代表我们想去拟合的真实曲线,当我们用一维曲线(直线)去拟合时,得到红线,从图上就能直观看出拟合效果不好。
图 2,用三维曲线去拟合时,得到的效果不错,红线穿过了大多数蓝点。
图 3,用九维曲线去拟合时,哇塞,完美!红线穿过了每一个蓝点。但是这样的模型已经严重偏离了绿线, 对新数据的预测效果会很差。此时红线就是过拟合了。所以,不能光追求数据挖掘时的一些客观指标,能解决实际问题的模型才是好模型。
4.数据挖掘怎么提高效能
效能,更高效地解决问题,目前提高数据挖掘效能有两条不同的路。
(一)从算法里挖潜能
学术界寻找更强的算法,工业界玩弱算法叠加。传统的算法改进路线是人工生成特征,但效果有限(会伴生 “高维”、“稀疏” 等问题,计算困难),特别是图像识别、自然语言处理等问题,人工来做特征工程非常困难;学术界发展出更强的新算法,解决特定类别问题。工业界多用取巧的方式,不断尝试算法叠加,发现效果更好的解决方法。举个栗子:GBDT(由多棵决策树组成的迭代决策树)+ X(LR、FM、……),叠加后投票(赋予权重)。同时,工业界还要考虑计算资源问题,怎样的算法 “算得快” 也很重要。
(二)通过特征选择提高效能
特征太少威胁模型的稳定性,特征太多也影响模型稳定性且增加复杂度,用白话来说就是特征数量没控制好,会造成建模成本高、模型应用效果差。控制特征数量涉及到特征的选择,特征选择源于洞察,依赖人脑,尤其在无监督学习的情况下,更需要人脑对业务的理解和判断作为基础。(注,无监督学习的一个例子是用户聚类,得到的用户类别没有客观指标可验证。)
5.数据挖掘常用业务场景
(一)目标用户的预测(响应、分类)
如预测用户在某个时间段内流失概率的流失预警模型,用第 N月的行为数据,预测用户在第 N+1月 和第 N+2月 的流失情况。通过预测得到即将流失的用户名单后,针对其中的高价值用户,运营有时间窗口来采取措施进行挽留。同理还可以建付费预测模型、续费预测模型、运营活动响应模型。这些模型的本质是预测单个用户的响应概率(Probability)。
(二)用户分层精度
介于上述针对单个用户的精细化操作与针对全体用户的粗放操作之间,是一种折衷过渡模型。与预测单个用户的情况相比,分层模型不需要大量资源投入,但它比粗放操作精细,提高了业务效率。用户运营分层模型、用户分层进化图、向不同群体提供不同说辞和服务,均是业务应用场景。用户聚类、群体用户画像也算 “用户分层”,这种分层,仅仅是不同类别的区分,类之间没有递进关系。
(三)用户路径分析能给产品经理、用户体验人员、运营这三大类岗位的同学带来价值
如通过分析用户访问路径来优化网页设计、进行改版;提炼出特定用户群体的主流路径;预测用户可能访问的下一个页面等。漏斗模型是很常见的 “特殊” 用户路径分析模型,依赖分析思路和业务驱动。如支付转化率分析,每个节点均对应不同的业务涵义。
(四)交叉销售与个性化推荐
用户来了之后,我们总是希望能挖掘用户潜在需求,一次性将更多的商品或服务卖给他 / 她,尤其是依赖流量的产品,流量获取成本高的话,用户挖掘非常重要。通过用户行为数据挖掘,找出有明显关联的商品组合,“打包” 销售,或进行个性化推荐,均能促进业务目标。目前,Amazon(亚马逊)35%的购买来自推荐,LinkedIn(领英)50%的关联是通过推荐匹配,时尚网站 “Stitch Fix 100%的购买都是由推荐产生”。数据挖潜对产品会越来越重要。当然,数据不是万能的,个性化推荐的前、后环节均基于对业务和用户的理解。
(五)信息质量优化
信息质量模型的特点是:最初评价目标对象 “质量好坏” 时,依赖专家和用户调研的结果综合进行评定。之后将评定纬度和评定结果交给机器,最终形成可用的模型。如商品介绍页质量优化、网络店铺质量优化、论坛发帖质量优化等。
(六)文本挖掘想象一下词云
这就是文本挖掘的一种形式。另外文本挖掘还能分析情感、判断用户特征、做网络舆情监控、做传播分析等。当你需要一些信息来辅助决策的时候,想想能否从文本里面挖掘出有价值的内容。
6.重点来了
前面说了那么多,最终回到本文的核心观点,因受现实条件制约(数据质量、资源投入),数据挖掘非常依赖对业务的理解和把控。对业务和用户的理解用于指导建模,对业务的把控则是产品想要打造的品牌 / 体验,是产品想把用户过去的方向,也是商业逻辑问题。
理论上通过 A/B 测试可以完全由数据驱动来追逐指标,这是 “短期利益”,但现实中我们还关心产品的 “长期利益”,在短期和长期之间寻找一个平衡点。对业务 / 用户的理解和把握,来自产品经理、来自用户研究、来自运营、也可能来自其它岗位。
所以,这些岗位的同学必须知道怎么跟数据挖掘岗协作,怎么推动模型落地并有良好的应用。部分用研同学因为自带统计分析技能,已能搭建比较理想的模型;产品和运营(也包括用研),应该做好数据挖掘前后两端的工作,这事跟你们不是没有关系。数据辅助决策这件事会越来越渗透到产品开发和商业流程中;开发、产品、市场、商务等岗位会越来越有 “数据感”,能进行自助分析。最终,数据是为商业逻辑服务的。