档案

Posts Tagged ‘显著性检验’

如何检验两个模型拟合度的差别?

2010/09/03 留下评论

>

Anonymous @ 2010-09-01:

祝老师您好!我看了您对“为何不同模型的路径系数和拟合度相同”一文的回复,有一处不明白。想向您请教。即,当两个模型对同一组数据的拟合都可以接受时,如何检验这两个模型的拟合度之间有没有显著差异呢?

庄主 @ 2010-09-02:

首先要分清这两个模型之间是否具有从属关系。如果是的,可以用常规的模型比较方法来检验;否则需要用非参数的统计量。下面分别说一下。

主从关系模型之比较

什么是模型之间的主从关系 (hierarchically nested)?如果两个模型(A和B)具有相同的变量(包括隐含因子和观测指标)、而其中模型B是在模型A的基础上减去若干参数,这两个模型就被认为是有主从关系。按参数的个数来看,模型A是主(full model)、模型B是从(reduced model)。请看以下例子:

image image image

上图中,A和B在measurement model(测量模型层面)上完全相同;但在structural model(结构模型层面)上则不同:在A中因子X对因子Y有直接影响(记为g2),而在B中X对Y没有直接影响(也即g2=0)。这两个模型之间就是具有上述的主从关系,所以可以直接用常规的模型比较方法对两者之间的差别进行显著性检验。

所谓“常规的模型比较方法”,是指计算两个具有主从关系的模型的卡方值(分别记为χAsup>2和χBsup>2)之差(记为Δχ2),然后根据两个模型的自由度(分别记为dfA和dfχB)之差(Δdf),从卡方分布表中查出该Δχ2),所对应的显著水平(p-level)。

以上图中的模型A和B为例。假定A的χA2 = 150.0而B的χA2 = 145.0,Δχ2 = 150.0 – 145.0 = 5.0,而dfA = 22(这不是假定而是实际的,因为该数据有45个已知值、23个参数;大家可参照前贴如何计算SEM中的自由度?来计算本例各模型的自由度)、dfB = 23(很显然,因为B少用了一个参数、因此多一个自由度)、Δdf = 1。根据卡方分布表(可参考以下http://www.fourmilab.ch/rpkp/experiments/analysis/chiCalc.html),如果df = 1而χ2 = 5时,其对应的p-level = 0.0253。那么,我们的结论是什么呢?即,A和B之间是否有显著差别呢?或者,在A和B之间我们应该选择哪个呢?请大家自己得出结论。如果有疑问,请继续提出。

非主从关系模型之比较

如果两个具有同样变量的模型之间没有上述的hierarchical nested关系,就无法直接比较了。上图中,A和C也是有主从关系的,但B和C却不具备主从关系,尽管两者都是A的从属。两个非主从关系的模型之间的比较,一般是用Akaike Information Criterion (AIC)或类似的非参数统计量(non-parametric statistics)如Bozdogan’s Consistent AIC (CAIC)或Browne-Cudeck Criterion (BCC)。所谓“非参数统计量”是指该统计量的概率分布(也就是说其显著性水平)是个未知数。所以比较两个非主从关系的模型之间AIC(或其它)的差别,我们只能知道其中那个模型对数据的拟合更好一些、但不能确定这种差别在总体里是否存在。

以上图的B和C为例,假定AICB = 120和AICC = 135,我们可以知道B对数据的拟合更好(因为AIC及其它类似统计量都是越小越好),但是我们无法得知ΔAIC = 15的p-level是什么。因此,非主从关系的模型之间的比较,只是非正式的研究。

如果一定要检验两个非主从关系模型之间差别的显著性,那就需要找到一个B的替身(且称为B’),其即同时为B和C的主模型、但又与B没有显著差别。在本例中,A是B和C的主模型、但是与B有显著差别,所以不能承担B的替身。如果能找到B’,那么B’与C是主从关系,就可以按上述的常规模型比较方法来检验B’与C的差别了。

分类:统计 标签:,

如何比较自变量与中介变量的解释力?

2010/04/21 2 条评论

>

YF @ 2010-04-19:

庄主,非常感谢您对学生的慷慨指导,我想向您请教一个新问题。《管理世界》上有篇文章(见以下出处),是研究中介效应的,其自变量是家长式领导方式,应变量是团队绩效,团队冲突管理方式。作者按照Baron & Kenny(1986)检验中介变量的方法,分析结果用表2表示。

clip_image002

我的问题和该作者文章没有关系,是以该文章为例:(1)如果比较中介变量和自变量对应变量的解释力是否有意义?(2)如果有意义,是否根据下表2结果可以比较中介变量和自变量对应变量的解释力?如果可以根据下表2结果比较,那么看哪两个数据?例如:如果比较仁慈领导和合作型团队冲突解决方式对团队绩效的解释力,是根据0.726**(model 3)〉0.513**(model 2),还是根据0.662**(model 4)〉0.126(model 4),认为仁慈领导对团队绩效的解释力大于合作型团队冲突解决方式对团队绩效的解释力。

文献出处:张新安, 何惠, 顾锋. 家长式领导行为对团队绩效的影响:团队冲突管理方式的中介作用. 管理世界, 2009, 3: 121-133.

庄主 @ 2010-04-21:

问题1:比较中介变量与自变量之间对因变量的解释力之差别,是否有意义?有,但这只是检验中介效应的规定动作之一。强度版的中介效应要求自变量(X)对因变量(Y)的直接影响(Byx)= 0 而其通过中介变量(W)的间接影响(RwxByw) > 0;而弱度版的中介效应则要求Byx < RwxByw。也就是说,Byx < Byw是中介效应的必要条件(因为Rwx小于1.0)。所以两者的差别是不喻而言的。如果Byx大于或等于Byw,那就没有必要再谈中介效应了。

问题2:如果比较Byx与Byw的大小,应该看模型4。你的困惑来源于作者不合适、也无必要用了四步的hierarchical回归(“分批进入回归”,参见我数贴中对在类似场合下使用这种方法的批评),模型2(自变量模型)和模型3(中介变量模型)的系数是不能直接比较的,因为模型2中的Byx是在Byw缺席情况下估算的,其中含有通过Byw的间接影响,所以是夸大了的;同样,模型3中的Byw的影响也因为由于Byx的缺席而被夸大了。只有两者同时出席的模型4才是直接比较的地方。

当然,模型2和模型3也有其用此,就是通过计算模型4的R平方 – 模型2的R平方(= 0.505 – 0.307 = 0.198)来得知两个中介变量(合作型和竞争型)对因变量的联合解释力,并通过计算模型4的R平方 – 模型3的R平方(= 0.505 – 0.478 = 0.027)来得知三个自变量(权威、仁慈、德行)对因变量的联合解释力。而表中模型2和模型3的ΔR平方则是没有什么意义的。由于很多读者对此有困惑,我再重复一下这种“nested testing”(嵌镶式检验)与上述“分批进入回归”的区别:

假定模型为Y = b0 + b1X1 + b2X2 + b3X3,分批进入回归的做法是估计三个模型,分别为Y = b0 + b1X1, Y = b0 + b1 + X2, Y = b0 + b1X1 + b2X2 + b3X3,然后认为:模型1的R平方代表X1对Y的解释力、模型2的R平方与模型1的R平方的差别为X2对Y的解释力、模型3的R平方与模型2的R平方的差别为X3对Y的解释力。其问题是模型1的R平方中包含了X2和X3的贡献、模型2的R平方中包含了X3的贡献。

嵌镶式检验是估计四个模型,分别为1:Y = b0 + b1X1 + b2X2 + b3X3(全模型),2:Y = b0 + b2X2 + b3X3(X1缺席模型),3:Y = b0 + b1X1 + b3X3(X2缺席模型),4:Y = b0 + b1X1 + b2X2(X3缺席模型),然后认为:模型1与2的R平方之差为X1对Y的独立解释力、模型1与3的R平方之差为X2对Y的独立解释力、模型1与3的R平方之差为X3对Y的独立解释力。这里的最后一步与分批进入回归的最后一步相同、但其它比较有数量和质量上的区别。注意,嵌镶式检验的三个R平方差其实就是模型1中X1、X2和X3的semipartial correlation,在SPSS中叫做“part correlation”,可以只估算模型1而得知,不需再分别运行模型2-4的。对初学者来说,分别操作一下有助于从理念上认识上面讨论的各种问题的逻辑。

如何识别回归分析中的压抑效应?

2010/02/07 留下评论

>

DHF @ 2010-01-25:

祝老师,您好,我是心理学专业学生,想向您请教一下,如何identify a variable as a suppressor variable in regression analysis? 我的数据中出现了类似于classical suppression的效应,但不清楚IV的regression weight提高多少才可以认为是suppression effect. 多谢!虎年顺利!

庄主 @ 2010-02-06:

Suppression effects(压抑效应)是回归分析中的一个重要而又复杂但却不常见的概念。你提到classical suppression(经典压抑),自然也知道此外还有net suppression(净压抑)和cooperative suppression(合作压抑)。相比之间,经典压抑最罕见(以下会谈到),但最容易确认。我用模拟方法做过经典压抑数据,但在实际研究中从来没有遇到过这种数据。你好像中了彩票,值得庆贺。如不怕泄露学术机密,不妨描述一下你的数据以及你认为可能的原因。我相信很多读者都会有兴趣了解。

考虑到大多数读者可能对压抑效应知之甚少,我先讲一些基本概念(估计你已经知道其中的大部分)。

为了便于叙述,我们只讨论含有两个自变量的回归模型,即 Y = B1X1 + B2X2。其中,B1和B2是标准化回归系数,所以没有常数项),另外记X1与Y的相关系数为ry1、X2与Y的相关系数为ry2、X1与X2的相关系数为r12。 习惯上一般将X1看做主要的自变量而将X2看做是压抑变量。当然,X1和X2是对称的,完全可以将X1看做压抑变量的。

统计文献中有过不少压抑效应的定义,其基本思想基本一致,但具体公式上有所不同(所以结果也略有不同,但我不准备涉及那些技术细节)。就基本思想而言,压抑效应是根据ry2 与 B2之间(或者ry1 与 B1之间)的差别来确定的。具体说来,ry2 可以取正值、负值和零值三种可能性,B2则有正值和负值两中可能(但B2不能为零,详见下文)。这样我们就要3 X 2 = 6种情况,分别属于经典压抑、净压抑和合作压抑:

  1. ry2 = 0而B2 > 0,叫做 positive classical suppression(正向经典压抑);
  2. ry2 = 0而B2 < 0,叫做 negative classical suppression(反向经典压抑);
  3. ry2 > 0而B2 > ry2 ,叫做 positive cooperative suppression(正向合作压抑);
  4. ry2 < 0而B2 < ry2 ,叫做 negative cooperative suppression(反向合作压抑);
  5. ry2 < 0而B2 > -ry2,叫做 positive net suppression(正向净压抑);
  6. ry2 > 0而B2 < -ry2,叫做 negative net suppression(反向净压抑)。

上述六种情况,都包含|B2|>|ry2|的条件,即一个自变量的回归系数之绝对值必须大于其与因变量的相关系数之绝对值。这是压抑效应的必要和充分条件。这里的“大于”、“等于”、“小于”、“差别”等,都是在统计显著性检验的含义上说的。如,在一个样本中,ry2的值可以不是0、而是一个与0没有显著差别的数值(当然是一个很小的数);而B2绝对值与ry2绝对值之间的差别一定要达到统计显著水平(至少为p < 0.05)。当然,如何进行这种统计检验则不是一个容易的事,因为检验H0:|B2|=|ry2|的零假设,需要有B2和ry2的联合标准误差SEB2,ry2,而无论相关分析和回归分析都无法计算SEB2,ry2

所幸的是这种困难对于经典压抑并不存在,因为根据定义,经典压抑的前提是ry2 = 0,所以检验经典压抑只须证明当ry2 = 0时,|B2| > 0(即上述情况1和2)。这大概就是你想知道的答案了。这么简单?是的。至今为止我看到的所有文献 都是这个意思。当然,|B2| > 0 仅仅表明B2有统计意义上的显著压抑效应,至于这种压抑效应是否具有实际或理论意义,则取决于B2的大小。这时,我们可以按判断回归系数大小的传统标准(如0.1为弱、0.3为中、0.5为强)来解读B2的压抑效应。

虽然我们无法对净压抑和合作压抑的零假设做正式的统计检验,但我们也可以援引上述rule of thumbs(惯例)来解释|B2|-|ry2|的大小。(我在写这个帖子时,突然想到,也许这个问题可以在SEM中通过equality constraint的方法来解决。我一下子没想好,如有进展,会在这里报告。)

最后再补充一下:所谓“压抑效应”,是指上述回归模型因为引入了X2而将X1的方差中与Y无关之部分压抑过滤掉了,从而改进提高了该回归模型对Y的解释力。(The inclusion of X2 in the regression model suppresses or removes the part of variance in X1 that is unrelated to Y, which results in enhancement of the explanatory power of Y by the model.) 早年(也许是由于计算能力的局限),很多研究建立在相关分析基础之上,所以很有必要关注压抑效应的可能性。现在,多元回归分析是很多研究的起点。既然回归模型中已经同时考虑了X1和X2对Y的影响,那么X2的压抑效应已经被过滤了(当然也许还有X3、X4等等的压抑效应没有被过滤掉)。再加上压抑效应的数据不常见,所以现在很少人会检验压抑效应。但是,如果数据中真有压抑变量,其成因是很有价值的问题,弃之不顾太可惜了。同时,压抑效应的知识还可以帮助我们在研究设计阶段(即收集数据之前)将表面上与Y无关但与X1有关的X2包括在问卷或其它数据采集工具中。

如何比较一个自变量对三个因变量的影响大小?

2010/01/24 留下评论

>

ZYS @ 2010-01-23:

Dear Dr. Zhu,

I read your blog post on how to test the differences of two correlation coefficients posted on http://zjz06.spaces.live.com/blog/cns!3F49BBFB6C5A1D86!954.entry. Is it appropriate to use your method for two regression models based on one sample population?

My question is whether there is a appropriate way to test significant difference between regression coefficients of two different models from same sample population? For example in the below table, how would we statistically compare the difference between betas for political interest as predictors of DV in three conditions? This is a repeated measure experiment. the same group participants participated in three conditions in three months. In other words, the research question is whether the impact of political interest on opinion expression is moderated by condition… The reviewer wants a statistical test –but i didn’t find a good way to test since they are not independent samples…

 
Opinion expression in Condition 1
Opinion expression in Condition 2
Opinion expression in Condition 3
 

ß

ß

ß

Education

.13*

-.07

-.06

Male

.10*

-.01

.05

Age

-.04

.28***

.31***

White

.04

.03

-.03

Political Interest

.33***

.10*

.08

R-square

.04

.09

.11

F

3.60**

7.48***

9.61***

Is there a better way this problem could be tackled?

庄主 @ 2010-01-24:

Your research question differs from the one in that post, where the issue is to compare the correlation coefficients between two independent variables (IVs) with the same dependent variable (DV) whereas your task is to compare the correlations between the same IV with three different DVs.

One approach you can consider is repeated measures regression in general linear modeling (GLM), in which you form a within-subjects (WS) factor to account for the three DVs, and then regress the WS factor on your IV and control variables.  To test the significance of the differences among the relevant regression coefficients, you use the procedure described in 如何检验两个回归系数的差别?.

Another approach, which I think simpler and easier to be understood, is to test a path model with  equality constraints in SEM (see the diagram below). Aside from your regular hypotheses, you fit a series of nested models to test the null hypothesis that β1 = β2 = β3. For example, you compare the fully unconstrained model in which β1, β2, and β3 are free to be estimated and the fully constrained model in which β1, β2, and β3 are fixed to be the same.  The difference in the resulting Chi-squares between the two models, tested with Chi-square distribution with 2 degrees of freedom, tests the above null hypothesis.  In addition, you can test the fully constrained model with three partially constrained models, each with a pairwise constraint such as β1 = β2, β1 = B3, or β2 = β3, to entertain the possibility that not all three coefficients are exactly the same but some pair(s) of them may be. 

image

With the data in the table you provided, I guess that Condition 1 would be significantly different from Conditions 2 and 3 whereas the latter two might not. 

Good luck with your publication.  If it’s published, please come here to share your experience in getting published in journals.  Many readers of this blog would be very interested in learning from your experience.

分类:统计 标签:, ,

如何检验交互效应的显著性?(更新版)

2010/01/15 留下评论

>

yxf @ 2009-12-29:

庄主您好:我是一名博士生,怀着非常忐忑的心情给您写这篇文章。我经常拜读您竹家庄上的文章,受益很深。您在2009年4月11日文章“如何绘制调节效应的图形?”,我能够看懂,但是用您的绘制调节变量的图形的方法于下面这篇文章得出的回归系数,和该文章得出的回归系数,为何不同?

这是发表于《管理世界》2009年第一期的一篇文章(下面复制了它的两个图和一段文字)。

首先,根据您的绘制调节变量图形的方法,

Y = 0.405X + 0.360Z – 0.186XZ + 常数 =(0.405 – 0.186Z)x + 0.360Z+常数

1)低中国人传统性,取Z为均值减一个标准差,为-0.647,此时Y = [0.405 – 0.186 × (-0.647)]X + 0.360 × (-0.647) + 常数 = 0.525X+常数

(2)高中国人传统性,取Z为均值加一个标准差,为0.647,此时Y = [0.405 – 0.186 × (+0.647)]X + 0.360 × (+0.647) + 常数 = 0.525X + 常数 = -0.285X + 常数

但是,为什么这篇文章得出的结果不同呢?

(1)低中国人传统性,Y = 0.503X + 常数 (p<0.01)

(2)高中国人传统性,Y = 0.018X + 常数 (p>0.01)

这篇文章的结果正确吗,它是如何计算出来的,特别是它的p值是如何计算出来的?是不是我没有正确领会您的“如何绘制调节效应的图形?”的内涵?

(庄主注:yxf的信中附有原文的部分页面,因涉及版权,这里删去。有兴趣者请参阅:汪林、储小平、倪婧:“领导—部属交换、内部人身份认知与组织公民行为”,《管理世界》2009年第1期,97-108页。)

庄主 @ 2009-12-30:

你提了两个问题。一是如何计算“低传统”组和“高传统”组各自的回归斜率;二是如何检验这些斜率的统计显著水平?以下分别简答之。

一、如何计算分组回归斜率(也叫“简单斜率”)?我在多个前贴(包括你提到的“如何绘制调节效应的图形”一文)中已介绍过,简单斜率是根据总样本回归模型

Y = b0 + b1X + b2Z + b3XZ                 (1)

而计算出来的。即先选定若干个Z的值(如本例中小于和大于“传统性”均值的一个标准差,分别记为Z1和Z2),然后代入公式1,就有

Y = b0 + b1X + b2Z1 + b3XZ1 = (b0 + b2Z1) + (b1 + b3Z1)X            (2)

Y = b0 + b1X + b2Z2 + b3XZ2 = (b0 + b2Z2) + (b1 + b3Z2)X             (3)

其中b1+b3Z1是低传统组的简单斜率、b1+b3Z2是高传统组的简单斜率。这种方法,与论文作者所参照的Aiken and West (1991)的方法是完全一样的。

至于具体计算,只是做简单的加减乘,没有特别深奥的地方。当然,先要弄清Z1和Z2是原始数据还是取中值 (centered score)。在本例中,前者为3.52±0.647而后者为±0.647(因为取中值的均值为0)。你是用后者来计算的,你的结果中低组的斜率是对的(0.525),但高组的斜率错了,应该也是正数(0.285)而不是负数(-0.285)。我估计你算对但写错了。

作者为什么算出来分别是0.503和0.018?我看了原文,他们没有交代用的是原始数据还是取中值。如果用的是原始数据,结果应该分别是-0.129和-0.370,与其上下文不合。估计他们用的是取中值,但手算时出错了。你不妨直接写信问他们一下?

二、如果检验简单斜率的显著性?我在有关前贴中也应该讲过,但一下子查不出来,所以再讲一下。我们知道,一个回归方程的斜率(如b1),可以用t = b1/seb1 来检验。同样,简单斜率b1+b3Z的显著性也是用一个类似的 t-检验来完成的(注意,要将这里的b1+b3Z当做一个常数来看),即

image                          (4)

其中的分母就是简单斜率的标准误差,SPSS或其它统计软件不会直接报告这个参数,但可以根据以下公式

image                    (5)

手工算出,其中的se2b1和se2b3分别是b1和b3的方差(variance)、covb13是b1和b3的协方差(covariance)(注意:这里提到的是b1和b3的方程-协方差而不是X和Z的方差-协方差),在SPSS中在Statistics的选项中选择“BCC”可以获得这些参数,而这里的Z则用上述的Z1或Z2值来代入。

算出公式4的t-值后,就可以查表得出其相对应的p-值了。估计原文作者就是这么做的。当然,他们如果报告一下两个t-值和对应的两个p-值各为多少,就更令人信服了。

yxf @ 2010-01-07

庄主,您好:非常感谢您的回复。我非常仔细地学习了您的“如何检验交互效应的显著性?”,感觉帮助非常大。在您的回复中,“二、如果检验简单斜率的显著性?”有一段话

“简单斜率b1+b3Z的显著性也是用一个类似的 t-检验来完成的(注意,要将这里的b1+b3Z当做一个常数来看),即公式4(省略),其中的分母就是简单斜率的标准误差,SPSS或其它统计软件不会直接报告这个参数,但可以根据以下公式5(省略)手工算出,其中的se2b1和se2b3分别是b1和b3的方差(variance)、covb13是b1和b3的协方差(covariance)(注意:这里提到的是b1和b3的方程-协方差而不是X和Z的方差-协方差),在SPSS中在Statistics的选项中选择“BCC”可以获得这些参数,而这里的Z则用上述的Z1或Z2值来代入。”

这里,se2b1、se2b3、covb13在SPSS中的计算方法我不太确定如何操作,因为不知道BCC是如何操作的?我找到两种方法,您认为哪一种方法算出的协方差是适合本文这里使用的,因为这两种方法算出的协方差不一致:

  1. Analyze—>Regression—>Linear—>Statistics—>Regression Coefficients中 "Covariance Matrix” 打钩,然后算出协方差矩阵;
  2. Analyze—>Correlate—>Biraviate—>Options中 "Cross-Product Deviations and Covariances” 打钩,然后算出协方差矩阵。

您认为哪一种方法是正确的,还是都不正确?正确的方法应该如何操作?

另外,“covb13是b1和b3的方差-协方差而不是X和Z的方程-协方差”,这两个协方差有何区别?

万分感谢!

庄主 @ 2010-01-16:

用方法1而不是方法2。如我原文中所说,前者是回归系数(b1, b2, b3)之间的方差-协方差、而后者是自变量(X, Z)之间的方差-协方差,是风马牛不相及的完全两回事。

大家应该对后者很熟悉,即使不那么熟悉、但在学习初级统计的相关系数部分时、多半也看到过相关系数与协方差之间的转换关系(Covxz = rxzsdxsdz,即X和Z的相关关系rxz乘上X和Z各自的标准差sdx和sdz就是X和Z的协方差Covxz)。很多学生对我说,他们的老师没有讲过这个公式。我的回答一般是“这还需要讲吗?”。比较一下相关系数的公式和协方差的公式,前者不就是少了sdx和sdz吗?甚至记不得公式,但一定知道相关系数是标准化的协方差、而协方差是非标准化的相关系数吧?将一个标准化的指标乘上其标准差不就是其非标准化的指标了吗?反之,将一个非标准化指标除以去标准差不就是标准化了吗?当然,如果只是通过老师的PPT讲义和点击SPSS菜单而学习统计的话(很可惜,现在的社会科学学生中大概99%是这么过来的),这些ABC原理都好像很陌生。青年朋友们:不要做PPT和SPSS的奴隶,多看书、并且经常手工演算各种公式吧。

那么前者呢?很可能你们老师们没有讲过。其实我的老师们(当中不乏顶尖学者)也都没有讲到,因为回归系数的协方差一般用不到。曾有一位美国名校名导师培养出来的博士朋友问我,b1和b3是两个常数、它们之间怎么可能有相关系数呢?是的,回归系数是常数,但任何统计量(常数)都有一个抽样分布(即假定从同一总体中抽取无数个相同大小的样本,做同一回归而得到的无数个回归系数就构成了一个服从t的抽样分布),在这个抽样分布中的每个回归系数都是一个变量(而不是常数),所以各自都有自己的方差、而相互之间就有相关系数或协方差。

分类:统计 标签:,

如何判断统计显著的差别是否具有实际意义?

2009/10/31 留下评论

丁丁 @ 2009-10-02:

老师,您好!我想问一个关于样本量的基础问题。通常我们有公式可以计算理论最小样本量。但我想问有没有最大样本量,不得因为如果样本量足够大,我可以证明任何没有实际意义的差别是不是statistically significant。比如说,3.75和3.50,SD 都为1.00,如果样本量个为100,不显著。如果是200,就显著了。同理,3.50和3.55,如各有10000,也显著了。但是没有实际意义。我看到很多研究就用这种方法,研究出了很多correlation significant的结果,或两者显著不同的结论。我觉得不对,却没有理论去说它不对。难道真如某人所说, 统计学家可以证明任何事吗?

庄主 @ 2009-10-31:

抱歉,拖了将近一个月才回复你的问题。最近较忙,忙的原因之一是做有关博客写作的可持续性研究(好像就是在研究我自己为什么不能持续写博客)。

你的问题涉及了样本量和统计显著性两个概念,为了理解两者之间的关系,还需要引入其它三个概念:errors in inferential decision(推断决策中的错误)、power of analysis (检验效能)、strength of relationship 或effect size(关系强度或效应规模,注1)。

我们从统计显著性开始,因为大家在看一个统计分析(如相关、回归、方差等)的结果时,总是首先看其显著性(即p值是否小于预设的α值,如 0.05),然后据此而做出相应的推断决策。如p<α则拒绝零假设、p>α则接受零假设。大家知道,尽管有上述p值做依据,这种决策还可能含有误差。如当p<α时,也许零假设还是对的,这时就有犯概率为p的Type I error(型一或“拒真”错误)。相反,如当p>α时,也许零假设却是错的,这时就有犯概率为1 – p的Type II error(型二或“纳伪”错误)。相信大家都看过这些老套的话,但也许不知道这些老土道理是解决很多困惑(包括丁丁的问题)的基本原理。

丁丁关心的是在大样本条件下犯型一错误的可能性。我们先看一下他(她)的例子:有两个均值,分别为3.7和3.5,各自的标准差均为1.0,由于不同样本量而出现了以下两种情况:

一、当N = 100时,两个均值的联合标准误差 =clip_image002 = 0.14(注2),检验两个均值之差的t = (3.7-3.5)/0.14 = 1.41,其相应的p = 0.160(注3)。

二、当N = 200时,两个均值的联合标准误差 =clip_image002[4] = 0.10,检验两个均值之差的t = (3.7-3.5)/0.10 = 2.00,其相应的p = 0.047。

可见,随着样本的增大,原来不显著的差别现在显著了,这合理吗?就型一错误而言,完全合理。当N = 100时,如果我们拒绝零假设(即3.7 = 3.5),拒真(“真”= 零假设)的风险由16.0%,太大了,不能容忍;而当N = 200时,拒真的风险降为4.7%,在可以容忍的范围内,所以是合理的。

那么,统计上显著的就一定是实际上重要或有意义的吗?自然不是。问题是我们如何判断一个统计显著的结果是重要或有意义?丁丁想知道的大概就是这种判断根据。这种根据,就是我们说的关系之强度或效应之规模(而不是样本最大量问题)。

判断关系强度或效应规模的一个直观(即非正式)准则是两个均值之差要大于均值的十分之一(注4)。如在本例中,均值之差为0.2、远小于均值的十分之一(0.35或0.37,取决于我们以那个均值为比较基准),显然,即使当N = 200时0.2的差别是统计显著的,但其差别还比较小(相对于均值的取值),没有特别的意义。

判断关系强度或效应规模,还有很多更正式的准则,如Pearson’s r(用于关系强度)或Cohen’s d(用于均值之差,注5),两者还可以互相转换(注6)。在本例中,Cohen’s d = 0.2(注7)。按照Cohen的说法,如果d值小于0.3,效应规模为small(小效应)、如果d值在0.5附近,效应规模为medium(中效应),而如果d值在0.8以上效应规模则为large(大效应)。

我们也可以将d转换成Pearson’s r = 0.1。一般说来,r = 0.1 也是一个弱相关。

下图是对以上讨论的一个小结(包括丁丁问题的反面,即如果统计分析的结果不显著时,大样本有什么好处或坏处)。

image 

上图也间接回答了丁丁最后引用的问题“统计学家可以证明任何事吗?”。是的,统计学家可以通过提高样本来拒绝零假设,但是,统计学家无法控制关系的强度或效应的规模。如何提高关系的强度或效应的规模?这既是一个理论问题、也是一个(数据收集)方法问题。本庄以前曾有涉及、日后有机会还会讨论,这里就不扯开去了。

注释:

注1:两者同义。关系强度多半用于相关或回归分析而效应规模多半用于方差分析。

注2:丁丁没有交代是两个独立样本还是两个非独立样本,我们假定是前者。

注3:双尾检验。p值可以根据给定的t值和自由度数,用Excel里的TDIST函数求出。

注4:所以一般说来,做社会科学研究的学生最好分别修一门专讲数据收集方法课和一(至数)门统计课。

注5:image, 此外还有其它很多与Cohen’s d大同小异的计算均值之差的效应规模的公式。

注6: image

注7:算了老半天,d等于均值之差,这是因为两个组的样本量相等,否则会有所不同或很不相同。

分类:统计 标签:

如何检验两个中介变量的效应?

2009/04/24 留下评论

>

flyingzjt @ 2009-04-21:

经常看贴,收益良好,今天请教一个问题:X影响Y的关系中有两个中介变量A,B,如果A与B相关,那么其中介效应如何确定,其大小可以比较吗?如果有两个自变量X,Z,中介变量仍为A,B,可能的影响为X-A-Y,同时Z-B-Y,且A与B相关,X与Z相关,那么两个中介变量的效应又如何确定,如果上述变量均为潜变量,如何用LISREL与AMOS检验中介效应?多谢多谢!

庄主 @ 2009-04-25:

你的问题叙述出来好像挺复杂,但如果先画个图(见下图b)再来看,就属常见并较简单的模型之一了。(注意,为了与我在“八大矩阵”中用的符号一致,我用γ表示从X和Z出来的影响而用β表示从A和B出来的影响;其它的系数如φ、ψ、ξ等也来自“八大矩阵”。)

image image

 

 

 

 

 

 

我估计你已经知道,中介效应需要满足以下条件:

  1. 在中介变量(A或B)没有起作用之前(如图a),自变量(X或Z)对因变量(Y)有显著的direct effects(直接影响,即βYX或βYZ ≠ 0);
  2. 当A或B出现之后(图b),X或Z通过A或B而对Y有显著的indirect effects(间接影响,即γAX或γBZ ≠ 0以及βYA或βYB ≠ 0);
  3. X或Z对Y的间接影响大于其直接影响(即γAX × βYA > γYX 或γBZ × βYB > γYZ );
  4. 当A或B起作用之后,X或Z对Y的直接影响随之彻底消失(即γYX或γYZ = 0,这就是为什么我在图b中用虚线表示相关的线条),

注:如果只满足条件1-3,则可认为存在weak version (弱版本)的中介效应;而如果条件1-4均被满足,得到的则是strong version(强版本)的中介效应。

根据上述条件,我们可以很容易地在SEM中检验中介效应。在本例中,由于涉及两个中介变量,可以分以下几步做:

  1. 检验“直接影响”模型(图a),如果其中的γYX 或γYZ 为显著,则条件1成立;
  2. 加入A和B而构成一个full model(“全模型”,图b),如果其中的γAX 和βYA同时显著、或γBZ 和βYB同时显著,则说明条件2成立;
  3. 如果全模型中的γAX × βYA > γYX 或γBZ × βYB > γYZ (前者即LISREL、AMOS等软件中报告的X或Z的间接影响值、而后者则是报告的X或Z的直接影响值),如果两者有显著差别,则说明条件3成立;
  4. 如果全模型中的γYX 或 γYZ 不显著,则说明条件4成立。
分类:统计 标签:, ,

如何用block方法检验交互影响?

2009/03/15 6 条评论

>

阳阳:

祝老师,您好!读了您的《如何在回归分析中检验和解读交互影响?》,我大受启发,非常感谢!关于调节变量的检验我还有一个问题想请教您。我的毕业论文有一个调节变量是“年龄阶段”(共分为三个年龄阶段,即是一个包含三个水平的类别变量),自变量(X)和因变量(Y)各是一个连续变量。我的考虑是把调节变量转化为虚拟变量(D1,D2),则最后要检验的方程为:Y=a+bX+cD1+dD2+eX*D1+fX*D2。我的疑问是,在检验中,是把X、D1、D2构成“Block 1”,而X*D1和X*D2一起构成“Block 2”?还是“Block 1”不变,把X*D1构成“Block 2”,而X*D2构成“Block 3”呢?另外,我的假设是“X与Y负相关,而处于不同年龄阶段(即调节变量)的个体,这种负相关的强度有区别,具体为:年龄阶段二 > 年龄阶段一 > 年龄阶段三”,第一次使用spss,我只会解读包含两个水平的调节作用,心里很着急,期盼您的指导!非常感谢!

庄主:

你没有说清第一个问题(是把X*D1和X*D2当作一个block还是两个block进入回归)的目的,但我估计是想因此来检验e和f的统计显著性。你的思路应该是受到stepwise regression(逐步回归)的影响。如果你查看一下我的前贴(大部分还在http://zjz06.ycool.comhttp://zjz06.spaces.live.com上,还没有转过来),就会知道我是强烈反对用逐步回归来做显著性检验的(逐步回归可以用了做预测模型的构建,但那完全是另外一种研究)。

你应该采用的是full-1的思想。即通过比较你的full model与full-1 (减掉一个交互项)model之间的差别来检验被减掉的交互项之显著性。在你的案例中,首先估算full model:

Y=a+bX+cD1+dD2+eX*D1+fX*D2               (模型1)

然后估计两个partial models,分别为:

Y=a+bX+cD1+dD2+eX*D1                         (模型2)

Y=a+bX+cD1+dD2+fX*D2                         (模型3)

最后分别比较模型1与模型2、模型1与模型3的R平方之间的差别,从而决定e和f分别是否显著。即,

clip_image002

clip_image002[5]

其中clip_image002[7]clip_image004clip_image006分别是模型1-3的R平方,K1K2K3分别是模型1-3的自变量个数(在你的案例中,分别为5、4、4),N为样本个数。上述比较结果均服从以(K1-K2)和(N-K1-1)和(K1-K3)和(N-K1-1)为自由度的F分布,所以可以通过查阅F值表来决定模型1与2或模型1与3之间是否有显著差别。如果有差别,即说明被省略的该交互项是显著的(因为省略之后模型的拟合度或解释力有了显著的退步)。

你的第二个问题,是通过比较e和f的值及其方向来完成的。鉴于你的假设为“年龄阶段二 > 年龄阶段一 > 年龄阶段三”,你应该将年龄组1作为基准组,即在D1和D2两个dummy变量中取0,而年龄组2在D1中取1、年龄组3在D2中取1。SPSS syntax为:

IF AGE=2 D1=1.
IF AGE=1 D1=0.
IF AGE=3 D1=0.
IF AGE=3 D2=1.
IF AGE=1 D2=0.
IF AGE=2 D2=0.

如果前述检验结果显示模型1与模型2有显著差别、而且e是正值(即年龄组2大于基准组),那么假设一成立;如果模型1与3有显著差别而且f是负值(年龄组3小于基准组),那么假设二成立。

其实上述道理与只有一个dummy交互项相仿,你如有志从事科学研究,应该加强训练自己的举一反三能力。

如何检验两个回归系数的差别?

2009/02/13 1条评论

>

X君 @ 2009-01-23:

曾经看过你的有关“如何检验两个相关系数之差别”的帖子,很有启发。最近看了你另外的帖子“如何检验两组回归系数之间的差别”,又有新的收获。其实我还有一个问题,即如何比较一个回归模型中两个定距自变量的影响之差别。我猜想你的上述两个帖子大概已经间接回答了这个问题,但是我还是无法靠自己解决这个问题。

具体例子是我在一个回归分析中的因变量为知识水平,两个定距自变量分别为媒体使用时间和人际沟通时间。很多书上都说,比较一个回归分析中不同系数的大小,要用标准化系数(BETA)。我的回归中BETA分别为0.22和0.15。我原本以为这些数据已经足以证明媒体影响大于人际影响,但是看了你的两个帖子之后,我不知道是否还要用什么公式来检验两者的差别?谢谢。

庄主 @ 2009-02-14:

同一回归模型中的两个Beta(标准化回归系数)之区别,仅仅告诉我们该样本中这两个自变量影响大小的不同,并不说明两者的区别可以推及研究总体。如同所有其它统计检验问题一样,比较同一回归模型中各系数之间的区别也需要经过如下的统计检验过程:

1. 设立零假设:如果有关的回归模型是 Y = b0 + b1X + b2Z,那么检验其中两个回归系数之差别的零假设是:

b1 = b2 (公式一)

或者其等价公式

b1 – b2 = 0 (公式二)

其中的b1和b2是非标准化系数。

2. 确定检验统计量:由于b1-b2只反映了样本的情况,如要推及总体,需要同时考虑它们的抽样误差,也就是说,要将b1-b2的差别除以两者的Join Standard Error (联合标准误差),即

clip_image002[5] (公式三)

其中se12就是b1和b2的联合标准误差,公式三的结果服从一个以n-k-1的t分布(即用t检验)。这些已在“如何检验男女两组回归系数之间的差别”一文的第1点中说过。两文之间的不同之处是,如果b1和b2来自两个回归模型(如前文的男女分组样本),我们无法得知se12的。而如果b1和b2来自同一模型(如本例),就就可以用如下公式来求出se12了:

clip_image002 (公式四)

其中se12和 se22分别是b1和b2的variance(方差,也就是标准误差之平方),cov12是b1和b2的covariance(协方差)。

3. 设置统计显著水平:即alpha值,一般为0.05。如果样本数据的实际显著水平(即p值)小于0.05,我们就拒绝零假设,即认为b1和b2在总体中也是不同的。反之,如果p值大于0.05,我们就无法拒绝零假设,而维持b1与b2在总体中相等的假定。

4. 计算统计量的值:SPSS(或其它统计软件)回归分析结果中自然有b1和b2的值,但却并不会直接给出se12的值,我们需要先用SPSS算出公式四中的se12 、 se22和Cov12,然后再代入公式四,最后再算出公式三。在SPSS中的操作,如果写syntax,需要在Regression的指令中加上“STATISTICS=BCOV”一句;如果用菜单,需要选取”Analyze/Regression/Linear/Statistics/Covariance Matrix”。这两种方法,都是让SPSS产生一个自变量回归系数的Correlation/Variance-Covariance Matrix(如下例)。

5. 查出实际统计量相对应的显著水平,并因此决定是否拒绝零假设:此步与其它统计检验相同,故省略。

实例:

以下以SPSS所带来的Employees Data.sav来演示上述过程。我们希望用此数据来比较“先前经验”与“本公司工龄”两者对工资水平的影响之差别,也就是说要检验下述回归模型

Salary = b0 + b1PrevExp + b2Jobtime

中的b1和b2之差别。因此,

1. 零假设: b1 – b2 = 0

2. 统计量:可直接应用上述公式三,不需任何修改

3. 显著水平:alpha = 0.05

4. 求出统计量:先用下述SPSS指令做回归分析:

REGRESSION STATISTICS=DEFAULT BCOV/DEPENENDENT=salary/ENTER=prevexp jobtime.

结果分别见表一和表二:

表一、回归系数

Unstandardized
Coefficients
Standardized Coefficients
t
Sig.
B
Std. Error
Beta
(Constant)
24332.66
6376.41
3.816
0.0001
prevexp
-15.9543
7.46028
-0.09772
-2.138
0.032
jobtime
143.2172
77.55162
0.084383
1.847
0.065

表一显示prevexp(先前经验)在0.05水平上是显著的、而jobtime(本公司工龄)在0.05水平上并不显著(当然在marginal的0.10水平上是显著的)。然而,这并不保证两者在总体中一定是显著差别的,需要经过统计检验。为此,我们需要根据表二求出两者的联合标准误差。

表二、回归系数的相关与方差/协方差矩阵

jobtime
prevexp
Correlations
jobtime
1
-0.00298
prevexp
-0.00298
1
Covariances
jobtime
6014.253
-1.72302
prevexp
-1.72302
55.65577

表二是本文的重点,也是大部分用户不曾在回归分析结果中看到过的表格。该表分为上下两半部,上半部是两个回归系数的相关关系(注意这里不是两个自变量之间的相关关系,而是它们的系数的相关关系)、这对本例来说并无用处;下半部是两个系数的方差(对角线)和协方差(非对角线),这正是我们解公式四所需要的。其中,jobtime的方差6014.253就是se2、prevexp的方差55.65577就是se1,而-1.72303就是Cov12,将这三个数值代入公式四,得到se12 = 77.93173, 再代入公式三,得到一个自由度为471的t值-2.042。

5. 如果查任何一本教科书上的t表,我们可以知道当自由度>120、t大于1.96或小于-1.96时的p值小于0.05。而在网上,则有好事者提供了计算p的精确值的服务(如GraphPad Software),我在那里算出本例p值为0.0417(刚刚小于我们设置的alpha值),因此零假设被拒绝,说明先前经验与当前工龄有显著差别。至于先前经验的系数为什么是负的(即入本公司前工作年份越长、工资越低),则是该数据的特定问题,与本例无关了。

分类:统计 标签:,

如何检验男女两组回归系数之间的差别?

2009/02/09 2 条评论

>

罗拉 @ 2009-02-06:

在SPSS中以性别为分组变量做分组回归,应该如何比较回归系数的差异?

庄主 @ 2009-02-08:

如果你问的是如何解读性别的回归系数,请参见我刚发的“回归与GLM分析结果真的不同吗?”。

罗拉 @ 2009-02-08:

这个问题我想问的是如果使用SPSS将相同的回归方程分别用于男生和女生数据,比如:女生组:y1=a1+b1x+c1z 男生组:y2=a2+b2x+c2z,这时该如何看y1和y2是否等同,也就是如何得到AMOS跨组比较中模型对男女是否等同的结果呢?

小彭 @ 2009-02-09:

To 罗拉:你是要检测交互效果吗?如果是,在SPSS里面可以创造一个交互变量。在AMOS(严格说是在SEM)里,可以用多组比较的办法。

罗拉 @ 2009-02-09:

To 小彭:我是想把性别作为调节变量,在AMOS里用多组比较的方法,从结果报告的P值可以看出模型对男女是否等同,但是如果在spss里对男女分别做回归,该如何看两个方程式是否有差异呢,印象中有个公式可以判别,但是实在想不出了。

庄主 @ 2009-02-10:

To 罗拉:以下回答以你的两个公式为基础:女生组:y1=a1+b1x+c1z; 男生组:y2=a2+b2x+c2z。

1. 比较两个回归系数之间差别的公式为:(b1-b2)/se12,其中b1和b2是被比较的回归系,se12是两者的Join Standard Error(联合标准误差),其结果是一个以自由度为n-k-2的t分布(其中n是样本量、k是原来的自变量数,本案中为x和c两个)。

2. 在SPSS(其实是任何OLS回归)中,你如果将男女分成两个样本分布做回归,可以得到b1和b2,但得不到联合标准误差se12(因为b1和b2出现在不同的模型中国),所以无法用到上述公式。

3. SEM(包括AMOS)是通过比较男女样本的拟合度之差别来比较两组回归系数之间的等同性,这种方法在OLS回归中并不适用。同时,SEM的这种做法是有代价的:它将一个总样本分成两个小样本,其结果是降低了Power of Analysis (统计分析效力),从而在没有降低犯Type I的误差的同时又提高了犯Type II误差。

4. 更合理的方法是男女不分组、保留在同一样本内,将性别转换成dummy变量,再生成性别与你想比较的自变量(如X)的交互变量(如X*性别),这就是我和小彭各自发的前贴的意思。也就是说,将你的公式1(或公式2)中改成:

Y = a + bX + cZ + dS +eSX + fSZ

其中S是性别(假定男=0、女=1),SX是性别与X的交互变量、SZ是性别与Z的交互变量。如果男女在S上的取值(即0和1)代人该公式,就可以分解成以下两个公式(注意:样本还是一个):

女生组(S=1):Y = a + bX + cZ + d1 +e1X + f1Z = (a+d) + (b+e)X + (c+f)Z

男生组(S=0):Y = a + bX + cZ + d0 + e0X + f0Z = a + bX + cZ

如果d是显著的(即男女本身之差别),就说明女生在Y上的截距(即平均值)比男生高d个单位(见以下左右图的截距);如果e是显著的(即性别对X与Y之关系的影响),就说明女生的X斜率比男生大e个单位(见左下图红线的斜率);如果f是显著的(即性别对Z与Y之关系的影响),就说明女生的Z斜率比男生大f个单位(见右下图紫线的斜率)。

Interaction between sexes

注:上两图应该是合并在一个三维图,但是不容易看清楚,所以分开来画。

如何生成SX、SZ、如何防止S、X、Z、SX和SZ的共线性等具体操作问题,可参见本庄已有的好几个有关帖子。

分类:统计 标签:,