1、第第5章章 分类数据的分类数据的关联分析关联分析本章内容本章内容本章要求本章要求掌握分类数据的独立性研究方法;区分分类数据的独立性和齐性检验的异同;掌握Fisher检验与卡方检验的应用条件的异同;了解Ridit方法和应用;了解对数线性模型和卡方检验的异同;熟练应用R语言中的相关命令学习如上方法。5.1 列联表和列联表和 独立性检验独立性检验 nAAAA;12rBBBB.nAB12sLL一随机实验的 个结果,对应的变量 的取值为,变量 的取值为,现将这 个结果按变量 和变量的取值组合构建一张rs型列联表。ABAB设 和 是与实验结果有关的两个变量,希望判断 和 是否相互独立。2rs(,),iji
2、jpP AA BB令分别为A和B的边缘概率.若A和B独立,或者A和B之间没有关联,则A和B的联合概率应该等于A和B的边缘概率的乘积,假设检验问题:0.1.:.:.ijijijijHpp pHpp pijpp和当 取大值,或者p-值很小的时候,拒绝零假设。独立性检验独立性检验 2零假设下,时,2srijij2j 1 i 1ij(nm)m 22(r 1)(s 1)2构造统计量:.ijijijn nmn其中5ijm blood=c(98,38,289,67,41,262,13,8,57,18,12,30)blood=matrix(blood,nrow=4,byrow=T)#如果想按照行填入矩阵 bl
3、ood ,1,2,31,98 38 2892,67 41 2623,13 8 574,18 12 30 chisq.test(blood)Pearsons Chi-squared testdata:bloodX-squared=15.0734,df=6,p-value=0.01969R程序程序 要检验不同变量之间是否独立,频率过小的点不能太多.Siegel 和Castellan(1988)指出行数和列数至少其一要超过2,频数低于5个的单元格数不能超过20%,不能充许存在频数小于1的单元格 上一节是利用列联表分析两个因素之间是否独立.当其中一个因素换成区组时,对应的问题是检验实验数据在不同区组上
4、的分布是否一致,这类检验问题称为齐性检验.检验方法和独立性检验相同。5.2 5.2 齐性检验齐性检验 假设检验问题:构造Pearson 统计量:22(r 1)(s 1)在零假设下近似有:jiijijjiijijijneneenQ,.2,2)()(.ijijn nen其中01.11,.,:.:iiriir HpppH 等式不全成立22Jane_Austen=c(147,186,101,83,25,26,11,29,32,39,15,15,94,105,37,22,59,74,28,43,18,10,10,4)Jane_Austen=matrix(Jane_Austen,nrow=6,byrow=
5、T)chisq.test(Jane_Austen)Pearsons Chi-squared testdata:Jane_AustenX-squared=45.5775,df=15,p-value=6.205e-05例例5 5.2 R2 R程序程序 R程序程序 TV_lover=c(83,70,45,91,86,15,41,38,10)TV_lover=matrix(TV_lover,nrow=3,byrow=T)chisq.test(TV_lover)Pearsons Chi-squared testdata:TV_loverX-squared=18.6508,df=4,p-value=0.0
6、0092035.3 Fisher精确检验 Pearson 检验要求频数低于5个的单元格数不能超过20%.对于22列联表,只要有一格数据小于5,就不能满足要求.因此有必要采用别的方法.Fisher精确检验(Fishers exact test)就是其中之一.下面以22列联表为例介绍Fisher精确检验2n.n.1总和n2.n1.n12总和n22 n.2 n11n211B2B1A2A2*2列联表111221221.12.21.12.211122122,|,!P nnnnn n nnnnnnnn nnnn 假设边缘频数和总频数都是固定的.在因数A和因数B独立的零假设之下,服从超几何分布:111221
7、22,nnnn事实上,4个格点中只要一个数确定了,其它3个会随着而定,因此也可以表示为:R语言和EXCEL软件的调用函数分别为比如行总数依次为5,3,列总数依次为3,5时,所有可能的表为其R语言调用函数为1.12.2111.12.2.11122122!|,!nnnnP nn n nnnn nnnn0514233230211203HYPGEOMDIST(n11,n1.,n.1,n)dhyper(n11,n.1,n.2,n1.,log=FALSE)dhyper(k,3,5,5,log=FALSE)dhyper(0,3,5,5,log=FALSE)1 0.01785714 dhyper(1,3,5,
8、5,log=FALSE)1 0.2678571 dhyper(2,3,5,5,log=FALSE)1 0.5357143 dhyper(3,3,5,5,log=FALSE)1 0.17857140514233230211203以上四种表格的概率依次为以上四种表格的概率依次为:检验检验 任何一个格子中的的数目(我们只要考虑 就可以了)都不会过小或者过大,如果过小或者过大,相应的概率会很小,是小概率事件,因而可以拒绝零假设。当大样本时,还可以采用近似正态分布进行检验,即:11nk112212211.2.1.2()(0,1)n n nn nZNn n n n111.12.2111.12.2|,|,P
9、 nk n n n nnP nk n n n nn和R 程序程序 medicine=c(8,2,7,23)medicine=matrix(medicine,nrow=2,byrow=T)fisher.test(medicine)Fishers Exact Test for Count Datadata:medicinep-value=0.002429alternative hypothesis:true odds ratio is not equal to 195 percent confidence interval:1.856547 143.340082sample estimates:o
10、dds ratio 12.12648 sum=0 for(k in 8:10)sum=sum+dhyper(k,15,25,10,log=FALSE);sum1 0.0024286dhyper(8,15,25,10,log=FALSE)用卡方检验用卡方检验,出现警告信息出现警告信息 medicine=c(8,2,7,23)medicine=matrix(medicine,nrow=2,byrow=T)chisq.test(medicine)Pearsons Chi-squared test with Yates continuity correctiondata:medicineX-squar
11、ed=8,df=1,p-value=0.004678Warning message:In chisq.test(medicine):Chi-squared approximation may be incorrect5.4 Mantel-Haenszel检验检验前面介绍的Pearson 独立性(齐性)检验和Fisher精确性检验都是针对两因素的检验,若影响因素有三个,或者两因素之外还要考虑层次的影响,或者单因素还要考虑区组和层次影响,则可以利用Mantel-Haenszel检验,用于某两个因素之间是否有关联.比如产品研究中,需要研究城市和农村两个层次的人群对产品或服务的是否满意;比如,由于不同
12、医院(相当于不同层次)收治的病人不同,需要在不同医院中研究不同治疗方案对病人的治疗效果的差异性.2检验检验 以医院为例,令h=1,2,.,k代表k家医院(k个层次),表示h层四格列联表观测频数,表示第h家医院观测的病案总频数,n为所有k家医院的病案总频数.假设检验问题为:实验组与对照组在治疗效果上没有差异;实验组与对照组在治疗效果上有差异;将病案总频数构成一个三维列联表,其中第h层的列联表如下hijnhn01H:H:nhnh.1总和nh2.nh1.nh12合计nh22 nh.2 nh11nh21有效无效实验组对照组QMH统计量统计量QMH统计量对于小样本,可以直接查表,也可以利用R语言.2kh
13、11h11h 1MHkh11h 1h1h 1h1h 1h2h 2h11h112hhhnE(n)Q,var(n)nnnnnnE(n)var(n)nnn其中,(-1)例例5.4 R程序求解程序求解 HA=c(50,15,92,90)HB=c(47,135,5,60)HA=matrix(HA,nrow=2,byrow=T)HB=matrix(HB,nrow=2,byrow=T)m=c(HA,HB)x=array(m,c(2,2,2)mantelhaen.test(x)Mantel-Haenszel chi-squared test with continuity correctiondata:xMa
14、ntel-Haenszel X-squared=21.9443,df=1,p-value=2.807e-06alternative hypothesis:true common odds ratio is not equal to 195 percent confidence interval:2.080167 6.099585sample estimates:common odds ratio 3.562044统计决策统计决策 以上得到的Mantel-Haenszel检验的结果为:通过检验,说明治癌药与效果有强关联(odds ratio=3.562044),即治癌药有效果.对于大样本,QMH
15、统计量近似服从自由度为1的卡方分布,参见定理5.1.因此还可以利用卡方分布计算p值.Mantel-Haenszel检验方法消除了层次因素对结果的影响,从而提高了检验出来的关联性的可靠性.本例中,还可以对各层分别利用前面介绍的关联性检验:fisher.test(HA),fisher.test(HB),chisq.test(HA),chisq.test(HB)6MHQ21.9443,p2.807 10,值 fisher.test(HA)Fishers Exact Test for Count Datadata:HAp-value=0.0002323alternative hypothesis:tr
16、ue odds ratio is not equal to 195 percent confidence interval:1.651579 6.690462sample estimates:odds ratio 3.245835 fisher.test(HB)Fishers Exact Test for Count Datadata:HBp-value=0.001391alternative hypothesis:true odds ratio is not equal to 195 percent confidence interval:1.550126 14.070352sample e
17、stimates:odds ratio 4.158592 chisq.test(HA)Pearsons Chi-squared test with Yates continuity correctiondata:HAX-squared=12.5737,df=1,p-value=0.0003912 chisq.test(HB)Pearsons Chi-squared test with Yates continuity correctiondata:HBX-squared=8.4144,df=1,p-value=0.003723什么是关联规则挖掘?什么是关联规则挖掘?关联规则挖掘:从事务数据库,
18、关系数据库和其他信息存储中的大量数据的项集之间发现有趣的、频繁出现的模式、关联和相关性。应用:购物篮分析、分类设计、捆绑销售等5.5 关联规则关联规则“尿布与啤酒尿布与啤酒”典型关联分典型关联分析案例析案例 采用关联模型比较典型的案例是“尿布与啤酒”的故事。在美国,一些年轻的父亲下班后经常要到超市去买婴儿尿布,超市也因此发现了一个规律,在购买婴儿尿布的年轻父亲们中,有30%40%的人同时要买一些啤酒。超市随后调整了货架的摆放,把尿布和啤酒放在一起,明显增加了销售额。同样的,我们还可以根据关联规则在商品销售方面做各种促销活动。购物篮分析购物篮分析 如果问题的全域是商店中所有商品的集合,则对每种商
19、品都可以用一个布尔量来表示该商品是否被顾客购买,则每个购物篮都可以用一个布尔向量表示;而通过分析布尔向量则可以得到商品被频繁关联或被同时购买的模式,这些模式就可以用关联规则表示.关联规则(Association Rule Mining)挖掘是数据挖掘中最活跃的研究方法之一最早是由R.Agrawal等人提出的其目的是为了发现超市交易数据库中不同商品之间的关联关系。一个典型的关联规则的例子是:70%购买了牛奶的顾客将倾向于同时购买面包。经典的关联规则挖掘算法:Apriori算法关联规则的基本概念关联规则的基本概念 1.1.购物篮分析引发关联规则挖掘的例子购物篮分析引发关联规则挖掘的例子 问题:“什
20、么商品组或集合顾客多半会在一次购物中同时购买?”购物篮分析:设全域为商店出售的商品的集合(即项目全集),一次购物购买(即事务)的商品为项目全集的子集,若每种商品用一个布尔变量表示该商品的有无,则每个购物篮可用一个布尔向量表示。通过对布尔向量的分析,得到反映商品频繁关联或同时购买的购买模式。这些模式可用关联规则描述。例 购买计算机与购买财务管理软件的关联规则可表示为:computer financial_management_software support=2%,confidence=60%support为支持度,confidence为置信度。该规则表示:在所分析的全部事务中,有2的事务同时购
21、买计算机和财务管理软件;在购买计算机的顾客中60也购买了财务管理软件。关联(Associations)分析的目的是为了挖掘隐藏在数据间的相互关系,即对于给定的一组项目和一个记录集,通过对记录集的分析,得出项目集中的项目之间的相关性。项目之间的相关性用关联规则来描述,关联规则反映了一组数据项之间的密切程度或关系。以商场超市的市场数据库为例,形式化描述关联规则。设I=i1,i2,,im是项的集合,表示各种商品的集合;D=t1,t2,,tn为交易集,表示每笔交易的集合(是全体事务的集合)。其中每一个事务T都是项的集合,且有TI。每个事务都有一个相关的唯一标识符和它对应,也就是事务标识符或TID。设X
22、为一个由项目构成的集合,称为项集,当且仅当XT时我们说事务T包含X。项集X在在事务数据库DB中出现的次数占总事务的百分比叫做项集的支持度。如果项集的支持度超过用户给定的最小支持度阈值,就称该项集是频繁项集(或大项集)。关联规则关联规则是形如XY的蕴含式,其中XI,YI且XY=,则X称为规则的条件(前项),Y称为规则的结果(后项)。如果事务数据库DB中有s%的事务包含XY,则称关联规则XY的支持度为s%。支持度是一个概率值。关联规则关联规则 X XY Y对事物集对事物集D D的支持度的支持度(support)定义为D中包含有事务X和Y的百分比。关联规则关联规则X XY Y对事务集对事务集合合D
23、D的置信度的置信度(confidence)定义为D中包含有X的事务数与同时包含Y的百分比。即:support(XY)(含X和Y的事务数/事务总数)100confidence(XY)(含X和Y的事务数/含X的事务数)100简单事务数据库模型简单事务数据库模型数据库DB:TID项001ACD002BCE003ABCE004BE置信度和支持度均大于给定阈值(即最小置信度阈值和最小支持度阈值)。即:support(XY)min_supconfidence(XY)min_conf的关联规则称为强规则;否则称为弱规则。关联规则挖掘关联规则挖掘主要就是对强规则的挖掘。通过设置最小支持度和最小置信度可以了解某
24、些数据之间的关联程度。强规则XY对应的项集(XY)必定是频繁集。因此,可以把关联规则挖掘划分为以下两个子问题:根据最小支持度找出事务集D中的所有频繁项集。核心核心 根据频繁项集和最小置信度产生关联规则。较易较易关联规则挖掘:关联规则挖掘:给定一组Item和记录集合,挖掘出Item间的相关性,使其置信度和支持度分别大于用户给定的最小置信度和最小支持度。购买商品事务如下表所示,设最小支持度为50%,最小可信度为 50%,则可得到以下关联规则:A A C(50%,66.6%)C(50%,66.6%)C C A(50%,100%)A(50%,100%)支持度支持度可信度可信度关联规则挖掘的分类(1)基
25、于规则中处理的变量的类别基于规则中处理的变量的类别,关联规则可以分为布尔型和数值型。布尔型关联规则布尔型关联规则:如果规则考虑的关联是项“在”或“不在”,则关联规则是布尔型的。例如,由购物篮分析得出的关联规则。量化型关联规则量化型关联规则:如果描述的是量化的项或属性之间的关联,则该规则是量化型的关联规则。例如:以下是量化型关联规则的一个例子(其中X为表示顾客的变量,量化属性age和income已经离散化):age(X,“3039”)income(“42K48K”)buys(X,“high_resolution_TV”)量化型关联规则中也可以包含多种变量。例如:性别=“女”=职业=“秘书”,是布
26、尔型关联规则;性别=“女”=avg(月收入)=2300,涉及的收入是数值类型,所以是一个量化型关联规则。(2)基于规则中数据的抽象层次基于规则中数据的抽象层次,可以分为单层关联规则和多层关联规则。单层的关联规则:所有的变量都不涉及不同抽象层次的项或属性。例如:buys(X,“computer”)buys(X,“printer”)顾客X购买的商品不涉及不同抽象层次(“computer”和“printer”在同一个抽象层),因此是单层关联规则。多层的关联规则:变量涉及不同抽象层次的项或属性。例如:age(X,“3039”)buys(X,“laptop computer”)age(X,“3039”)
27、buys(X,“computer”)顾客X购买的商品涉及不同抽象层次(“computer”在比“laptop computer”高的抽象层),因此是多层关联规则。(3)基于规则中涉及到的数据的维数基于规则中涉及到的数据的维数,关联规则可以分为单维的和多维的。单维关联规则单维关联规则:处理单个维中属性间的关系,即在单维的关联规则中,只涉及到数据的一个维。例如:用户购买的物品:“咖啡=砂糖”,这条规则只涉及到用户的购买的物品。多维关联规则多维关联规则:处理多个维中属性之间的关系,即在多维的关联规则中,要处理的数据将会涉及多个维。例如:性别=“女”=职业=“秘书”,这条规则就涉及到两个维中字段的信息
28、,是两个维上的一条关联规则。给出了关联规则的分类之后,就可以考虑某个具体的关联规则挖掘算法适用于哪一类规则的挖掘,某类关联规则又可以用哪些不同的方法进行处理。最简单的是单维、单层、布尔型的关联规则。关联规则挖掘即给定一组Item和记录集合,挖掘出Item间的相关性,使其置信度和支持度分别大于用户给定的最小置信度和最小支持度。关联规则挖掘关联规则挖掘过程过程 在关联规则挖掘算法中,把项目的集合称为项集(itemset),包含有k个项目的项集称为k-项集。包含项集的事务数称为项集的出现频率,简称为项集的频率或支持度计数。如果项集的出现频率大于或等于最小支持度s与D中事务总数的乘积,则称该项集满足最
29、小支持度s。如果项集满足最小支持度,则称该项集为频繁项集(frequent itemset)。一一个食品连锁店保留着每周的事务记录,其中每一条事务表示在一项收款机业务中卖出的项目。连锁店的管理会收到一个事务汇总报告,报告表明了每种项目的销售量是多少。此外,他们要定期了解哪些项目经常被顾客一起购买。他们发现顾客购买了花生酱后,100%地会购买面包。而且,顾客购买了花生酱后,有33%也购买果冻。不过,所有事务中大约只有50%包含花生酱。被用于在其中寻找关联规则的数据库可以看作为一个元组集合,每个元组包含一组项目。一个元组可能是:花生酱、面包、果冻包含三个项目:花生酱、面包、果冻每个项目表示购买的一
30、种产品一个元组是一次购买的产品列表演示关联规则的样本数据演示关联规则的样本数据事务事务项目项目t1面包、果冻、花生酱面包、果冻、花生酱t2面包、花生酱面包、花生酱t3面包、牛奶、花生酱面包、牛奶、花生酱t4啤酒、面包啤酒、面包t5啤酒、牛奶啤酒、牛奶关联规则的挖掘过程最常用的关联规则挖掘方法被分解为下面两步:第1步:找出所有的频繁项集,即找出支持度大于或等于给定的最小支持度阈值的所有项集。可以从1到k递归查找k-频繁项集。第2步:由频繁项集产生强关联规则,即找出满足最小支持度和最小置信度的关联规则。找出满足定义的大项目集找出满足定义的大项目集从大项目集(频繁项目集)生成关联规则从大项目集(频繁
31、项目集)生成关联规则 大(频繁)项目集是出现次数大于阈值S的项目集。用符号L表示大项目集组成的整个集合,用表示一个特定的大项目集。一旦找出大项目集,则对于任何有趣的关联规则XY,在频繁项目集的集合中一定有XY。大项目集大项目集 找出大项目集的算法可以很简单,但代价很高。简单的方法是:对出现在事务中的所有项目集进行计数。给定一个大小为m的项目集合,共有2m个子集,去掉空集,则潜在的大项目集数为2m-1。随着项目数的增多,潜在的大项目集数成爆炸性增长。(当m=5,为31个;当m=30,变成1073741823个)解决问题的难点:如何高效确定所有大项目集。大部分关联规则算法都利用巧妙的方法来减少要计
32、数的项目集。大部分关联规则算法都利用巧妙的方法来减少要计数的项目集。大项目集的性质大项目集的性质 大项目集的任一子集也一定是大的。大项目集也称作是向下封闭的,如果一个项目集满足最小支持度的要求,其所有的子集也满足这一要求。其逆命题:如果知道一个项目集是小的,就不需要生成它的任何超集来作为它的候选集,因为它们也一定是小的。Apriori性质基于如下事实:根据定义,如果项集I不满足最小支持度阈值min_sup,则I不是频繁的,即sup(I)min_sup。如果将项A添加到I,则结果项集(即IA)不可能比I更频繁出现。因此,IA也不是频繁的,即sup(IA)min_sup。频繁项集的Apriori性
33、质用于压缩搜索空间(剪枝),以提高逐层产生频繁项集的效率。Apriori算法的基本思想是:首先,通过扫描数据集,产生一个大的候选数据项集,并计算每个候选数据项发生的次数,然后基于预先给定的最小支持度生成频繁1-项集的集合,该集合记作 ;然后基于 和数据集中的数据,产生频繁2-项集 ;用同样的方法,直到生成频繁n-项集,其中已不再可能生成满足最小支持度的(N+1)项集 。最后,从大数据项集中导出规则。1L2LnL1L Apriori算法是一种最有影响的挖掘布尔关联规则大(频繁)项目集的算法。它使用一种称作逐层搜索的迭代算法,通过k-项集用于探索(k+1)-项集。已经为大部分商业产品所使用。包括:
34、基于划分的Apriori方法,Apriori-Gen的算法等.AprioriApriori算法算法 5.6 Ridit检验检验 Ridit(Relative to Identified Distribution Unit)方法背景:实际中经常需要比较人对某些事物的抽象感知.比如:通过测量病人对几种药物治疗的反映程度,以获得这些药物的反映程度的强弱顺序.分析用户对产品或服务的满意程度的高低顺序.体育运动比赛中评委对某运动员的动作评价.专家对艺术作品的评级.这些数据往往是定序数据.这类问题的共同特征是采用量表测量受访者的感知,由于人为和个体差异,获得的数据往往是定序数据,并非定距数据或定比数据.比
35、如4级痛感不能代表是1级痛感的4倍,药物的4级痛感降为3级痛感的效果不能说是和药物的3级痛感降为2级痛感的效果一样.因此单纯应用定量数据进行各处理的强弱的比较,数据的量的关系可能与客观实际不一致.自然的想法是考虑将不能反映严格数量关系的数据得分合并,重新计算量表评级,降低人为干扰,从而作出更客观的评价.Ridit检验法的原理检验法的原理:取一个样本数较多的组或者将几组数据汇总成为参照组,根据参照组的样本结构将原来各组响应数变换为参照得分:Ridit得分,利用变换以后的Ridit得分进行个处理之间的强弱比较。考虑下列rs二维列联表 行向量A表示不同比较组,列向量B为表示强弱高低等级变量,假设 ,
36、表示对应格子的响应频数。1sBBLijO假设检验问题:01r1jH:A,AH:Ai之间没有强弱顺序至少一对ARidit得分定义得分定义 Ridit得分选择用累积概率得分表示等级类别B中第j类的边缘分布是 (j=1,s),那么第j类的顺序强度(Ridit得分得分)定义如下:其中 是B的累积概率.由定义,显然有 ,这和 对应,符合类别等级的度量特征.jp.12srrrL1sBBLBBj 1j 1jjjjk 1FF1rpp22jBjjk 1Fp,j2,s.LBjF定理5.2 如上定义的Ridit得分,满足如下性质:sjjj 11Rrp2sijj 1riii 1Rrp(j|i),1RR p2如果定义(
37、5.8)则计算步骤计算步骤 在实际计算中用样本估计 .下面给出Ridit得分计算的步骤,并将过程显示于下表.1.计算各等级类别响应总数的一半 ,得到行(1).2.将行(1)右移一格,第一格为0,其余为累计前一级(j-1)的累积频数 ,得到行(2).3.将行(1)与行(2)对应位置相加,得到行(3),即行(3)中BjFjjHO/2jCj 1jkk 1CO,jjjNHC计算步骤计算步骤4.计算各等级类别的Ridit得分 ,得到行(4).5.将 的值按照 的权重重新配置第i,j位置的Ridit得分:6.计算第i处理的Ridit得分:这些得分的期望为0.5.jjRN/OjRijiOO占ijijjiOR
38、ROsiijj 1RR,检验检验 根据计算的 构造检验统计量:其中T为打结校正因子.当大样本时,T值接近于1,从而检验统计量简化为:在零假设情况下,W近似服从 分布,当W过大或者过小的时候,都考虑拒绝零假设。jR2(r 1)根据置信区间分组 设 由公式(5.8)给出,则其在大样本的情况下服从正态分布,其95%的置信区间为:如果希望通过置信区间来比较第i处理与参照组之间的差异,可以用 代替 ,其中当显著性水平 0.05时,(1-)的置信区间近似于其中 为第i处理的响应数.若 ,且B1比Bs的等级高,则当Ridit得分 的值越小,其对应的第i处理(Ai)的等级越高 iRiiRR1.96.iRmax
39、()iR iRi1max().12OiiR1/3OiO例例5 5.6 6参见教材参见教材1sBBLiR前面章节介绍的列联表,是研究分类变量的独立性和依赖性的重要工具.其能确定两个变量之间有无关联,不能确定变量之间有什么关联.针对定量数据(定比,定距数据)的变量,分析变量之间的关系常用模型法,如线性模型,多项式模型,指数模型,可利用参数估计和检验的方法.针对分类数据和定序数据,也希望能分析变量之间的具体关联.对数线性模型 正是这类工具之一,它是结合列联表和线性模型的分析方法.5.7 5.7 对数线性模型对数线性模型 对数线性模型用来描述响应变量(因变量)频率或频数与解释变量(自变量)之间的关系,
40、它强调模型拟合优度,交互效应和网格频数估计。对数线性模型具有以下形式:对数模型中没有解释变量,是用行列因子的效应参数来表示。01 1lnkkmxx 考虑定性变量A和B的联合分布,A取值为 ,B取值为 .变量A和B所有取值组合对应的响应变量的频数如下表所示:1sB,BL1rA,ALrs二维列联表对数线性模型对数线性模型 将上述列联表转换成概率表。若两变量独立,则有 (5.10)也可表示成:类似于双因素方差分析模型,这样可以将 的平均变异来源分解为总体平均效应、行效应、列效应以及行列的交互效应。考虑到分解模型是乘法的,两边取对数可转换成ijijpp p(5.11)jijiijijppp1prs1/
41、r 1/s p pijp 常数 行主效应 列主效应 行列交互效应ijlnplnlnlnln常数行主效应列主效应行列交互效应ijp于是有,其中,是总的几何平均,和 分别是属性A在Ai时和属性B在Bj时的效应,而 是属性A和B的交互作用(关联项或关联参数),以上模型是二维列联表的饱和模型,其期望频数的估计就是实际频数 。两变量独立对应的对数线性模型为:则有()()()lnijA iB jAB ijp()A i()B j()AB ijijO()()()()0A iB jAB ijAB ijij()()lnijA iB jp()()0A iB j(5.13)(5.15)首先:计算年龄和对缺水意见的交互
42、作用,如表所示:接着:计算年龄组对缺水意见概率的对数(,由5.12取对数),如下表所示:lnijp由此表可得:的结果参见表5.15.()AB ij模型设计矩阵模型设计矩阵 将对数线性模型表达为矩阵形式,可以方便进行参数估计和检验。以22 列联表为例,令4个参数为 ,则饱和对数线性模型可表示为:其中:0123,ijijLln(p)LX11122122LLLLL1111111111111111X0123模型估计检验模型估计检验 建立对数线性模型之后,对于模型需要进行检验,常见的统计量由两个,Pearson 和对数释然比统计量:22rsijij2i,jij(nm)m rsij2iji,jijnG2n
43、 ln()m在零假设下,两者近似服从 ,k是模型独立参数个数。2(rsk)高维对数线性模型高维对数线性模型高维列联表对数线性模型,用 三维表为例。A有r个水平,B有s个水平,C有l个水平,为观测频数,是概率真实值。则对数线性模型一般表示为:其中:r c l ijkXijkpijA(i)B(j)C(k)AB(ij)AC(ik)BC(jk)ABC(ijk)lnp rstA(i)B(j)A(k)i 1j 1k 10rsAB(ij)AB(ij)i 1j 10rtAC(ik)AC(ik)i 1k 10stBC(jk)BC(jk)j 1k 10rstABC(i)ABC(j)ABC(k)i 1j 1k 10