数据挖掘之关联分析四(连续属性处理)

处理连续属性

挖掘连续属性可能揭示数据的内在联系,包含连续属性的关联规则通常称作量化关联规则(quantitative association rule)。

主要讨论三种对连续数据进行关联分析的方法

  1. 基于离散化的方法
  2. 基于统计学的方法
  3. 非离散化方法

基于离散化方法

离散化是处理连续属性最常用的方法,这种方法将连续属性的邻近值分组,形成有限个区间,例如,年龄属性可以形成如下区间
年龄 $ \in $ [12, 16), 年龄\(\in\) [16, 20)……
离散化可以使用任意技术(如等区间宽度、等频率、等熵、或聚类)实现。

属性离散化一个关键参数时用于划分每个属性的区间。通常这个参数由用户提供,单可能会遇到下面问题

  1. 如果区间太宽,则肯能因为缺乏置信度而丢失某些模式。

\[R'_1:年龄\in [16, 20)\to网上聊天=是 (s = 4.4\%,c = 84.6\%) \]

尽管具有较高的支持度,但是因为较宽的区间导致规则的置信度都小于阈值。
2. 如果区间太窄,则可能因为缺乏支持度而丢失某些模式。
3. 当区间不合适时,可能导致有些规则被分裂成子规则,如果自规则的置信度和支持度都足够高,就可以通过聚类来恢复原来的规则,但是如果置信度或者支持度较低,则不能恢复原来的规则。

处理这些问题的一个方法是通过考虑邻近区间的每个分组,但是也会导致下面的计算问题

  1. 计算开销大
  2. 提取许多冗余规则,如

\[R_3:年龄\in [16, 20)\to网上聊天=是 \]

\[R_4:年龄\in [16, 24)\to网上聊天=是 \]

其中\(R_4\)\(R_3\)的泛化,如果两个规则的置信度值相同,则\(R_4\)更有趣,因为其涵盖更多的例子。此时\(R_3\)是冗余的。

基于统计学的方法

量化关联规则可以用来推断总体的统计性质,基于统计学的方法,可以提取如下形式

\[\{ 年收入 > \$100K, 网上购物 = 是 \} \to 年龄: 均值 = 38 \]

规则表明年收入超过¥100K并且定期在网上购物的因特网用户的平均年龄为38岁。

规则产生

为了产生基于统计学的量化关联规则,必须制定用于刻画有趣总体段特性的目标属性。保留目标属性,使用上面的方法对数据的其余连续属性和分类属性进行二元化。然后使用已有的算法如Apriori算法从二元化数据中提取频繁项集,每个频繁项集确定一个有趣总体段。使用均值、中位数、方差或绝对偏差等统计量对目标属性在每个段内的分布进行汇总。如在上面的例子中通过对频繁项集$ { 年收入 > $100K, 网上购物 = 是 } $ 统计因特网用户平均年龄。此时年龄为目标属性。

规则确认

仅当由规则覆盖的事务计算的统计量不同于由为被规则覆盖的事务计算的统计量时,该量化规则才是有趣的。例如,仅当不支持规则$ { 年收入 > $100K, 网上购物 = 是 } $ 的因特网用户平均年龄显著大于或小于38岁时,上面得到的规则才是有趣的。为了确保该平均年龄差是否具有统计意义,应当使用统计假设检验方法进行检验。

考虑量化关联规则\(A \to t: \mu\),其中A是频繁项集,t是连续的目标属性,而\(\mu\)是被A覆盖的事务t的均值。此外,设\(\mu'\)是未被覆盖的事务的均值,目标检验\(\mu\)\(\mu'\)之间的差是够大于用户设定的阈值\(\Delta\)。在统计假设检验中,两个相反的假设分别为原假设(null hypothesis)备择假设(alternative hypothesis)
假定\(\mu<\mu'\),原假设为\(H_0: \mu' = \mu + \Delta\),备择假设为\(H_1: \mu' > \mu + \Delta\)。使用正态分布进行检验,计算统计量

\[Z = \frac{ \mu' - \mu -\Delta }{ \sqrt[2]{ \frac{s^2_1}{n_1}+\frac{s^2_2}{n_2} } } \]

其中\(n_1\)和$ n_2 \(分别是支持和不支持A的事务个数,\) s_1 \(和\) s_2 \(是标准差。Z是标准正态分布,均值为0.方差为1.计算得到的Z值和置信水平的阈值\) Z_{\alpha} \(进行比较,如果\)Z>Z_{\alpha}$,则拒绝原假设,选择备择假设,我们可以断言该关联规则是有趣的。否则,数据中没有足够的证据证明均值之差具有统计意义。

非离散化方法

在一些应用中,令分析者感兴趣的不是连续属性的离散区间之间联系,而是连续属性之间的联系。例如文本文档中词的关联,以相同方式变化的集合可以具有想死的支持度值。

文本挖掘中,分析者更感兴趣的是词之间的联系,如(数据和挖掘)之间的联系,而不是每个词频的区间关联,如(数据\(\in\)[1, 4],挖掘\(\in\)[2, 3])。一种方法是将数据变为0/1矩阵,超过某个阈值t记为1,否则为0。尽管该方法可以是分析者利用已有的频繁模式挖掘算法对二元数据进行分析,但是确定t值是一个很棘手的问题。如果阈值太大,则会失去很多关联,如果太小,则可能有很多错误的关联。

另一种发现词关联的方法称作min-Apriori。和传统的关联分析类似,项集是词的汇集,而支持度用来度量词之间的关联程度。项集的支持度可以根据对应词的规范化频率计算(规范化是为了确保数据在相同的尺度上)。给定文档中词之间的关联通过获取他们之间的规范化频率最小值得到,如\(world_1\)\(world_2\)之间的支持度为\(min(word_1,word_2)\),项集的支持度通过两个词在所有文档中最小支持度的聚集得到。如\(min(word_1,word_2) = min(5,3)+\cdots\)

min-Apriori中支持度具有以下性质

  1. 支持度随词的规范化频率增加而单调递增。
  2. 支持度随包含该词的文档数增加而递增。
  3. 支持度具有反单调性。支持度项集随项集中词数的增加而单调递减,考虑一对项集{A, B}和{A, B, C},我们可以得到\(min({A, B}) \geq min({A, B, C})\),从而有\(s({A, B}) \geq s({A, B, C})\)

数据挖掘之关联分析一(基本概念)
数据挖掘之关联分析二(频繁项集的产生)
数据挖掘之关联分析三(规则的产生)
数据挖掘之关联分析四(连续属性处理)
数据挖掘之关联分析五(序列模式)
数据挖掘之关联分析六(子图模式)
数据挖掘之关联分析七(非频繁模式)

posted @ 2015-08-18 20:39  Beavers  阅读(8631)  评论(0编辑  收藏  举报