1、属性数据分析,属性数据分析,为了某种目的通过调查表进行社会调查得到的数据调查数据,一般都是属性数据即在许多调查研究中,所得到的信息是样本中个体的分类,而不是定量变量的值 例如:在某次调查中,根据人们的性别、对颜色的喜好等,将他们分类在某次政府调查中,根据公司的产品类型、公司的所在地区、及产品是否出口,将这些公司分为不同组,在市场研究中,为了了解一种新产品的吸引力,根据顾客是否已看到这种新产品的广告及是否已购买该厂新产品,将顾客分为不同组 这种类型的数据可以方便地汇总在一张表格中,用来表示每个组中的观测个数,属性数据分析,一、属性数据,1. 变量的类型 根据变量的取值情况可以分为以下几种:,(1
2、)名义变量,变量值是几个没有次序之分的不同状态,它给变量值赋予名称例如,性别就是一个名义变量,用“男”和“女”作为其取值也可以用“1”和“2”代表取值,但这二个数字只是取值的名称,它们在数值上没有任何意义 人们驾驶的汽车类型也是名义变量的例子,可以把“Toyota”,“Chevrolet”,“Volkswagens”等作为变量值的代码;也可以用“1”代表Toyota牌,“2”代表Chevrolets牌, “3”代表Volkswagens牌等等 但是这些数字除了把该变量的一个值与一个名称联系起来之外没有任何其他的意义还有职业、血型、是否患病、喜爱的颜色等等都是名义变量,(2)有序变量,变量值是有
3、严格次序的不同状态例如民意测验中常用到以下取值的有序尺度:坚决拥护、拥护、弃权、反对、坚决反对,比如:“我认为新的税法比老税法有改进”的一种陈述,要求在有序尺度中选择代表自己意见的回答又如按治疗效果,把病人分为治愈(1)、显效(2)、好转(3)、无效(4)等四类把产品按质量分为:不好、一般、好、很好文化程度分为高、中、低等在以上几个例子中,变量的取值有内在的顺序 同名义数据一样,你可以给这些值赋予不同数字,而你赋给变量的具体数字并不重要,但规定的这些数字与取值顺序必须相匹配对于治疗效果的例子,既可以规定变量值为1,2,3和4,也可以规定为1,10,20和100 如果选择的分析方法适用于该变量,
4、那么该方法只依赖变量值的 顺序而与变量的数值无关,(3)区间变量(或间隔变量),区间变量是有顺序大小的数值变量,且数值间的差值是有意义的 例如考虑温度,40度比10度热30度,而40度和10度是相对于人们取定的0度而言的这类变量对减法:两值之差是有意义的; 但对两值的比率是没有意义的。 例如由4010=4,而认为40度比10度热3倍的说法是不合适的 区间变量与有序变量相对比,有序变量值之差是没有什么意义,如治疗效果是有序变量,2和1之间的差与3和2之间的差不具有同样的意义,(4)比率变量(或比例变量),比率变量也是数值变量,不仅数值之差有意义,而且要求有绝对的零点,两数值的比率也是很重要例如,
5、金子的重量就是一个比率变量;还有食物中的卡路里数也是比率变量,含有2000卡路里的食物是含有1000卡路里的食物的两倍;与温度相比较,我们不能说40度是20度的两倍,因为温度的0度只是一个任选的参考点 以上这四类变量中,名义变量和有序变量也称为属性变量(或定性变量),有时也称为离散变量;而区间变量和比率变量称为定量变量,有时也称为连续变量,2属性数据,来自社会调查、医学、心理学等领域中,由属性变量得到的数据都是属性数据例如问卷调查结果的分析,医药和流行病研究资料的分析等,都是对属性数据进行分析 属性数据一般都是汇总为表格(即列联表)后再进一步地进行分析 在方差分析和回归分析中,研究因变量与一些
6、自变量的相关关系 在方差分析中,自变量就是属性变量,它们都只取几个离散的值 在回归分析中,自变量是连续变量但方差分析和回归分析中的因变量都必须是连续变量。,当我们研究的指标是一个属性变量,并希望用其他变量来说明或预测这个属性变量的取值时,不管用以说明的变量是属性的或连续的,使用的统计方法统称为属性数据分析,所以属性数据分析是一种有着广泛实际应用的统计方法 对属性数据进行分析,将达到以下几方面的目的: (1)产生汇总分类数据列联表; (2)检验属性变量间的独立性(无关联性);(3)计算属性变量间的关联性统计量; (4)对高维数据进行分层分析和建模,第九讲 列联表、c2检验和对数线性模型,例1,下
7、面是对123人进行关于某项政策调查所得结果的一个简单的三维表,它显示了人们的收入和性别对该项政策的观点。 下表表示不同收入和不同性别人群对某项政策的观点。,三维列联表 (关于某项政策调查所得结果),列联表,前面就是一个所谓的三维列联表(contingency table). 这些变量中每个都有两个或更多的可能取值。这些取值也称为水平;比如收入有三个水平,观点有两个水平,性别有两个水平等。该表为322列联表 在下面SPSS数据中,表就和上面的不同,收入的“低”、“中”、“高”用代码1、2、3代表;性别的“女”、“男”用代码0、1代表;观点“赞成”和“不赞成”用1、0代表。有些计算机数据对于这些代
8、码的形式不限(可以是数字,也可以是字符串)。,列联表,列联表的中间各个变量不同水平的交汇处,就是这种水平组合出现的频数或计数(count)。 二维的列联表又称为交叉表(cross table)。 列联表可以有很多维。维数多的叫做高维列联表。 注意前面这个列联表的变量都是定性变量;但列联表也会带有定量变量作为协变量。,二维列联表的检验,研究列联表的一个主要目的是看这些变量是否相关。比如前面例子中的收入和观点是否相关。 这需要形式上的检验,二维列联表的检验,下面表是把该例的三维表简化成只有收入和观点的二维表(这是SPSS自动转化的:Analyze-Descriptive Statistics-Cr
9、osstabs-).,二维列联表的检验,对于上面那样的二维表。我们检验的零假设和备选假设为 H0:观点和收入这两个变量不相关;H1:这两个变量相关。 这里的检验统计量在零假设下有(大样本时)近似的c2分布。 当该统计量很大时或p-值很小时,就可以拒绝零假设,认为两个变量相关。,二维列联表的检验,实际上有不止一个c2检验统计量。包括Pearson c2统计量和似然比(likelihood ratio)c2统计量;它们都有渐近的c2分布。 对于我们的数据,根据计算可以得到(对于这两个统计量均有)p-值小于0.001。因此可以说,收入高低的确影响观点。,Pearson c2统计量,似然比c2统计量,
10、二维列联表的检验,刚才说,这些c2统计量是近似的,那么有没有精确的统计量呢? 当然有。这个检验称为Fisher精确检验;它不是c2分布,而是超几何分布。 对本问题,计算Fisher统计量得到的p-值也小于0.001。 Fisher精确检验的又一例子,二维列联表的检验,聪明的同学必然会问,既然有精确检验为什么还要用近似的c2检验呢? 这是因为当数目很大时,超几何分布计算相当缓慢(比近似计算会差很多倍的时间);而且在计算机速度不快时,根本无法计算。因此人们多用大样本近似的c2统计量。而列联表的有关检验也和c2检验联系起来了。,具体运算:先加权,加权之后,按照次序选AnalyzeDescriptiv
11、e StatisticsCrosstabs。 在打开的对话框中,把opinion和income分别选入Row(行)和Column(列);至于哪个放入行或哪个放入列是没有关系的。 如果要Fisher精确检验则可以点Exact,另外在Statistics中选择Chi-square,以得到c2检验结果。最后点击OK之后,就得到有关Pearson c2统计量、似然比c2统计量以及Fisher统计量的输出了(这里的Sig就是p-值)。,下面就是SPSS计算机对于这个问题的输出,高维列联表和(多项分布)对数线性模型,前面例子原始数据是个三维列联表,其检验和对两维类似。 但高维列联表在计算机软件的选项上有所
12、不同,而且可以构造一个所谓(多项分布)对数线性模型(loglinear model)来进行分析。 利用对数线性模型的好处是不仅可以直接进行预测,而且可以增加定量变量作为模型自变量的一部分。,对数线性模型,现在简单直观地通过二维表介绍一下对数线性模型,假定不同的行代表第一个变量的不同水平,而不同的列代表第二个变量的不同水平。用mij代表二维列联表第i行,第j列的频数。人们常假定这个频数可以用下面的公式来确定:,这就是所谓的对数线性模型。这里ai为行变量的第i个水平对ln(mij)的影响,而bj为列变量的第j个水平对ln(mij)的影响,这两个影响称为主效应(main effect);eij代表随
13、机误差。,(多项分布)对数线性模型,该模型看上去和回归模型很象,但由于分布假设不同,不能简单地用线性回归的方法来套用(和Logistic回归类似);计算过程也很不一样(把这个留给计算机去操心)。只要利用数据来拟合这个模型就可以得到对于参数m的估计(没有意义),以及ai和bj的“估计”。有了估计的参数,就可以预测出任何i,j水平组合的频数mij了(通过对数),(多项分布)对数线性模型,注意,这里的估计之所以打引号是因为一个变量的各个水平的影响是相对的, 只有事先固定一个参数值(比如a1=0),或者设定类似于Sai=0这样的约束,才可能估计出各个的值。 没有约束,这些参数是估计不出来的。,(多项分
14、布)对数线性模型,二维列联表的更完全的对数线性模型为,这里的(ab)ij代表第一个变量的第i个水平和第二个变量的第j个水平对ln(mij)的共同影响,称为交叉效应。即当单独作用时,每变量的某水平对ln(mij)的影响只有ai(或bj)大,但如这两个变量共同影响就不仅是ai+bj,而且还多出一项。 这里的交叉项的诸参数的大小也是相对的,也需要约束条件来得到其“估计” 。,用table7.txt数据拟合对数线性模型,假定(多项分布)对数线性模型为,这里ai为收入(i=1,2,3代表收入的低、中、高三个水平),bj为观点(j=1,2代表不赞成和赞成两个水平),gk为性别(k=1,2代表女性和男性两个
15、水平), mijk代表三维列联表对于三个变量的第ijk水平组合的出现次数,eijk为残差 而从相应的参数估计输出结果,可以得到对ai的三个值的估计为0.5173, 0.2549,0.0000,对bj的两个值的估计为-0.6931,0.0000,对gk的两个值的估计为 0.1139,0.0000。(多项对数线性模型无常数项),对数线性模型,高维表的检验统计量和二维表一样也包含了Pearson c2统计量和似然比c2统计量, 检验对数线性模型拟合的好坏程度的。 就我们这里的三维列联表问题,如果只考虑各个变量单独的影响,而不考虑变量组合的综合影响,计算机输出的Pearson c2统计量和似然比c2统
16、计量得到的p-值分别为0.0029和0.0011。,多项分布对数线性模型的SPSS实现,数据table7.sav 假定已经加权 (加权一次并存盘了既可) 这时的选项为AnalyzeLoglinearGeneral, 首先选择格子中频数的分布,这里是多项分布 (其默认值是Poisson对数线性模型). 然后把三个变量(sex,opinion,income)选入Factors(因子); 再选Model(模型),如果选Saturated(饱和模型),那就是所有交叉效应都要放入模型;但如果不想这样,可以选Custom(自定义),在Building Terms(构造模型的项)选Main effect(主
17、效应),再把三个变量一个一个地选进来(如果两个或三个一同选入,等于选入交叉效应). 如果想要知道模型参数,在Options中选择Estimates。 最后Continue-OK即可得出结果. 在计算机输出的结果中可以找到我们感兴趣的结果。 如果SPSS的Viewer输出不完全,可以选中不完全的输出,利用Edit-Copy Objects来复制到例如记事本那样的文件中,就可以看到完整输出了,注意,无论你对模型假定了多少种效应,并不见得都有意义;有些可能是多余的。本来没有交叉影响,但如果写入,也没有关系,在分析过程中一般可以知道哪些影响是显著的,而那些是不显著的。然后可决定舍取变量。,另一种对数线
18、性模型,常用的对数线性模型主要是两种,我们已经介绍了多项分布对数线性模型(格子里面的频数满足多项分布)。 另一类为Poisson对数线性模型.它假定每个格子里面的频数满足一个Poisson分布. 在统计软件的选项中会有关于分布的选项的。,Poison对数线性模型,有的时候,类似的高维表并不一定满足多项分布对数线性模型。下面例子是关于哮喘病人个数和空气污染程度,年龄和性别的数据(asthma.txt) 数据为某地在一段时间记录下来的60组在不同空气污染状态的不同年龄及不同性别的人的发生哮喘的人数。,Poison对数线性模型,其中性别为定性变量S(sex, 1代表女性,2代表男性), 空气污染程度
19、P也是定性变量(polut, 1、2、3分别代表轻度、中度和严重污染), 年龄A (age)为定量变量,为那一组人的平均年龄; 数目C (count)为相应组的哮喘人数。 该表格和前面的列联表的不同点在于每一格的计数并不简单是前面三个变量的组合的数目(某个年龄段,某种性别及某种污染下的人数),而是代表了某个年龄段,某种性别及某种污染下发生哮喘的人数。,Poisson对数线性模型,假定哮喘发生服从Poisson分布;但是由于条件不同,Poisson分布的参数l也应该随着条件的变化而改变。这里的条件就是给出的性别、空气污染程度与年龄。当然,如何影响以及这些条件影响是否显著则是我们所关心的。这个模型
20、可以写成,这里m为常数项,ai为性别(i=1,2分别代表女性和男性两个水平),bj为空气污染程度(j=1,2,3代表低、中高三个污染水平),x为连续变量年龄,而g为年龄前面的系数,eij为残差项。,Poisson对数线性模型,从对于数据(asthma.txt)的Poisson对数线性模型的相应SPSS输出,可以得到对m的估计为4.9820,对ai的两个值的“估计”为-0.0608、 0.0000,对bj的三个值的“估计”为-0.1484,0.1223、0.0000,对g的估计为 0.0126。 注意,这里的对主效应aI和bj的估计只有相对意义;它们在一个参数为0的约束条件下得到的。,Poiss
21、on对数线性模型,看来,年龄和性别对哮喘影响不很显著。轻度污染显然比中度污染和严重污染哮喘要好。但是似乎严重污染时哮喘稍微比中度污染少些(不显著)。 通过更进一步的分析(这里略),可以发现,中度和严重空气污染(无论单独还是一起)和轻度空气污染比较都显著增加哮喘人数,而中度及严重污染时的哮喘人数并没有显著区别。,Poisson对数线性模型的SPSS实现,数据asthma.sav 假定已经加权 这时的选项为AnalyzeLoglinearGeneral, 首先选择格子中频数的分布,这里是Poisson分布。 然后把两个变量(sex,polut)选入Factors(因子),把age选入Cell Co
22、variate(s)。 再选Model(模型),这里以选Custom(自定义),在Building Terms(构造模型的项)选Main effect(主效应),再把三个变量一个一个地选进来。 如果想要知道模型参数,在Options中选择Estimates。最后Continue-OK即可得出结果。 在结果中可以找到有关Pearson c2统计量和似然比c2统计量的检验结果及参数的估计(如果SPSS的Viewer输出不完全,可以选中不完全的输出,利用Edit-Copy Objects来复制到例如记事本那样的文件中,就可以看到完整输出了)。,Fisher精确检验一例,SPSS: Weight-De
23、scrib-crosstab-exact,返回,table7.txt 其中有变量性别(sex)、观点(opinion)和收入(income);每一列相应于其代表的变量的水平;每一行为一种水平的组合(共有23212种组合(12行), 而每种组合的数目(也就是列联表中的频数)在number那一列上面,这就是每种组合的权重(weight),需要把这个数目考虑进去,称为加权(weight).如果不加权,最后结果按照所有组合只出现一次来算(也就是说,按照列联表每一格的频数为1).由于在后面的选项中没有加权的机会,因此在一开始就要加权.方法是点击图标中的小天平(“权”就是天平的意思),出现对话框之后点击Weught cases,然后把“number”选入即可。返回,