Mark.chen@empowerstats.com Changzhong_chen@dfci.harvard.edu www.empowerstats.com Mark.chen@empowerstats.com Changzhong_chen@dfci.harvard.edu
医学科研数据 统计分析思路 哈佛大学医学院: 陈常中 2012年10月
希望达到的效果: 分析思路:学会设计一个路线图 统计方法:学会设计与解读回归方程 分析工具:学会使用易尔统计软件
数据 分析 假设 现有 数据 课题 设计 假设 资料 收集 资料 提取 先看看科研的过程,首先我们要有个假设,然后设计课题,收集资料,再就是数据分析,数据分析的目的是什么呢?验证假设。另一种情况是,我们现有数据,如临床日积月累的大量病历资料,从这些资料中分析提取科学信息。同样我们先要有个假设,然后从现有数据中提取资料,再做数据分析,数据分析的目的是什么呢?同样是验证假设。很多时候数据分析不知道怎么做下去,主要是目的性不明确,没有目标就没有方向,抓住假设,就抓住了目标,就会有方向。 资料 收集 资料 提取
分析思路 http://www.empowerstats.com/manuals/empowerRCH/manual/page0/t_auto.htm
科研假设 数据分析的目的是为了验证假设。科研假设,简单来说就是有一个X,一个Y,Y是结果变量,X是危险因素,假设是X的变化导致Y的变化,X与Y 有联系,X与Y 有因果关系。 如肥胖与高血压的关系。 有人说,我调查了一组人,就只是想看血压的影响因素有哪些? Y是血压,哪个是X呢? 你不是要看影响血压的因素吗,每个因素都是个X。这里就有很多个假设要验证。 设计分析思路,相当于画个路线图,要知道起点与终点(with end in mind)。终点就是你可能会做的结论,现在以肥胖与高血压为例,看看可能的结论是什么,哪个更好? 肥胖 高血压
比较下面这些结论 胖子与瘦子两组相比,收缩压无差别,P>0.05 体重指数与收缩压不相关,P>0.05 体重指数每增加1kg/m2,收缩压增加0.01mmHg,95%可信区间:0.007-0.0013mmHg,P<0.00001 看看下面这些可能的结论,哪个更合理? 胖子与瘦子两组相比,收缩压无差别,P>0.05。这个结论可以想象是用t检验做出来的,不含有无临床意义的信息。 体重指数与收缩压不相关,P>0.05。这个结论可以想象是用相关分析做出来的,不含有无临床意义的信息。 体重指数与收缩压非常显著相关,P<0.0001。这个结论可以想象也是用相关分析做出来的,虽统计学有显著意义,但没含临床意义信息。 体重指数每增加1kg/m2,收缩压增加0.01mmHg,95%可信区间:0.007-0.0013mmHg,P<0.00001。这是用回归方程做出来的,有没有意义呢?有统计学意义,信息中包含了有无临床意义的内容,我们从回归系数0.01中可以判断没有临床意义。 在控制了其它因素下,体重指数每增加1kg/m2,收缩压增加1mmHg,95%可信区间:0.7-1.3mmHg 。这个是用多元回归方程做出来的,有没有意义呢?有统计学意义,也含充分的临床意义信息。 比较一下这些结论,希望大家理解一下统计意义与临床意义的关系。 医学统计中大部分问题都可以用回归分析解决,掌握回归方程的建立与解释非常有必要。 在控制了其它因素下,体重指数每增加1kg/m2,收缩压增加1mmHg,95%可信区间:0.7-1.3mmHg
f(Y) = β0 + β1*X1+ β2*X2+ β3*X3+ β4*X4+ …… 广义线性回归方程 f(Y) = β0 + β1*X1+ β2*X2+ β3*X3+ β4*X4+ …… Y:收缩压值? f(y)=Y Y: 是否高血压?f(y)=logit(y) 所谓广义,指的是Y的函数可以有多种,这里列出最常见的两种,一种Y是连续性变量,二种Y是0/1两分类变量。
实例 regdd.xls 读入数据regdd.xls 观察每个变量的分布
回归方程 与 t检验 / 方差分析 /卡方检验 原来你也能做我的工作,不会抢我的饭碗吧?哈哈! 多组均数比较,用方差分析,也可以用回归分析替代。 两组率或多组率的比较,用卡方检验,也可以用logistic回归分析。 下面看看回归分析如何替代t检验或方差分析。 下面所有例子都用的是练习数据regdd.xls,读者可以下载重现结果。
Yi = β0 + β1 * Xi + ei ?β1= 0 X = 0 X = 1 β0 ei β1 ei β0 + β1 假定有两组人群,一组x=0,另一组x=1。从两组中各随机抽取2个个体,测量Y的值,如图所示,看看这两组的Y是否相同? 现在各组再多抽取若干个体,数据如图所示,可以计算各组的均数,这两个均数不在同一条线上,这是从所抽取的样本中估计出来的。从样本中得到的两个均数不等于两组总体的均数,从样本中得到的两均数距离不等于两个总体均数的差,t 检验是根据两样本均数及两样本的标准差,计算如果两总体均数相同的话,抽样得到两样本均数差达如此之大或更大的可能性多大,就是p 值,p值<0.05,表示两者之间的距离显著。 现在看回归分析,建立回归方程如上所示。从方程中看,当x=0时,Y=β0;当x=1时,Y=β0 + β1。因此,β0表示X=0组Y的均数,β1表示X=1组Y的均数与X=0组Y的均数的差,ei是每个个体与其所在组均数的差。因此回归方程对β1= 0 的检验等同于t检验两组均数的比较。 现在请大家思考一个问题:线性回归分析要求上述方程Y服从正态分布吗? 答案见最后一页。 ei X = 1 ?β1= 0 β0 + β1
X = 0,1 Y = β0 + β1 * X X=0, Y = β0 X=1, Y = β0 + β1 t检验等同于回归分析中对回归系数的检验。 X=1, Y = β0 + β1
X = 0,1,2 Y = β0 + β1 * X Y = β0 + β1 * (X=1) + β2 * (X=2) X=0, Y = β0 如果建立方程I:Y = β0 + β1 * X;则表示,X每增加一个单位,Y增加多少。这时假定X从0到1,Y的变化,与X从1到2,Y的变化相同。常见到的实际情况有,X是一种疾病的分级,0、1、2分别表示疾病严重程度为低、中、高。 在建立这种回归方程是,我们要考虑的是,疾病严重程度中与低的差别是不是等同于高与中的差别? 如果不假定每等级的变化相同,或者说当X不是等级指标如职业,假定X是职业,0表示工人,1表示农民,2表示干部。这时0、1、2只是代码,没有等级关系,这时就要建立方程II:Y = β0 + β1 * (X=1) + β2 * (X=2),也就是要产生2个哑变量,一个表示X=1,另一个表示X=2。 所谓哑变量,就是取值为0或1的变量。如用一个哑变量X2表示X=2,则当X=2时X2=1,否则X2=0。 从这个方程中可以看出,β1是X=1 与X=0两组Y的差,β2是X=2 与X=0两组Y的差。这个方程有两个参数,没有假定X=2与X=0的差是两倍的X=1与X=0的差。 X=0, Y = β0 X=1, Y = β0 + β1 X=2, Y = β0 + β2
Y5 = β0 + β1*(X6=1) + β2*(X6=2) X6 统计量 β(95% CI ) p 值 0 (A) 140 (35%) 1 (B) 2.50 ( 0.07, 4.92) 0.044 2 (C) 120 (30%) 5.26 ( 2.74, 7.79) <0.001 这是根据模拟数据regdd.xls中的Y5与X6的关系计算的结果,X6原取值是A、B、C ,是等级资料。 X6=B组与X6=A组相比,Y的均数差是2.50,p=0.044; X6=C组与X6=A组相比,Y的均数差是5.26,p<0.001; C与A的差近似于两倍的B与A的差,可以进一步简化方程,分别用0、1、2表示A、B、C,用回归方程:Y5 = β0 + β1*X6 拟合数据。 这里看到用回归方程替代t检验比较两组均数,或方差分析比较多组均数,直接给出了组间比较的均数差及其95%可信区间。 Y5 = β0 + β1*X6 X6 0.95 + 0.81 2.63 ( 1.37, 3.89) <0.001
分析流程 研究人群描述 分析流程中的第一步是人群描述。 用什么样的人群,去检验假设,很关键。如我们不可能在男性人群中研究痛经的问题。下面用一个例子说明研究人群如何重要。
每篇论文一般表一都是研究人群的描述,这是一个典型的表一,在表一中,我们要描述哪些变量呢?答案是与X和Y有关的变量要列出来。 这个表中,每个格子内的数据都是经一个统计计算,如t检验或卡方检验得出来的。用《易尔统计》软件研究人群描述模块,把相应的行变量与列分组变量输入后,能直接得到此表。 易尔软件读入数据后,立即对每个变量自动进行描述。如要分层描述(例X5)用研究人群描述模块。
分析流程 单因素分析: 人群描述 曲线拟合,线性模型,分段模型 在人群描述之后,用作单因素分析,常用的方法有线性模型、曲线拟合、分段线性模型。
与 有没有关系? 哪些因素与结果变量 有关系? 哪些因素与危险因素 有关系? 哪些因素与结果变量 有关系? 第一个问题是,X与Y 有没有联系? 不管是否有其它因素的干扰或混杂,简单的看两者表面上有无联系?什么样的联系? 第二个问题是,哪些因素与Y有联系?看看你收集的那些与X和Y有关的变量中,在你的数据里是否有关?什么样的关系? 第三个问题是,哪些因素与X有联系?看看你收集的那些与X和Y有关的变量中,在你的数据里是否有关?什么样的关系? 文献报道的与X或Y有关的变量在你的数据里不一定有关系,这很正常,研究人群不一样,样本量不一样,其它因素分布不一样,都能导致这种情况发生。但要注意的是联系或作用的方向,如果文献报道的是正向关系,你的数据里是负向关系,就值得深入探讨,这就象审嫌疑犯时,对方给出了一个信息,让你看到了突破口。沿着这个口突破下去,一般都能有很好的发现。 哪些因素与危险因素 有关系?
这是从一篇文献上截下来的表二,典型的单因素分析表。 《易尔统计》单因素分析模块能直接做出如此表格,输出格式有多种选择。 练习: 1)分析每个X1、X2、X3、X4、X5与Y2的关系 2)分析X1、X3、X4、X5 与X2 的关系
阈值效应与饱和效应 我今天前3小时工作,后1小时机器坏了休息,还按4小时计算我每小时产出。也好,以后我每干3小时都可以休息1小时!哈哈…! 当X的水平达到一定高度时,X才会对Y有影响,这就是有阈值效应。 当X达到一定程度时,X不再对Y产生影响,这就是饱和效应。 找到这个折点,分析折点前后X对Y的作用大小,这就是阈值效应与饱和效应分析。 X对Y的作用有没有分段效应呢?
这个图描绘的是练习数据regdd.xls中Y3与X1的关系,两者均是连续型变量,用散点图表示。 直线回归方程:Y3= β0 + β1*X1,中回归系数β1为0.23039,p值=0.00198。 看平滑曲线拟合:曲线分为两段,前一段上升,后一段略下降。 看曲线回归分析结果:s(X1)的自由度为1.685,接近2,表示用两段拟合数据较好。
阈值效应与饱和效应分析 模型 I Y3 = β0 + β1 * X1 0.23 ( 0.09, 0.38) 0.002 模型 II β(95% CI ) p 值 Y3 = β0 + β1 * X1 0.23 ( 0.09, 0.38) 0.002 模型 II 折点(K) 22.73 (90% percentile) X1 < 22.73, β1 0.33 ( 0.15, 0.50) <0.001 X1 > 22.73, β2 -0.54 (-1.30, 0.22) 0.163 这是调用《易尔统计》的阈值效应与饱和效应分析模块,得出的结果。 如用一条直线拟合,回归系数0.23; 如用两条直线拟合,折点为22.73 (相当于X1的第90百分位数), 当X1 小于22.73时,回归系数为0.33,p值<0.001; 当X1大于22.73时,回归系数为-0.54,p值0.163。 这两个回归系数差是-0.86,p值0.043,表示有显著性差别。 检验两段回归系数是否有显著性差别,也就是检验有没有阈值效应或饱和效应。 另一种检验方法是比较分段的模型(模型II)与一条直线的模型(模型I),用对数似然比检验,得出的p值为0.042,与检验两斜率差所得的p值基本相同。 β2 - β1 -0.86 (-1.70, -0.03) 0.043 对数似然比检验 0.042
看这个图,Y是新生儿神经行为评分,X 是脐带血锰的水平。中间是曲线拟合回归线,上下两条线是其95%可信区间。曲线拟合显示,锰对新生儿神经行为评分的影响作用有一个阈值效应,即当对数锰到0.5以上后,锰增加,新生儿神经行为评分明显下降。 Mn and NBNA 上海新华医院:余晓丹
分析流程 人群描述 单因素分析:曲线拟合,线性模型,分段模型 分层分析: 混杂、交互作用分析
分层 分析 分析思路的下一步是分层分析,把研究人群分成若干层,分别分析,如分男女分别分析,分不同的年龄组分别分析,分不同吸烟状况分别分析。 为什么要分层分析呢?很多人自觉或不自觉地做了分层分析,但没有想分层分析的目的是什么?
哪些因素影响 还是回到我们数据分析的最终目的:检验假设上来,我们的假设是X影响Y,X变化会导致Y的变化。分层分析的目的一句话就是找出哪些因素影响X与Y的关系。
交互作用 让我跟F小姐搭档,比跟M先生搭档,我的产出要高出一倍,这个糊涂的领导怎么就看不出来呢? 哪些因素会影响所分析的X对Y的作用呢?
β(95% CI ) p 值 0.40 ( 0.20, 0.61) <0.001 这个图描绘的是练习数据regdd.xls中Y4与X2的关系,两者均是连续型变量,用散点图表示。 可以看出一种Y4 随X2 增加而增加的关系,中间是直线回归线。回归方程:Y4= β0 + β1*X2,中回归系数β1为0.40,p值<0.001。
X5 β(95% CI ) p 值 0.23 ( 0.01, 0.46) 0.044 1 0.51 ( 0.28, 0.74) <0.001 交互作用的 P值 0.093 将全部数据根据X5分成两组,用红色表示X5=1的点,用黑色表示X5=0的点。 当X5=0时,回归方程为:Y4=β0 0+ 0.23*X2,X2每增加一个单位,Y4 增加0.23; 当X5=1时,回归方程为:Y4=β0 1+ 0.51*X2,X2每增加一个单位,Y4 增加0.51。 两组斜率有很大的不同,也就是说,X5影响X2对Y4的作用,这就是交互作用的概念。 比较两组斜率是否有显著性差别就是有无交互作用的检验,使用《易尔统计》软件中的交互作用检验模块,得出两组斜率差的p值是0.093,也就是交互作用的p值,接近显著。 是不是p>0.05,就可以下结论说没有交互作用呢?不是的,p值受样本量的影响,这里我们只能说我们没有检测到两组斜率有显著性差异。 使用《易尔统计》软件的分层分析模块与交互作用检验模块,能轻松发现团队中的“最佳搭档”或“最差搭档”,也就是找到协同作用因素或拮抗作用因素。让你成为一个最明智的领导。 问题:用多元回归方程:Y4=β0+β1*X1+β2*X5, 能不能发现交互作用呢?这样的方程是否合理呢? (答案见最后一页)
JAMA. 2008 May 7;299(17):2027-36 hcy.cnkme.com ACEI与叶酸联用降低心脑血管事件19% 这是2008年发表在JAMA杂志上的荟萃分析结果,在有ACEI组中,叶酸降低心脑血管事件的作用是0.81, P是大于0.05的。在无ACEI组中,叶酸降低心脑血管事件的作用是1.15,P也大于0.05,这里有个P=0.03,是什么?这个P值的是0.81 与1.15的差是否显著。即交互作用的P值。 JAMA. 2008 May 7;299(17):2027-36 hcy.cnkme.com 30
混 杂 找个“替罪羊”还不容易,就栽赃给“他”吧?没人能查出来! 哪个才是真正的危险因素? 混 杂 找个“替罪羊”还不容易,就栽赃给“他”吧?没人能查出来! 你通过单因素分析发现了某因素X与结局变量Y有关,这个X就要被盖上“致病因子”、“危险因素”的帽子了。 请等一下,看看它是不是“冒名顶替”的或被“栽赃陷害”的,真正的凶手可能“另有其人”。这是流行病学数据分析中最重要的一个任务。下面看一个例子。 哪个才是真正的危险因素?
这个图描绘的是练习数据regdd.xls中Y1与X1的关系,两者均是连续型变量,用散点图表示。 可以看出一种Y1 随X1 增加而增加的关系,中间是直线回归线。回归方程:Y1= β0 + β1*X1,中回归系数β1为0.4889,p值=0.00617。
X5 = 0 现在把整个数据根据X5分成两组,一组X5=0,这一组中,Y1 与X1 的散点图如上所示,基本上看不出Y1与X1 有关,做线性回归分析看看结果如何? 当X5=0时,Y1= β0 + β1*X1,中回归系数β1为0.05018,p值=0.843,不显著,表示在X5=0这一组中,Y1与X1 无关。
X5 = 1 再看看另一组X5=1,这一组中,Y1 与X1 的散点图如上所示,基本上也看不出Y1与X1 有关,做线性回归分析看看结果如何? 当X5=1时,Y1= β0 + β1*X1,中回归系数β1为0.2616,p值=0.273,也不显著,表示在X5=1这一组中,Y1与X1 也无关。
合到一起,红色表示X5=1的点,黑色表示X5=0的点,按X5分组分析,Y1与X1都无关,线性回归系数都不显著。而合到一起,不管X5做线性回归分析,得出回归系数为0.4899,p值=0.00617非常显著,这是为什么呢? 仔细观察这些红点与黑点就可以看出:(1) 红点位置偏高,表示X5=1组比X5=0组Y1 高,也就是Y1 与X5 有关;(2)红点偏右,表示X5=1组比X5=0组X1 高,也就是X1 与X5 有关。 因为X1高的人X5高的可能性大,而X5高的人Y1高,所以观察到X1 高Y1也就高,但当控制了X5 后,即当X5 都是0 或都是1 的情况下看,X1增高Y1不升高。这就发现了原来X1与Y1 的关系是由X5这个混杂因素引起的,X1是X5的“替罪羊”。 分层分析是发现混杂,找到“替罪羊”的最有效的方法。
这里验证一下上页所说的:X5与X1 有关,X5=1组X1 高于X5=0组。X5=0、1两组,X1的均数分别是19. 67305、20 这里验证一下上页所说的:X5与X1 有关,X5=1组X1 高于X5=0组。X5=0、1两组,X1的均数分别是19.67305、20.73267,差是0.0596,差的p值是2乘10的负7次方,非常显著。
这是个分层分析表,从文献中截下来的。X是吃豆腐量,Y是血铅水平,看不同的性别,不同的地区,不同的职业、文化程度等,每层中分析的结果都一致。 看这个表的结果,没有交互作用,没有混杂,大家思考一下,作者列出此表的目的是什么,是要强调其文中所发现的吃豆腐量与血铅的关系不是受其它因素混杂造成。
? 单因素分析结果: X 对 Y 无作用, 还要不要分层分析 X与Y 的关系呢? 简单的单因素分析没有阳性结果,很多人就失去兴趣了,不想再做下去,实际上很多重大的发现都是在进一步的分层分析中找到的。相象一下是否有如下情况: 所分析危险因素X在高暴露(高剂量)时才有作用; X必须是在有另一个因素A存在的情况下才有作用;或者是X必须是在A不存在的情况下才有作用。 这些都可以通过分层分析发现。下面看一个例子:
例:被动吸烟与痛经关系 被动吸烟 ---〉是否痛经 被动吸烟 ---〉是否痛经 跟踪387妇女,1492个月经周期 论文发表在: Environmental Health Perspectives 2000 108 (11) P1019-1022 这是个随访研究,分析被动吸烟与痛经的关系。X是被动吸烟,Y是有无痛经。 跟踪了387名妇女,每人每天记日记,记录有无来月经,有无痛经,有无被动吸烟。共1492个月经周期的资料。
被动吸烟 与 痛经 高 无 1.0 低 0.9 中 1.1 被动吸烟 月经周期 % OR P 370 25 373 .49 376 27 被动吸烟 与 痛经 被动吸烟 月经周期 % OR P 无 370 25 1.0 低 373 0.9 .49 中 376 27 1.1 .67 高 31 .54 最初的分析结果如此表所示。被动吸烟分成四组,以无被动吸烟组为参照,高暴露组发生痛经的比是1.1 P值0.54,这个结果告诉我们被动吸烟不增加痛经的危险。 是否这就是结论?下一步分析该如何做? 你如何下结论? 下一步怎么做?
高 无 1.0 低 1.1 中 2.1 2.4 没有痛经史妇女中:被动吸烟与痛经 被动吸烟 月经周期 % OR P 145 9 160 10 .84 中 14 2.1 .15 高 17 2.4 .07 看进一步的分析,把研究人群限于没有痛经史的妇女中, 看月经周期数,上表中370个月经周期无被动吸烟,这个表中145个月经周期无被动吸烟。一半的人去除了,我们在用记日记跟踪前,问了以前有无痛经史,有一半的人报告无痛经史,把分析限于这些人,看结果是,高暴露组发生痛经的危险是无暴露组的2.4倍。而且有一个暴露越高,风险越大的趋势,P<=0.03。 为什么前面样本量还要大,却得不出结果呢? 趋势检验: OR=1.4, P<=0.03
分析流程 多个多元模型: 人群描述 单因素分析: 曲线拟合,线性模型,分段模型 分层分析: 混杂、交互作用分析 下面看分析流程第四步:多个多元模型 首先是多元模型,多元模型是用来控制、调整其它因素的混杂作用的,目的是确切的评估所研究的X对Y的作用大小。 然后是多个模型的比较,目的是确定到底要调整哪些因素,这样更能确切地评估所研究的X对Y的作用大小。 理解这一点,我们先回顾一下前面所讲的X1、X5与Y1 的关系(regdd.xls) 多个多元模型: 模型比较,危险因素作用大小的确定
多元回归模型能控制混杂 β(95% CI ) p 值 Y1 = β0 + 0.49 * X1 Y1 = β0’ + 5.39 * X5 Y1 = β0 + 0.16*X1 + 5.21*X5 怎么知道有混杂?怎么发现混杂因素?一般我们分析数据时,先做单因素分析,如上例,分别看X1、X5与Y1 的关系,两者都显著。再通过对X5 分层看X1 与Y1的关系,分层分析能发现X1与Y1 的关系是由X5混杂引起的。 另外,通过多元回归模型分析可以控制混杂。本例,多元回归方程为:Y1 = β0 + 0.16*X1 + 5.21*X5 ,看多元模型中X1 的回归系数从单因素模型中的0.49变成了0.16,p值也不显著了,而X5的回归系数基本上没变化。 可以想象,如果你用向后或向前的逐步回归法,建立多元回归方程,最终X1将被从方程中剔出,只剩下X5,最终方程就应该等同X5的单因素回归方程。 多元回归模型能控制混杂
Y= β0 + β1*X1+ β2*X2+ β3*X3+ β4*X4+ …… 调整与控制 Y= β0 + β1*X1+ β2*X2+ β3*X3+ β4*X4+ …… 既然你做的不计了,那就把你的加到我身上吧,这样我的业绩就更高了,嘿嘿! 可不能把你干的坏事算到我的头上!哈哈! 调整与控制是最容易混淆的问题,很多人不清楚为什么要调整其它因素?哪些因素要调整?哪些因素不需要调整?用逐步回归法筛选要纳入的变量,为什么向前的与向后的方法得出的结果不同,为什么所给的变量顺序不同,逐步回归得出的最终要调整的变量也不同?究竟该用哪种方法合理? 这些问题都是因为没有完全理解调整的意义,对多元回归方程不能正确地去解释的缘故。 下面先来看个例子: X对Y的作用有没有包含其它因素的作用在内呢?
结局变量: Y2 β(95% CI ) p 值 单因素分析 X1 0.30 (-0.28, 0.87) 0.311 X2 0.47 ( 0.36, 0.59) <0.001 X3 0.41 ( 0.13, 0.68) 0.004 X4 3.32 ( 0.37, 6.27) 0.028 X5 5.22 ( 2.91, 7.53) <0.001 多因素分析 0.11 ( -0.42, 0.65) 0.679 0.47 ( 0.36, 0.58) <0.001 0.28 ( 0.01, 0.55) 0.044 2.30 ( -0.59, 5.19) 0.119 4.81 ( 2.60, 7.02) <0.001 这里结局变量是练习数据regdd.xls中的Y2,先对Y2 与X1、X2、X3、X4、X5的关系逐个做单因素分析,如表所示,除X1 外,其它4个X与Y2均有显著性关系。 再作多元回归模型,把X1-X5 都放入模型中,结果如表所示,X1 还是不显著,X2、X3、X5仍然显著,X4变得不显著了。这里请大家注意每个回归系数的变化: X2没变化; X3变化较大,从0.41变成0.28; X4变化也较大,从3.32变成2.30; X5有一点变化,但不很大。 问题是:X3的回归系数为什么会变化很大呢? X1不显著,把X1从模型中剔出,看结果如何:
多因素回归方程的比较 方程一 方程二 方程三 X1 : 0.11 ( -0.42, 0.65) 0.679 0.47 ( 0.36, 0.57) <0.001 0.28 ( 0.01, 0.55) 0.046 2.28 ( -0.60, 5.17) 0.122 4.93 ( 2.80, 7.06) <0.001 0.47 ( 0.36, 0.58) <0.001 0.36 ( 0.11, 0.61) 0.005 4.77 ( 2.65, 6.90) <0.001 把X1 从模型中剔出如方程二所示:X2 的回归系数还是没变化;X3 也没变;X4、X5变化很小。 鉴于X4不显著,再把X4从模型中剔出,结果如方程三所示:X2回归系数还是没变,X3 的回归系数从0.28升到0.36,增加了28%,X5有一点变化。 如果用逐步回归向后的方法,可以看出方程三是最后筛选出来的方程,究竟方程三是否合理呢? 要回答这个问题,首先要理解为什么回归系数在不同的方程中会不同?究竟哪个回归系数更合理地表达了所分析的X对Y2的作用? 不论调整什么,X2的回归系数都没变化,这是为什么呢?是因为X2 与X1、X3、X4、X5都没有关系。X5的回归系数有变化,但不大,是因为X5与其它X有相关,但关系不强。 调整X4 与不调整X4,X3 的回归系数变化很大,这是为什么呢?是因为X3 与X4 关系较大(看下一个片子就清楚了),不调整X4,X3 的作用(回归系数0.36)中一部分是由于X4的作用引起的。调整了X4 ,就是把X4 的作用从X3中剥离出来,这时看到X3 的作用变小了,回归系数变成0.28。 单因素分析发现X4 有作用,p值0.028,回归系数3.32;但控制X3后,X4的回归系数变成2.28,p值0.122,不显著了。这是因为,单因素分析得出的X4 的作用其中一大部分是与之相关的X3 的作用引起的,控制X3 后,把X3的作用剥离出去,X4 的回归系数变小了,p值也不显著了。 那么最终该用那个回归方程较合理呢?这实际上是没有标准答案的。 个人意见如下: 1)如果分析的目的是要预测Y2,方程二较好。虽然方程二中的X4 不显著,但不能据此下结论说X4与Y2 没关系,因为这里有样本量与检验效率的问题,说不定增加样本量X4 就显著了。 2)如果分析的目的是确定X2对Y2 是否有作用及作用的大小,哪个方程结果都一样,方程三更精炼些。因为不管调整哪些变量,X2 的回归系数都没变化。同理,如果要分析是X5 与Y2的关系,从方程二与方程三中得出的X5的回归系数差别也不大,都可以接受。发表论文时也可以同时列出方程二与方程三。 3)如果分析的目的是确定X3对Y2是否有作用及作用的大小,就应该选方程二,因为方程二中的回归系数更确切地表达了X3对Y2的作用。同理,如果要分析X4对Y2的作用,列出单因素分析与方程二较好。而不宜简单地下结论说X4与Y2没关系。阴性结果一定程度上是因为样本量小检验效率不高的缘故。
这里验证一下X3与X4的关系,如图结果说明X4=0与X4=1两组X3的均数显著不同,p值很小(<0.0001)。
单因素模型:β(p) 完全混杂(Y1) X1 0.49 (0.006) X5 5.39 (<0.001) 多因素模型:β(p) 0.49 (0.006) X5 5.39 (<0.001) 多因素模型:β(p) 0.16 (0.342) 5.21 (<0.001) 部分混杂(Y2) X3 0.41 (0.004) X4 3.32 (0.028) 0.28 (0.046) 2.28 (0.122) 我们来回顾一下X1、X5对Y1 的作用,如表所示: 单因素分析X1、X5 都对Y1有作用,当控制X5后,X1的作用完全消失了。这里我们说单因素分析发现的X1对Y1 的作用完全是由X5混杂引起的。 再来比较一下X3、X4 对Y2 的作用,如表所示: 单因素分析X3、X4 都对Y2有作用,当控制X4后,X3的作用减小了,但仍然有显著性。这里我们说单因素分析发现的X3 对Y2的作用部分是由X4混杂引起的。如果不调整X4 ,就是把X4的作用都加到了X3身上。 在分析一个X对Y的作用时,我们要看有没有其它因素的完全混杂或部分混杂的作用。完全混杂可以理解为这个X完全是那个因素的“替罪羊”;部分混杂可以理解为把那个因素的部分作用也算得了这个X的头上。分析方法是要看调整与不调整某个其它因素,所分析的这个X的回归系数有没有变化?变化多大(一般认为变化在10%范围内,认为变化不大)?而不能简单地只看每个自变量的p值是否显著。 易尔统计软件中有协变量检查与筛选模块,该模块对每个可能的协变量与Y的关系、对所分析的X的回归系数的影响,逐个进行分析,可以帮助大家确立最终要调整哪些因素才能较合理地评价X的作用?其具体做法如下: Y1 = β01 + 0.49 * X1 Y1 = β02 + 5.39 * X5 Y2 = β04 + 0.41 * X3 Y2 = β05 + 3.32 * X4 Y1 = β03 + 0.16 * X1 + 5.21 * X5 Y2 = β06 + 0.28 * X3 + 2.28 * X4
分析X对Y的作用,要调整C吗 ? Y = β0 + β1 C C 的P 值 ? Y = β0 + β1 X Y = β0 + β1 X + β2 C β1的变化 ? 如何检查“C”的混杂作用的呢? 回答“C”是不是混杂因素,先看“C”与Y有没有联系,用单因素分析,看“C”的P值。 回答调整“C”与不调整“C”,X对Y的作用是否有变化,我们先运行模型, Y= β0 + β1 X,记录β1 ,再在该模型中加入“C”,看β1有没有变化?变化多大? 同理,我们也可以先运行一个完整的模型,即调整所有可能的因素,然后从模型中剔除“C”,看β1 的变化。 练习:分析X3与Y2 的关系,确定需要调整的协变量有哪些? 完整模型中剔除C Y = β0 + β1 X + β2 C + β3 A2 + …… Y = β0 + β1 X + β2 C + β3 A2+ …… β1的变化 ?
要分析X3对Y2的作用,要不要调整X4呢? 看易尔统计软件如何检查X4的混杂作用 Y2 = β0+ β1*X4 Y2 =β0+0.276*X3+βc*X4+β3*X2+β4*X5 Y2 = β0+0.407*X3 Y2 = β0+0.360*X3+β2*X2+β3*X5 Y2 = β0+0.337*X3+ βc*X4 Pc βx 加/减C后 βx' 变化% Px 加/减C后Px’ 单因素 0.028 要分析X3 对Y2 的作用,要不要调整X4呢?看易尔统计软件如何检查X4的混杂作用(协变量检查与筛选模块) 单因素模型:Y2 = β0 + βc*X4,这个模型中的βc检验的p值=0.028,即表中的协变量的P值( Pc )。由此可看出,X4 与Y单因素分析有显著关系。 基本模型是:Y2= β0 + β1*X3,这个模型中的β1 =0.407,即表中的βx (X的回归系数),其p值=0.004,即Px(X的P值)。在基本模型中加入X4,即: Y2= β0 + β1*X3 + β2*X4,这个模型中的β1 =0.337,即表中的βx‘ (加/减C后X的回归系数),β1的变化为17.1%, 对β1检验得的P值=0.027,即Px’(加/减C后X的P值),对X4的回归系数检验得的p值=0.236,即Pc。 由此可看出,在基本模型中加入X4 后,X3 的回归系数有17.1%的变化。 完整模型是:Y2= β0 + β1*X3 + β2*X2 + β3*X4 + β4*X5,这个模型中的β1 =0.276,即表中的βx (X的回归系数),其p值=0.046,即Px(X的P值);X4的回归系数的P值=0.122,即Pc。从完整模型中剔出X4,即: Y2= β0 + β1*X3 + β2*X2 + β3*X5,这个模型中的β1 =0.360,即表中的βx‘ (加/减C后X的回归系数),β1的变化为30.4%, 对β1检验得的P值=0.005,即Px’(加/减C后X的P值)。 由此可看出,在完整模型中把X4剔出后,X3 的回归系数有30.4%的变化。 因此虽然多元模型中X4 的P值不显著,但它对X3与Y2 的作用中有部分混杂作用。 基本模型 0.236 0.407 0.337 17.1 0.004 0.027 完整模型 0.122 0.276 0.360 30.4 0.046 0.005
分析流程 人群描述 单因素分析: 曲线拟合,线性模型,分段模型 分层分析: 混杂、交互作用分析 多个多元模型: 回顾一下分析流程。 多个多元模型: 模型比较,危险因素作用大小的确定
编程、调试 摘录结果 建立科研假设 确定数据 图表结果 运行、分析 制作图表 设计分析思路 (确定图表) 分析讨论 结果解释 修改分析思路 好!现在看看数据分析的过程。 我们有了科研假设,确定了数据,设计分析思路,详细的分析思路可以包括到要做哪些图表。 然后就是编写分析程序,如SAS程序,R程序;调试程序;运行程序,如用SPSS,则是调用、运行每个统计模型; 再就是摘录分析结果;制作图表;最终得出图表结果。 有了图表结果,我们对之进行分析、解释,有不明确的地方或不能解释的地方,需要再做进一步分析,就是要修改分析思路,重复前面的循环。 通常一篇论文要经过数十次的循环反复,把各种可能性分析透彻了,最后得出来的结果才有把握拿出来发表。 这个过程中最费时、费力的是中间这些步聚,打个比喻这就象盖房子,首先要画图纸,设计分析思路就是画图纸,中间过程就是工人们盖房子的过程,最终出来的图表结果就象房子。可以想象房子盖好后,不满意要重画图纸重盖,这是什么样的工作量。所以一篇好的论文要经过几个月几年的分析才能出来。 再看看中间这些过程,编程序,调试,摘录结果等,这需要统计学知识,计算机知识,流行病学知识等等,很复杂,很艰难,看这中间就像要爬过高山,穿过峡谷,历尽千山万水最终才能看到图表结果,多么不容易。 我要报告大家的一个好消息是什么呢? 修改分析思路
建立科研假设 确定数据 图表结果 设计分析思路 (确定图表) 分析讨论 结果解释 修改分析思路 这就像一个直升飞机,直接把你带到你要去的地方,你不需要爬山越岭了。这是《易尔统计》软件,它替代了中间过程,它自动编写R程序,执行程序,摘录结果,自动制作图表。给它个分析思路,它立即给你图表结果。你告诉它要去哪儿,它立即把你带到。这是个好消息吗? 修改分析思路
使你的数据分析从 不会 会 简单地总结一下,《易尔统计》使你的数据分析从“不会”变得“会”,即如果你本来不懂编程,不太会调用统计方法,现在用《易尔统计》你不需要编程,软件会自动帮你选择统计方法。 如果你本来会编程,懂得调用统计方法,用《易尔统计》加快分析速度,很快完成很多复杂的、高级的分析工程。也就是从“会”到“更快、更准、更高”。 更快、更准、更高
论文写作 研究背景, 结论: 讨论: 为什么做此论文,科学贡献是什么? 依研究性质不同:提示性的?验证性的? 优缺点:设计、测量、其它因素控制、统计效率 对结果的解释 下一步研究方向
谢谢光临!!! 最后我还要说什么呢? 哎,想不起来了! 那就说再见吧: bye-bye!!! 哦!想起来了: 希望大家有收获,最后总结一下: 1) 回归分析可以替代t检验与方差分析,它能直接给出组间比较的均数差及其95%可信区间。 2) 混杂有完全混杂: 如X1与Y1本身完全无关,但因为X5 的关系,X1与Y1有关,控制X5后X1 的作用就完全没有了。部分混杂: 如X3、X4对Y2的作用,单因素发现的X3对Y2 的作用有一部分是由X4 引起的,调整X4把X4的作用剥离出去,X3 的作用仍然存在,但作用大小改变了。 3) 通过分层分析可以发现与控制混杂因素。 4) 通过多因素回归模型可以控制混杂。 5) 交互作用指一个因素与另一个因素有协同或拮抗作用,通过分层分析与交互作用检验可分析两因素的交互作用。 6) 通过曲线拟合,发现是否有分段作用,再做阈值效应与饱和效应分析。 问题解答: 1)回归分析不要求Y、X服从正态分布,要求残差e服从正态分布。 2)多元回归方程Y4=β0+β1*X1+β2*X5, 不能发现X1 与X5 的交互作用,如有交互作用,最好用分层分析,按X5分层来表达X1对Y4 的作用,不宜用一个单一的回归方程来表达X1对Y4 的作用。