关联规则与数据分析

关联规则

1.关联规则的产生背景

最早是由Agrawal等人提出的(1993)。最初的动机是针对购物篮分析(Basket Analysis)问题提出的,其目的是为了发现交易数据库中不同商品的关联规则。之后诸多的研究人员对关联规则的挖掘问题进行了大量的研究,主要涉及关联规则的挖掘理论的探索、原有算法的改进和新算法的设计、增量式关联规则的挖掘、并行关联规则的挖掘、模糊关联规则挖掘以及关联规则的应用等问题。

2. 基本概念与原理

**1)**关联规则(AR,Association Rule)反映了一种特定的数据之间的关系。用来揭示数据与数据之间未知的相互依赖关系。他的任务就是:给定一个事物数据库T,在基于支持度-置信度框架中,发现数据与项目之间大量有趣的相关联系,生成所有的置信度和可信度分别高于用户给定的最小支持度和最小可信度的关联规则。其算法设计的两个问题:
(1) 找到所有支持度大于等于最小支持度(min_sup)的项目集(Item Sets),这些项目集称为频繁项目集(Frequent Item Sets)。
(2) 使用步骤(1)找到的频繁项目集,产生期望的规则。
**2)**关联规则的评价标准主要是支持度和置信度。支持度和置信度的两个阈值是描述关联规则的两个重要概念。为了方便将最小的支持度阈值记为min_sup,最小的置信度阈值记为min_conf。最小支持度表示项目集在统计意义上的最低重要性。最小置信度表示规则的最低可靠性。
假设 是由m个不同数据项组成的一个集合。给定一个数据事物集T,其中每一个事物记录t是I的一个非空子集,即 ,每一个事物记录都有与一个唯一的标识符TID(Transaction ID)相对应。
对于任意一个非空的项集(itemset) ,如果记录t包含X(即 ),则称记录t支持项集X。对于整个数据集T来说,X的支持度定义为包含X的记录在数据集T中所占的比例。即:
式中 表示数据集T中包含的X的记录个数,|T|表示T中所有记录的数目。显而易见, 。如果|X|=k(即|X|表示X中数据项的个数),则称X为k-项集。
若X的支持度大于所给定的最小支持度阈值 ,则称X为频繁集。关联规则是形如 的表达式,其中X、Y是非空项集,且X、Y不相交。关联规则的支持度定义为:
其中X为前项,Y为后项。 的置信度为(前项作为分母)

式中 和 分别表示数据集T中 和X记录的个数。其中并集可以简记为XY。
如果我们所要求的关联规则支持度大于最小支持度,并且置信度大于最小置信度,称作合格关联规则。
※一个关联规则,计算支持度的工作主要是计数运算,要求遍历扫描数据集T。
※关联规则数目的大小是影响挖掘效率的关键因素。
查找数据库中所有的频繁项目集和它的支持度是关联规则挖掘研究的重点。
所以下面介绍基于广度优先搜索策略的关联规则算法——Apriori算法(通过多次迭代找出所有的频繁项目集):访问完一个频繁项目集的时候,访问它的超集。

Aprioir算法

是通过项目集元素数目不断增长来逐步完成项目集的发现。
分为两个阶段:
迭代所有的频繁项目集,要求频繁项目集的支持度不小于最小支持度(用户设定的)。
从频繁项目集中构造置信度不低于用户设定的最小置信度的规则。
即:首先生成1-频繁项目集L1,然后产生2-频繁项目集L2(也就是逐层产生候选集),直到不能再拓展频繁项目集中的
元素的数目的时候,算法停止。
其中,根据项目及空间理论:频繁集的子集是频繁集,非频繁项目集的超级不是频繁集。
证明:设X是一个项目集,事物数据库中支持X的元组数为从s,对X的任意非空子集Y,设T中支持Y的元组数为s1。
根据频繁项目集的定义:支持X的一定支持Y,所以 。
同理可以证明非频繁集的超集不是频繁集。
例如:假设事务数据库为D(如下表),计算min_sup为25% min_cof=100%时的关联规则。
表1 事物数据库D

TID 项目集
01 ACD
02 BCE
03 ABCE
04 BE

第一次扫描数据库生成的候选项目集和频繁集如下表
表2 1-候选项目集

项目集 支持度
A 0.167
B 0.25
C 0.25
D 0.083
E 0.25

表3 1-频繁项目集

项目集 支持度
B 0.25
C 0.25
E 0.25

第二次扫描:用第一次扫描生成的一项频繁项目集来生成二项候选集
表4 2-候选项目集

项目集 支持度
BC 0.167
BE 0.25
CE 0.0167

表5 2-频繁项目集

项目集 支持度
BE 0.25

第二次扫描结束之后只有一个项目集无法再生成三项候选集,所以算法结束。
然后对于二项集计算其置信度,判断关联规则是否合格。
|BE|

Rules (左边的是分母) Conf
Dsupp(BE)/Dsupp(B) 1
Dsupp(BE)/Dsupp(E) 1

由计算得到的置信度我们知道BE关联规则合格。

用SSAS对医疗数据进行关联分析

1)Microsoft SQl Server 2008 Analysis Services 的操作步骤

  1. 打开集成环境页面
    依次执行“开始”→“所有程序”→“Microsoft SQL Server 2008”→“SQL Server Business Intelligence Development Studio”命令,打开Analysis Service集成环境界面。

  2. 新建项目
    (1) 执行菜单栏的“文件”→“新建”→“项目”命令,打开如图所示的“新建项目”对话框。(2) 选中“Analysis Services”项目,分别在“名称”、“解决方案名称”文本框中,填写项目名称和解决方案名称;在“位置”下拉文本框中,单击右侧的“浏览”钮,选择解决方案的保存路径。。
    (3) 单击“确定”按钮,返回集成环境的起始界面,在右上角显示“解决方案资源管理器”字样。

  3. 创建数据源

  4. 创建数据源视图

  5. 创建适用于中医的挖掘结构

  6. 部署项目并处理挖掘模型

  7. 模型解释
    关联规则与数据分析由生成的挖掘模型得到了116个规则。其中概率大的重要性不一定大。这里产生的项集既有单项集也有多项集。在规则上面的各个控制选项中,我们可以选择最小概率和最低重要性。
    关联规则与数据分析图2 项集
    由图2我们知道产生的项集有362个,支持代表项集的支持度是多少,上面的下拉选项可以控制最低支持度是多少以及最小项集的大小。

关联规则与数据分析关联规则与数据分析图三 癌细胞无转移情况的关联程度(上)癌细胞有转移情况的关联程度(下)
由图3我们可以知道在最低支持度为1最小概率为0.42的前提下,和癌细胞无转移情况的有关联的属性由图三(左)中显示红色的属性;和癌细胞有转移情况有关联的属性由图三(右)中显示红色的属性。其中我们还可以看出肾细胞癌分期>=3.25、患者的年龄岁>=60.3173663616、癌细胞分期 -1.2985798036-3.25、患者的年龄岁-52.3197128896-60.3173663616、肾细胞癌组织内微血管数MVC<64.7726790528,这几个属性与癌细胞的转移或者不转移都有联系。