一、说明

在实践当中,一个数据挖掘项目(或者说在咱们企业内部中一个分析研究主题),不但周期长,常常还会跨数据源,甚至跨部门协助进行,稍不留神就会陷入复杂的数据迷宫当中。为了能够在整个项目阶段能够保持研究重点,能够持续跟踪,一个有效的数据挖掘方法论(明确的流程模型)是非常有必要的。

商业应用的数据挖掘会是一个持续性的项目过程,在这个过程中,毫无疑问的是数据挖掘的各种算法是数据挖掘过程的核心步骤,但我们也要明白算法并不是整个项目的全部决定性因素。商业理解也是非常重要!

而为了使得整个数据挖掘过程更加标准化,也就催生出很多数据挖掘过程的方法论,其中比较经典的是CRISP-DM(CRoss IndustryStandard Process- for Data Mining,跨行业数据挖掘标准流程),共分为6个步骤:商业理解,数据理解,数据准备,建模,评估,发布/部署。

二、商业理解

例如:商业理解是整个数据挖掘过程的最重要阶段,大家设想一下假如我们在电信行业,领导会说他想做一个流失分析,这个时候,大家可以先想想我们怎么理解这个问题。

如果刚接触项目的时候,最直接的分析思维就是需要先理解:

(1)我们的目标是预测哪些客户会流失?

(2)更进一步我们可能需要知道,哪些是影响客户流失的重要因素?

不仅如此,我们还需要理解清楚:

(1)为什么咱们先提出的是流失分析,实际的优先级应该是怎样的?

(2)对于我们企业来说,现在的流失问题有多严重?

(3)预测客户流失并不是最终目的,客户挽留才是最后的价值,从业务上是否可以根据挖掘结果针对性采取策略挽留流失?

(4)为什么是这个时候想做流失分析?

(5)为什么想通过数据挖掘来解决流失分析?

在第一阶段一定要多问多想“为什么”?这些问题的答案决定了我们的项目是否有坚实的业务基础,以及投入的力度。

实际上,这是我们定义好商业问题之后,进一步要做的一件事情就是:需要把商业问题转化为数学技术问题,如:

(1)如何定义流失?是客户销户就够了吗,还是客户多个月欠费就可以认为流失?

(2)既然我们的目标是挽留流失,那更重要的是在客户流失前就找到这些人,那是否需要定义一个濒临流失阶段(多个月没有发生通话/只维持基本套餐费用)?

(3)进一步地在资源(人力,物力,时间)限制的情况下,我们需要进一步界定:哪些高价值的客户在流失(资源不足以覆盖所有高流失名单)?如果对流失的客户(或部分客户)进行挽留,投入是多少?收益是多少?

最后必须强调,一个在参与项目或者项目汇报经常忽略的问题,模型的结果并不是我们项目的最终结果,我们要先把商业问题转化为数学问题,但是最后我们得把数学结果转变为商业结果,这才是在商业数据挖掘应用中的重中之重。

三、数据理解

数据提供了数据挖掘的“原材料”。该阶段需要理解您的数据资源是什么,以及这些资源有何特征。

首先我们需要与业务部门以及数据管理员确定:

(1)在他们的认知当中,哪些数据可以用来预测客户流失?

(2)哪些数据是已经在咱们的系统当中?

(3)是否有一些重要的影响因素还没记录或者需要一定代价才能获取?

另外如果咱们的数据量特别的大,这个时候也可以借助抽样的方式进行一些简单的探索。

在确定好分析的数据源后,我们还需要确定这些数据当中每个指标的业务含义是什么,了解业务含义和统计方式对于我们后续分析非常的重要,这决定了我们对数据的处理方式。

例如:在电信行业里面会有“高峰时期电话数”这个指标,设置这个指标的业务根据是什么?例如:高峰时期的定义是从什么时候到什么时候?这个指标是按天统计,按周统计还是按月统计?这个指标是计算呼入还是呼出,还是一并统计?

我们还需要对数据进行一定的探索性分析。

1、一般我们会先对数据质量进行分析,

(1)缺失值:对于分类字段,缺失值处理我们可以选择众数,连续字段可以选择平均值/中位数,或者通过回归进行插补。

(2)极值,离群值:查看连续字段是否拥有极值和离群值,我们一般用n倍标准差定义。对于这些离群值,我们可选择:删除记录,把离群值进行代替,一般我们可以用公式代替:

另外,如果离群值数量比较多,也可以考虑单独把离群值数据单独抽取出来单独分析。

(3)我们也需要查看分类型指标里面的种类数量有多少:例如一个分类指标如果超过上百个分类级别的话,明显就会存在问题,这时候我们可以考虑:过滤该字段,对字段采取合并等方式。这个问题在我们研究商品分类中特别常见。

2、进一步地,我们也可以借助分布图,箱线图地查看数据的分布情况,查看数据分布是否符合一般认知。

3、我们可以结合数据的偏度(标准化的三阶原点矩)和峰度(标准化的四阶原点矩)进行辅助分析,同时也会计算算式平均值(标准化的一阶原点矩),中位数,1/4分位数以及3/4分位数等常用的统计指标。

4、在这个阶段也可以进行一些简单的数据分析。

例如计算相关系数矩阵(统计指标之间的关系),也可以简单做一些t检验以及卡方检验帮助我们进行一些变量筛选。另外值得注意的是,当数据分布与业务认知存在一定冲突的时候,也不一定是数据质量存在问题,相反应该细心求证出现偏差的原因,这些不一致的情况或者说异常往往代表了一个好的切入点。