离散化指把连续型数据切分为若干“段”,也称bin,是数据分析中常用的手段。切分的原则有等距,等频,优化,或根据数据特点而定。在营销数据挖掘中,离散化得到普遍采用。究其原因,有这样几点:
①算法需要。例如决策树,NaiveBayes等算法本身不能直接使用连续型变量,连续型数据只有经离散处理后才能进入算法引擎。这一点在使用具体软件时可能不明显。因为大多数数据挖掘软件内已经内建了离散化处理程序,所以从使用界面看,软件可以接纳任何形式的数据。但实际上,在运算决策树或NaiveBayes模型前,软件都要在后台对数据先作预处理。
②离散化可以有效地克服数据中隐藏的缺陷:使模型结果更加稳定。例如,数据中的极端值是影响模型效果的一个重要因素。极端值导致模型参数过高或过低,或导致模型被虚假现象“迷惑”,把原来不存在的关系作为重要模式来学习。而离散化,尤其是等距离散,可以有效地减弱极端值和异常值的影响,
③有利于对非线性关系进行诊断和描述:对连续型数据进行离散处理后,自变量和目标变量之间的关系变得清晰化。如果两者之间是非线性关系,可以重新定义离散后变量每段的取值,如采取0,1的形式,由一个变量派生为多个哑变量,分别确定每段和目标变量间的联系。这样做,虽然减少了模型的自由度,但可以大大提高模型的灵活度。
即使在连续型自变量和目标变量之间的关系比较明确,例如可以用直线描述的情况下,对自变量进行离散处理也有若干优点。一是便于模型的解释和使用,二是可以增加模型的区别能力。
等距:将连续型变量的取值范围均匀划成n等份,每份的间距相等。例如,客户订阅刊物的时间是一个连续型变量,可以从几天到几年。采取等距切分可以把1年以下的客户划分成一组,1-2年的客户为一组,2-3年为一组..,以此类分,组距都是一年。
等频:把观察点均匀分为n等份,每份内包含的观察点数相同。还取上面的例子,设该杂志订户共有5万人,等频分段需要先把订户按订阅时间按顺序排列,排列好后可以按5000人一组,把全部订户均匀分为十段。
等距和等频在大多数情况下导致不同的结果。等距可以保持数据原有的分布,段落越多对数据原貌保持得越好。等频处理则把数据变换成均匀分布,但其各段内观察值相同这一点是等距分割作不到的。
优化离散:需要把自变量和目标变量联系起来考察。切分点是导致目标变量出现明显变化的折点。常用的检验指标有卡方,信息增益,基尼指数,或WOE(要求目标变量是两元变量)
离散连续型数据还可以按照需要而定。比如,当营销的重点是19-24岁的大学生消费群体时,就可以把这部分人单独划出。
离散化处理不免要损失一部分信息。很显然,对连续型数据进行分段后,同一个段内的观察点之间的差异便消失了。同时,进行了离散处理的变量有了新值。比如现在可以简单地用1,2,3..这样一组数字来标志杂志订户所处的段落。这组数字和原来的客户订阅杂志的时间没有直接的联系,也不再具备连续型数据可以运算的关系。例如,使用原来的数据,我们可以说已有两年历史的客户订阅时间是只有一年历史客户的两倍,但经过离散处理后,我们只知道第2组的客户的平均订阅时间高于第一组客户,但无法知道两组客户之间的确切差距。