档案

Posts Tagged ‘交互影响’

如何自动多个中心化变量?

2012/03/03 留下评论
Anonymous 2012-03-03:
您好,看了您的变量的标准化与中心化有何不同?才真正了解原理。請問有無統計程式是可以方便一次針對多個變數產生其centered數值的?亦即,透過簡單點選,就把所有要做centering的變數做好了,不需一個個算?
 
庄主 2012-03-03:
我原文附件中的SPSS指令,就是一个自动生成中心化(centered)值的程序。当然,你要懂一点点SPSS指令,才能将其嵌入到你的操作程序中去。
 
我在上面的例子,为了简单起见,只涉及X和Z两个自变量。如果你有更多的变量(如20个甚至更多),怎么办?不难,只需在原来的Part 2中加上相关变量名,及用上DO REPEAT … END REPEAT的循环即可(以下红字为新加部分):
 
*Part 2: Create centered scores of X1c-X20c, Z1c-Z20c, and XZ1c-XZ20c. 
COMPUTE c=1.
AGG OUT/BREAK c/X1m to X20m=MEAN(X1 to X20)/Z1m to Z20m=MEAN(Z1 to Z20). /*Calculate mean of X1-X20 and Z1-Z20
DO REPEAT X=X1 to X20/Xc=X1c to X20c/Xm=X1m to X20m/Z=Z1 to Z20/Zc=Z1c to Z20c/Zm=Z1m to Z20m/XZc=XZ1c to XZ20c.
compute Xc=X-Xm. /*Centered X1 to X20.
compute Zc=Z-Zm. /*Centered Z1 to Z20.
compute XZc=Xc*Zc. /*Products of X1c by Z1c to X20c by Z20c.
END REPEAT.

如何控制或考虑“控制变量”的影响?(续篇)

2011/08/03 3 条评论

keykure @ 2011-08-01:

非常感谢庄主的解答,我想我的问题应该是属于第三种情况,至少要先考虑交互影响。我还有一个非常简单的问题就是,在spss里输入自变量的时候怎么来区分fixed factors, random factors 和covariates,我经常搞混淆这三者。比如我的问题中X是连续变量,是不是就不能放到fixed factors中去,只能放到covariates中?

另外,因为涉及到的数据变量比较多,所以我主要用Matlab来做统计分析,我建立了如下模型(其中X为IQ),不知道和您解释的模型是否一致?

1) to detect main effect of Age, using sex and IQ as covariates:
Yi= mean(Y)+ a1i*Age + a2i*Sex + a3i*IQ + ei;

2) to detect main effect of Sex, using IQ and Age as covariates, as well including interactions (Age*Sex, Sex*IQ):
Yi= mean(Y)+ a1i*Age + a2i*Sex + a3i*IQ + a4i*(Age*Sex) + a5i*(Sex*IQ) + ei;

3) to detect main effect of IQ, using Age and Sex as covariates, as well including interactions (Age*IQ, Sex*IQ):
Yi= mean(Y)+ a1i*Age + a2i*Sex + a3i*IQ + a4i*(Age*IQ) + a5i*(Sex*IQ) + ei.

特别是第三个模型,就是我在帖子里咨询的问题,这样的模型再做线性回归,然后考察IQ的系数a3i以及其它交互影响的系数a4i,a5i的统计意义,是否就能达到我希望分析的目的(IQ对Y的影响)?

庄主 @ 2011-08-03:

你有关如何区别fixed factors, random factors, covariates的问题,我过几天另外写个帖子回答。

你模型1是一个三项main effects模型 (”主影响“或我原文中说的”直接影响“模型),同时检验了三个自变量 (Age、IQ和Sex)的直接影响。

模型2是一个三项主影响加两项second-order interactions(二阶交互影响)的模型,这个模型其实是多余的(理由见下)。

模型3也是一个主影响加两项二阶交互影响模型,与模型2的区别在于其中一项交互影响涉及到不同变量。这个模型不是检验IQ的主影响(这在模型1中已检验)、而是检验IQ与其它两个自变量的交互影响。接下来是一个极其重要的技术细节:如何判断交互影响的显著性?这也就是你下面的问题。请往下看。

Keykure @ 2011-08-02:

庄主您好,关于上面的三个模型,再补充问一个问题,关于模型1的:模型1中没有包含任何交互影响,得到的结果是Age对Y有显著影响;但是如果在模型1中加入Age*IQ的交互影响,Age的影响就变得没有显著意义了;因此模型1(主要看Age对Y的影响)需不需要加入交互影响呢?如果加入的话,显著性消失,是否就能说明Age对Y无显著影响呢?

庄主 @ 2011-08-03:

Age对Y是否有显著的主影响?这个问题与如何检验交互影响直接有关。具体来说,有以下几个相关的问题需要考虑:

一、交互项Age*IQ与Age高度共线性,所以当Age和Age*IQ同时出现在模型3中时,低阶的Age会被人为的提高其p值(即变得不容易显著)而高阶的Age*IQ则会人为的降低其p值(即变得更容易显著)。结论:不要轻易相信模型3的各回归系数的显著性。

二、克服上述偏差的方法之一是先分别对Age和IQ进行centering(中心化转换),然后将两个中心化自变量以及它们的乘积输入模型3。我先后写过两、三个有关帖子,请参考具体操作。

三、中心化转换的前提是有关自变量的原始数值服从正态分布(至少要对称分布),否则,中心化值与其交互项之间还是有共线性,无法解决问题一。这时,可改用比较模型1与模型3的拟合度(即两个R平方)之间的差别。也请参考我的有关前贴。

四、有一种很流行的说法,即如果两个自变量之间有显著的交互影响,那么就不需要考虑自变量的主影响了。这种说法在ANOVA框架下有其道理,因为这时涉及到的是实验数据,自变量之间以及与其交互项是独立的;但在回归分析框架下是不对的,因为即自变量之间以及与其交互项之间往往存在共线性。我应该也写过一个有关帖子的。

五、重复一下:先对所有自变量做中心化转换,然后用模型1检验所有主影响,再与模型3比较来检验交互影响。

如何控制或考虑“控制变量”的影响?

2011/08/01 4 条评论

Keykure @ 2011-07-31:

庄主,您好,我最近碰到一个问题,跟下面这个帖子的问题很像,但是没有这么复杂。http://zjz06.blogspot.com/2010/03/blog-post.html (庄主注:或zjz06.wordpress.com上相同标题)
我的问题描述如下:考察自变量X,因变量Y之间的相关关系,但是这两者XY都受到两个因素Age和Sex的影响,因此给怎么建立模型来控制Age和Sex的影响?具体我该采用什么方法(比如GLM)来进行统计分析呢?

庄主 @ 2011-08-01:

你的问题中Age和Sex对X和Y的“影响”,包括了三种形式:一、直接影响;二、通过X的间接影响;三、对X->Y影响的调节影响(即与X的交互影响)。由于你没有说清是那种形式,所以我分别介绍一下,但不一定是你想问的。

一、直接影响:

这种影响最简单,说明Age和Sex分别与X相关,即有竞争关系。如果要控制它们对X->Y关系的影响,只需将Age和Sex直接加入X->Y的分析模型中即可,如:

Y = b0 + b1X + b2Age + b3Sex                        (1)

二、间接影响:

这种影响是与直接影响相比较而言的,即除了模型1之外,再估计以下模型:

X = c0 + c1Age + c2Sex                                   (2)

然后比较Age的直接影响(b2)与间接影响(c1b1),如果前者小于后者,说明有必要考虑Age的间接影响;同理,比较Sex的直接影响(b3)与间接影响(c2b1),如果前者小于后者,说明有必要考虑Sex的间接影响。

注意,我这里用的是“考虑”而非你用的“控制”,两者的区别在于:“控制”用于去除由于自变量之间的相关关系而造成的各自对因变量的直接影响的错误估计;而“考虑”间接影响并不会改变所有自变量的直接影响,当然会改变总影响(=直接影响+间接影响)。

三、交互影响:

这种影响与上述的直接或间接影响均为关系,即不管Age或Sex对Y是否有直接或间接的影响,它们都可能与X存在着对Y的交互影响。检验的方法是在模型1中加入两项交互项:

Y = b0 + b1X + b2Age + b3Sex +b4XAge + b5XSex   (3)

其中b1, b2, b3是三个自变量的直接影响,而b4和b5则是Age和Sex分别与X的交互关系。详细解释可参见我的几个前贴。

最后简单回答如何在SPSS GLM中用Syntax实现上述三个模型(如果用菜单选项,三者的差别仅在自变量的box中输入不同而已):

直接影响:Y WITH X, AGE, SEX.

间接影响: X WITH AGE, SEX

交互影响: Y WITH X, AGE, SEX, X*AGE, X*SEX

变量的标准化与中心化有何不同?

2011/06/05 1条评论

ZFB @ 2011-06-05:

现想问您一个问题,希望您能在百忙之间能给予回答,谢谢!我在看以下文献

Scott W. Campbell & Nojin Kwak, Mobile Communication and Civic Life: Linking Patterns of Use to Civic and Political Engagement, Journal of Communication 中,其中有段话:

Interaction terms
In order to carry out analyses corresponding to RQ3, this study created interaction terms between the different usage patterns and competence with mobile telephony. To reduce potential problems with multicollinearity between interaction terms and their components, all the component variables were standardized prior to the formation of the interaction terms (Cronbach, 1987; Eveland, 1997; Jaccard, Turrisi, & Wan, 1990).

这里,我想问一个问题是,为什么交互效应会跟他们的组成元素会产生多重共线性,而“all the component variables were standardized prior to the formation of the interaction terms”指的是什么呢?是标准化了组成元素变量后再进行交互效应吗?这样能减少它们之间的多重共线性吗?如何进行标准化及产生交互效应呢?

庄主 @ 2011-06-06:

你的问题涉及交互影响的理解及其操作。我曾写过几个贴子讨论有关问题,今天简单解答其中涉及到概念,有关操作细节请查一下前贴,如尚有不解之处,望再提出。

在下述回归模型中,

Y = b0 + b1X + b2Z + b3XZ + b4W                                 (公式1)

Y是因变量,XZW是自变量,而XZ是前两个自变量之间的交互项。你的第一个问题是:为什么XZ分别与XZ之间有共线性?答案很简单:因为XZXZ的乘积。你可以用自己的数据试一下。或者执行一下我附录中的SPSS文件的第一部分,XZ并不相关(r = 0.006),但XZ的乘积XZ却分别与XZ高度相关(0.673和0.679)。

降低此类共线性的一个方法是将自变量XZ分别进行如下的中心化(centering)转换,并由此而生成新的交互项:

Xc = X – Xm                                 (公式2)

Zc = Z – Zm                                 (公式3)

XZc = XcZc                                  (公式4)

其中XcZc分别是XZ的中心化值,XmZm分别为XZ的均值,XZc是中心化之后的XZ的交互项。如果用附录的第二部分来检验,可以得到以下结果:

  1. XcZc的均值都成了0、但其标准差没有变(2.051和2.012);
  2. XXc或者ZZc均是线性相关的(r = 1.000),这是因为公式2和3对XZ仅仅作了线性转换,故不会(也不应该)改变中心化值与原始值的相关关系;
  3. XcZc的相关关系还是0.006;
  4. 最重要的是:新交互项XZc与中心化值XcZc的共线性大大降低了(-0.092和-0.076)。

你引用的文献中,作者用了”standardize”(标准化)方法,即

Xz = (X – Xm) / Xs                        (公式5)

Zz = (Z – Zm) / Zs                        (公式6)

XZz = XzZz                                   (公式7)

比较公式2与5或3与6,可知标准化与中心化的区别在于前者还除以原始值的标准差(XsZs),因为标准差是一个常数,所以标准化值(公式5和6)也是原始值的线性转换,因此我们可以预期以下结果:

  1. XzZz的均值还是为0、但其标准差变了(应该为1.000);
  2. X、XcXz三者或者Z、ZcZz三者之间应该是线性相关的(r = 1.000);
  3. XzZz的相关关系还是0.006;
  4. 最重要的是:标准化值之间的交互项XZz与标准化值XzZz的共线性也降低到同样程度(-0.092和-0.076)。

如果执行附录的第三部分,可以验证上述预期。

你也许会问,标准化和中心化哪种方法更好?中心化是更普遍使用的方法,其好处是XcZc保留了原始值XZ的测量单位(如年龄的岁数、上网时间的小时数等等),所以在使用中心化值的回归模型中,

Y = b0 + b1Xc + b2Zc + b3XZc + b4W                                 (公式8)

b1b2b3分别代表的是XZ的一个单位的增加导致Y的绝对变化量。相反,标准化是通过除了标准差而消除了原始值的测量单位,所以所以在使用标准化值的回归模型中(如你引用的文献),

Y = b0 + b1Xz + b2Zz + b3XZz + b4W                                 (公式9)

b1b2b3分别代表的是XZ的一个标准差的增加导致Y的相对变化量。相比之下,中心化值更直观、更接近研究现象。当然,如果XZ的测量单位本来就是人为设置的值(如态度量表),那么两种方法之间也就没有任何差别了。

最后重复一下我在前贴中多次提到的两个问题:第一、中心化(或标准化)不是解决所有变量之间共线性的灵丹妙药,其要求原始值XZ服从对称分布 (distributed symmetrically),如果XZ的分布不对称,中心化值(或标准化值)与其交互项之间还会有共线性。如附录中的XZ不是完全对称,所以其转换值与其交互项之间还有轻度相关。XZ的分布越不对称、其转换值与交互项之间的共线性越高。这时就需要先对XZ作纠偏转换、然后再做中心化或标准化。(记住:纠偏转换是非线性转化,会对最后的回归系数之解读带来一定的困难。)

第二、中心化或标准化不会改变原始值变量XZ之间的共线性。附录数据中已反复显示这一点。事实上,原始自变量之间的共线性是一个更大的问题。我在其它帖子中已讨论过,这里就不展开了。

附录、生成一个400个案数据并检验上述假设的SPSS Syntax文件

20110606_Appendix_SPSSSyntax

为何一个自变量在总样本和分样本中的显著性不同?

2010/06/05 留下评论

>

Anonymous @ 2010-06-02:

老师:您好。我在做回归分析的时候遇到一个问题,想向您请教。假设我用一些自变量解释因变量y

y=a0+a1x1+a2x2+…+anxn     (模型1)

最后得到的结果是x1(如非农收入比重),x2(如政府补助)与y1显著相关(p<0.01)。我的指导老师希望我对样本进行分组,分为参与非农产业与未参与非常产业,然后对两个子样本分别进行回归分析。他想考察参与非农产业与不参与非农产业的情况下,x2对y的解释力是否有差异。得到两个模型:

参与非农产业的样本(样本2):y*=a0*+a2*x2*+…+an*xn* (模型2)

不参与的样本(样本3):y‘=a0’+a2‘x2’+…+an‘xn’ (模型3)

结果模型2里,x2与y之间显著相关,模型3里二者并不相关。我的指导老师就说这是因为,x2与y之间之所以显著,就是因为在样本2里二者有显著相关关系。对于不参与非农产业的样本,x2与y之间并无关系。因为我对统计知识一无所知,所以上来向老师求助。我的指导老师的说法对吗?出现这种结果还可能是什么原因?或者怎样理解这种现象?

期待您的回复,谢谢

庄主 @ 2010-06-05:

虽然你描述了很详细,但我还不敢肯定完全清楚你的数据(如Y是什么?)和以及你指导老师的意思(他的话“X2与Y之间之所以显著是因为两者有显著相关关系”好像是同义词重复?)。

我猜,你的核心问题是为什么X2在总样本和分样本1中对Y有显著影响,但在分样本2中没有显著影响?假定你是根据X1而将总样本一分为二的(因为X1没有出现在模型2或3中),那么X2只在分样本1中显著的原因有二:

一、X1与X2对Y有交互影响(interaction)。简单说来,X2对Y的影响不是一个常数,而是随着X1的值而变化,如当X1 > 0 (是吗?)时,X2对Y有显著影响;而当X1 = 0(是吗?),X2对Y并无显著影响。至于为什么会这样,则是需要用你们的专业知识来解释了。

二、由两个分样本的大小不同而造成。我们知道,相关系数或回归系数的显著性与样本大小直接有关。如果两个样本的大小不同,即使两者的相关系数或回归系数相同,其中大样本的系数可能显著而小样本的系数则可能不显著。这是一种方法上的artifact(即人为假象)。你需要检查一下两个分样本的大小是否相同。

事实上,如我在前贴(如“分样本比总样本的回归分析更准确吗?”)中指出,检查X1和X2的交互影响,不应该将样本按X1的值分成两个分样本来比较a2,而是应该在总样本(即你的模型1)中加入X1和X2的交互项(即X1和X2的乘积),用你的模型术语来表示,即为 Y = a0 + a1X1 + a2X2 + a3X1X2 + … + anXn。其中a3的显著性直接检验了a2是否随着X1的变化而显著变化,并避免了因为将总样本分成分样本而造成的人为不显著假象。

分类:统计 标签:,

如何确定两个调节变量之间的主次关系?

2010/03/06 2 条评论

>

SJ @ 2010-03-02:

祝老师您好!我是心理系的学生。在网上偶然逛到您的庄园,受益匪浅!非常感谢您的慷慨,跟大家分享您的所学所得。我最近在处理早前的一个数据,遇到困惑,不知道该怎么继续,想向您请教,先谢过。

我的数据涉及以下变量:一个自变量、一个因变量、四个假设的中介变量。另外人口统计学变量方面,考察了年龄(分成四个年龄组)和性别。我关注的是自变量如何通过中介变量影响因变量,以及这种影响是否存在年龄的发展差异。然而,我在做各个变量的相关时发现,性别跟好几个重要的变量都有显著的相关。因此我的困惑在于,我应该如何处理性别的问题。1.把性别作为调节变量,放到各个年龄组中来建立模型?2.还是每个年龄组都建立男生模型和女生模型?您觉得哪种方法更合适?具体又该怎么操作呢?

庄主 @ 2010-03-06:

谢谢与大家分享你的研究问题。这是一个相当复杂(其复杂程度应该远远超出你的预计,具体见下)的研究设计。我前天在我的课上介绍了你的问题,建议学生们来这里分享他们的看法。至今还没有人现身,也许是你的问题太难、也许是他们还没完成下周一交的作业。我先说一下解决方案的基本思路,希望他们能够接下去帮你解决方案的操作问题(同学们,这是你们给老师和学校挣面子的时候了)。

先整理一下你的问题所涉及的研究假设:

H1. 自变量X对因变量Y的直接影响(记为bYX)。

H2. X通过中介变量M1-M4对Y的间接影响(分别记为bY(M1-X)、bY(M2-X)、by(M3-X)和bY(M4-X))。

H3. 年龄A对直接影响bYX的调节作用(即A与X对Y的交互效应,记为bY(X*A))。

H4. 年龄A对间接影响bY(M1-X)等的调节作用(即A与X-M对Y的交互效应,分别记为bY((M1-X)*A)、bY((M2-X)*A)、       bY((M3-X)*A)和by((M4-X)*A)。注:因为X-M对Y是中介关系,所以A与它们的交互关系是一种被称为“moderated mediation“、即“被调节的中介关系”,相当复杂!)。

先在这里停一下。H1-H4可以用OLS回归来分析,但在SEM工具(如LISREL、AMOS等)中更方便。如用后者,需要把年龄当做组别,而将样本按年龄分成4组、通过比较组间的invariance来检验X对Y的直接和间接关系是否随着年龄的变化而不同(具体操作这里略过)。也就是说,moderated mediation关系,听起来很复杂,但在SEM中通过设置组间equality constraint的小技巧(或“小伎俩”?),很方便就能解决了。

好了,回到你最后的问题:如何检验性别S的影响?也就是检验以下假设:

H5. 性别S和年龄A对直接影响bYX的调节作用(即S、A与X对Y的交互效应,记为bY(X*A*S)或bY(X*S*A))。

H6. 性别S和年龄A对间接影响bY(M1-X)等的调节作用(即S、A与X-M对Y的交互效应,分别记为bY((M1-X)*A*S) 或      bY((M1-X)*S*A)等)。

你考虑了两种方案来检验H5和H6:一是将性别nested(嵌镶)到年龄中、二是将年龄嵌镶到性别中。表面上看,好像两者有根本区别,但实际上是一回事!性别和年龄是两个同等级别的调节变量,它们的联合影响是一种3rd-order interactions(三阶交互效应,也相当复杂),用公式来表述,如H5中的bY(X*A*S)或bY(X*S*A),前者是年龄嵌镶在性别中、后者是性别嵌镶在年龄中,但无论谁嵌镶到谁中去,bY(X*A*S)和bY(X*S*A)两者是完全同价等值的。如果用SEM来检验,也无论谁嵌镶到谁中,你总需要将样本分拆成8个组(4个年龄组X2个性别组)。当然,在解读结果时,你可以而且需要根据自己的理论框架来确定A和S之间谁主谁仆的次序。

最后,要说一下检验如此复杂模型的成本问题。如上所说,如果用SEM,需要8个组;基于每个组涉及5个自变量(X、M1-M4),按每个自变量需要20个案来计,你至少需要每组100个案,总样本800个案。当然,你的年龄组分布可能不均匀,所以总样本很可能要1000以上。如果不用SEM而用回归,可以不分组,但是变成了一个非线性模型,涉及了24对二阶交互关系和12对三阶交互关系,即使总样本有1000个案,也只少不多。样本数少了、会有什么后果?你的中介效应、调节效应和被调节的中介效应都有可能不显著。其中的最薄弱环节是中介效应(H2)。所以,建议你先将H2分成H2a-H2d四个分假设,分别检验A和S对各分假设的调节作用(= 4 X  (4 X 3 /2) X 2 = 48个组间比较,如果你想不通为什么会有48个组间比较,请详细演算一下),以简化模型。

总结:中介效应、调节效应和被调节中介效应在理论上都是很吸引人的模型,但在实证上即昂贵又难操作,需要事先有充分的思想和技术准备。

分类:统计 标签:, ,

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

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/11/15 留下评论

台灣吳同學 @ 2009-11-13:

老師您好,我是台灣的學生,對您的統計解釋相當有興趣。最近我遇到了一個問題,我嘗試把他說清楚,希望您可以幫我解惑。

在我的logit model裡頭,有兩個類別變數,分別為性別與教育程度。其中,性別是男女二分變數(男=1,女=0),而教育程度則分為低,中,高三類(中=0).我的依變數是收入,分為低與高兩種(低=0).假設,我想探討性別與教育程度的交互作用(性別X教育程度),我的交互作用項只能把1.男X低教育和2.男X高教育放入模型中,請問我的交互作用項在這時候的參照類是什麼?是1.男X中教育? 還是2.女X中教育?

另外,也想知道要如何解讀交互作用項B和EXP(B)的意義。希望您能看得懂我的問題,謝謝!

庄主 @ 2009-11-15:

吴同学,从统计上来说你的问题并不难,但要解释清楚却简短不了,而且有点绕弯弯(所以提醒读者随手做些推算验证,以免绕不出来)。我把这类问题叫做technically simple but practical not trivial (技术上很容易但操作上不简单),往往会被人疏忽或轻视,所以不容易找到答案。如你问的,实质上是一个“如何解读回归分析中交互项的系数?”的问题,对此我已写过好几个帖子(如“如何在回归分析中检验和解读交互影响?”)。但是,你由于下面谈到的若干误解而对这个问题产生困惑,也许已问过其他人或查过其它参考文献,但却不得而知。

我觉得你的困惑可能有三个来源混合而成:第一,你的因变量(dependent variable)不是收入本身、而是高收入与低收入之比例的对数,但无论你根据什么理由来如此构建因变量,你的问题与因变量性质无关,也就是说交互项的对照组问题在包括OLS、GLS、Logit、Probit、Logistic等等所有回归分析中是一样的。所以有关如何解读回归分析交互影响的文献(包括我自己的有关帖子)都是直接相关的。

第二,你的两个自变量都是nominal scale (名目变量) 而不是更常见的interval scale (等距变量),而且你用了dummy coding(哑变量编码)方法,但你对这种编码的原理了解不够(很多人都有同样问题),所以无法将如何解读定距变量交互影响的文献转换成你的答案。

第三,也许是最重要的,是你将交互影响等同于main effects(主效应)影响了。此话怎讲?你知道一个名目自变量转换成哑变量之后,其回归系数描述的是该哑变量取值为1的“研究组”与取值为0的“对照组”之间在因变量Y的平均值上的差别。这种理解完全正确。但是,你将其推广到对交互项系数的理解上去了,所以会问该系数是跟哪个对照组在比较?

为了有助其他读者理解你的问题,我用以下公式来表述你的回归模型:

Y = b0 + b1M + b2H + b3L + b4MH + b5ML                         (1)

其中,Y是因变量的平均值(注意:为了写作方便,本文没有按惯例在Y上加一横杆来代表平均值),M是性别(因为Male=1,所以命名为M),H是高教育程度(High),L是低教育程度(Low),MH是你说的“男X高教育”的交互项,ML是“男X低教育”的交互项。b0是在性别和教育两个变量中同时担任对照组(即同时取值为0)的FM(女性中等教育)组的均值,b1是男女差别(即性别的主效应,注意:这句话在有交互影响条件下有问题的,见后面的简单讨论)、b2是高教育与中教育的差别(高教育主效应,注意:这句话在有交互影响条件下也是有问题的,见后面的简单讨论)、b3是低教育与中教育的差别(低教育主效应)、b4是性别与高教育的交互影响、b5是性别与低教育的交互影响。

上面这段话中,大都分都是常识,唯一需要加以讨论的是什么叫做“性别与高(或低)教育的交互影响”。以b4为例,它反映的是“性别对高等-中等教育程度之间差别的影响”、或倒过来说,是“高教育对男女之间差别的影响”(这两种说法是等价的)。也就是说,b4描述的是高和中教育组之间的差别大小、在男性和女性之间是否相同;或者,男女之差的差别大小在高和中两组之间是否相同。这个意思,中文里说确实有点绕弯弯,用英文表述则相当清楚: b4 indicates whether the difference between the highly-educated and moderately educated groups is constant (uniform, equivalent, invariant, etc.) for men and women, respectively; or whether the difference between men and women is constant (…) for highly educated and moderately educated people, respectively. 

这是问题的核心:主效应系数(b1-b3)反映的是组间差别,所以有研究组和对照组;但是交互项系数(b4-b5)反映的是组间差别的差别(difference between diffrences between groups, or difference between group-differences),所以没有主效应系数意义上的对照组。也就是说,b4或b5反映的不是两个组之间是否有差别,而是两个组间差别之间是否有差别,所以不需要有、也不可能只有一个对照组。

问题解决了吗?应该还没有。我希望大家能够记住两句话:一、交互项系数反映的是交互影响而不是组间差别(即“交互影响不等于组间差别”);二、组间差别又是与(显著的)交互影响直接有关的。为了说明第二句话,我们来看看在交互项显著的条件下组间差别是如何计算的。我们可以根据模型1,写出计算你的六个组(= 2个性别组 x 3个教育组)的平均值Y的公式:(请大家拿出纸和笔来,将0和1值分别代入模型1,以复核实下述公式。光看不练,也许越看越迷糊。)

男高(MH): YMH=b0 + b1x1 + b2x1 + b3x0 + b4x1x1 + b5x1x0 = b0 + b1 + b2 + b4 (2)
男中(MM): YMM=b0 + b1x1 + b2x0 + b3x0 + b4x1x0 + b5x1x0 = b0 + b1 (3)
男低(ML): YML=b0 + b1x1 + b2x0 + b3x1 + b4x1x0 + b5x1x1 = b0 + b1 + b3 + b5 (4)
女高(FH): YFH=b0 + b1x0 + b2x1 + b3x0 + b4x0x1 + b5x0x0 = b0 + b2 (5)
女中(FM): YFM=b0 + b1x0 + b2x0 + b3x0 + b4x0x0 + b5x0x0 = b0 (6)
女低(FL): YFL=b0 + b1x0 + b2x0 + b3x1 + b4x0x0 + b5x0x1 = b0 + b3 (7)

模型2-7告诉我们如何计算六个组的平均值。为了便于计算它们之间的差别(更重要的是洞察它们之间的结构性关系),我们将模型2-7按以下方式重新安排一下:

表一、性别与教育程度交叉组的回归系数比较

 

M(男性)

F(女性)

H(高教育)

b0 + b1 + b2 + b4   (2)

b0 + b2       (5)

M(中教育)

b0 + b1                 (3)

b0              (6)

L(低教育)

b0 + b1 + b3 + b5   (4)

b0 + b3       (7)

根据表一,我们可以很轻松地(目测)算出各组的差别。基于共有六组,共有 6 x 5 / 2 = 15对组组比较,我们用以下的矩阵形式来表示,以省些空间:

表二、组间差别之计算方法

 

MH

MM

ML

FH

FM

MM

b2+b4

ML

b2+b4–b3-b5

-b3-b5

FH

b1+b4

b1–b2

b1+b3+b5-b2

FM

b1+b2+b4

b1

b1+b3+b5

b2

FL

b1+b2+b4-b3

b1-b3

b1+b5

b2-b3

-b3

注:所有组间差别均由column group – row group(列标题中的组减去行标题中的组)构成。如MH-MM = b2+b4。如果想求行组减列组,只需将表二中所有系数的符号相反即可。

由表二可知,只有三对组间差别是直接由回归系数告知的 (MM – FM = b1, FH – FM = b2, FM – FL = –b3;注意,这里的b1只反映中等教育程度上男女之间的差别、而不是所有教育程度上的男女差别;b2和b3只反映女性中不同教育程度的差别、而不是所有人中不同教育程度的差别,这就是我前面提到的对主效应系数的一般解释“在有交互影响条件下有问题的”的原因),而且三者均只涉及主效应系数。另有两对组间差别是由两个主效应系数的组合而成 (MM – FL = b1 – b3, FH – FL = b2 – b3)。其它10对组间差别均涉及主效应和交互项系数的组合。其中尤其是MH – MM的差别,需要同时用到b4和b5两个交互项系数。

这个练习说明什么?既说明交互项系数不等于组间差别、又说明(大部分)组间差别与交互项系数有关系。具体说来,这种“关系”,是附加在主效应系数的基础上产生的,也就是说交互项系数是对一对主效应关系的adjustment(调整)。其调整程度(微调或巨调)则有b4或b5取值决定。

现在,问题解决了吗?也许有些读者还是有点迷糊,觉得名目变量交互分析好麻烦。对的,这就是我一开始说的“技术上容易操作上难”的道理。推而广之,凡涉及名目变量的多元分析(如loglinear modeling、multinomial logistic regression、等等),没有一样不是技术上容易操作上难的。大家要有充分的心理准备。

在本例中,将问题变得相对简单(或容易?)一些的一种方法是不用哑变量编码、而用effects coding(效应编码?)或 contrast coding(配对编码?)。前者用+1定义研究组、-1定义对照组;后者则按一定的限定条件(恕不赘言)来设定任意两组或两集合组(如本例中高教育对中低教育)的比较。由两个效应编码变量构成的交互项反映了在该两个变量上取值为+1的研究组与所有组的(未加权)均值(虽然不一定等于样本均值、但接近“平均”的意思)之差别(如在本例中,可以是男性高教程度与样本“平均”的差别);由两个配对编码变量构成的交互项则反映了被特定配对的两组或两集合组之间的差别(在这种条件下,交互项系数可以等于组间差别了)。当然,这两种编码(尤其是后者)比哑变量编码在操作上复杂很多、但好处是解读时简单。如果有意学习(或者经常要做)名目变量多元分析的读者,应该花时间分别学一下。(当然,必须说明,不够使用哪种编码方法,交互项的显著性结果是完全一样的。它们的差别只存在于SPSS或其它统计程序输出结果中的系数值,而不同的系数值都是可以互相换算的。)

结束前,为完整起见,需要说明,这里虽然只讨论两个名目变量之间的交互项,其原则可以直接推广到三个或更多个名目变量之间的交互项。

最后,你问如何解读“交互作用項B和EXP(B)”,上面已经讨论了b4-b5的解读。Exp(b)的解读与其相仿,唯一区别在于后者的临界点为1而前者为0,如Exp(b4) > 1或Exp(b5) > 1 反映教育程度的差别在男性中大于女性;相反,如Exp(b4) < 1或Exp(b5) < 1则反映教育程度的差别在男性中小于女性。

如何解读一个交互影响显著而简单斜率不显著的回归模型?

2009/08/29 留下评论

Anonymous @ 2009-07-30:

Hi, Dr ZHU, I may want introduce myself first, I am a Phd Candidate from your university majoring in xxx (EDITED BY 庄主). I find your forum by accident and I have read some reviews on it, I really feel it is a good place to know more statistics knowledge.

I want to ask one question about the interaction effects of two independent variables (or we may also can say the moderating effect of one independent variable and one moderator, I may name them "A" and "B") on one dependent variable (I may name it "C"). I first use the traditional method, OLS- multiple linear regression in SPSS to run the produced term A*B’s effect on C, I got a significant result, the T value is around 2.2 thus the P<0.05.

Then I further explore the internal mechanism of the interaction effect by using Cohen and Cohen (1983), Aiken and West (1991) and Dawson and Richter’s (2006) Simple Slopes Test [this method is designed for interpretation of the interaction effects of two continuous predictor variables, by this way one could interpret the significance level of the causal relationships between independent variable and dependent variable under high or low level of the moderator. To illustrate and test the significant interaction effects, separate regression lines were computed, plotted, and tested with one standard deviation below the mean on the moderating variables as well as one standard deviation above the mean of them.], this time I find the causal relationship between A and C is insignificant both under high B and low B level, in fact the coefficients take the opposite direction. Under high B level the coefficient between A and C is negative but insignificant, under low B level the coefficient between A and C is positive but insignificant.

I originally explain the significant moderating effect is: although under both high and low B level the causal relationship between A and C is insignificant, but because of the opposite coefficient, thus the moderating effect (A*B) may still be significant. But current one famous professor rejected my explanation; he told me that the results were inconsistent: 1. from one side, the moderating effect is insignificant. 2. form the other side, both under high and low B level, the causal relationship between A and C is insignificant thus can be treated as no relationship. How can you say them taking moderating effect first and later told us the effects were equal (A and C have no relationship) under both conditions (high and low B level)? Thus I am a little confused, as you know, in many cases, run the linear regression will meet such question as I described, so commonly how can we explain this phenomenon to cope with the journal reviewers’ critique on this issue?

Many thanks!

庄主 @ 2009-08-29:

Thanks for the detailed explanations of your question.  It’s satisfying to know that someone of my own institution also reads this blog. Sorry for the delayed response as I’ve been traveling in the summer. To benefit other readers who might not be efficient in English, please allow me to reply in Chinese.

先简单回顾一下你的问题。你有模型1

C = b0 + b1A + b2B + b3AB                       (1)

其中A、B和C都是定距变量。你用OLS回归检验,发现b3(还是b1或b2?)的t值 = 2.2 (p < 0.05),即AB对C有显著的交互影响。为了进一步理解这种交互关系的“内在机制”,你采用了Cohen & Cohen等推荐的“简单斜率检验法”(test of simple regression slope),即根据模型1的结果,将B的均值±1个标准差的值(分别记为BH和BL)代人模型1,来算出以下两个简单回归模型的斜率:

C = b0 + b1A + b2BL+ b3ABL = (b0 + b2BL) + (b1+ b3BL)A             (2)

C = b0 + b1A + b2BH+ b3ABH = (b0 + b2BH) + (b1+ b3BH)A           (3)

说明:因为BH和BL均是一个常数(而原来的B是一个变量),所以它们代入模型1后而得到的模型2和3,经过整理以后,都成为只含自变量A的一元(或简单)回归模型,而模型2中的b1+ b3BL和模型3中的b1+ b3BH就是你说的的简单斜率(就是我用蓝色标明的部分)。这时,你发现模型2的简单斜率b1+ b3BL成了负值而模型3的简单斜率b1+ b3BH仍是正值。你进一步对这两个斜率作了显著检验,发现两者均不显著。你的结论是“虽然A在调节变量B的不同条件下对C都没有显著影响,但是A和B的显著交互影响仍然存在”。但是,一位著名教授不同意你的说法,理由是:一、你的交互影响不显著(我不理解这句话,因为它与你说的模型1中的t = 2.2有矛盾);二、A在B的不同条件下对C的影响都不显著。(不知我的上述理解是否有误?)

好了,现在谈谈我的看法。

首先,我有两处不清楚:一、如我已在上面问过,模型1中显著的是b3还是其它系数?二、你还没有提到,模型1中的A、B和AB是否为各自的centered values(“取中值”,以避免或降低AB与A、AB与C之间的相关程度)?鉴于你已读过Cohen & Cohen, Aiken & West等经典文献,应该熟悉检验交互影响的基本步骤,所以我的回答是基于以下假定的:一、你说的模型1中t = 2.2的显著系数是b3;二、模型1中AB与A、AB与C之间并不相关(这点很重要,不然、假定一是没有意义的)。

如果上述两个条件成立,那么你的A和B在样本中对C就是确实具有显著的交互影响。当然,因为你的t值接近临界值(1.96或更大),AB的交互影响应该是marginal(相当勉强)的,所以要审慎对待,至少要检查一下A的数据中是否存在异常值;如有异常值,则需要剔除后再次检验模型1,看看AB的影响是否继续保持显著,已确保该模型的robustness(“鲁棒性”)。

你的主要困惑(也是你教授理由之二)在于:为什么在模型1的b3显著的前提之下,模型2和3的斜率不显著?这里存在一个许多教科书上没有明确解释、但初学者往往容易误解的事实,即AB之间的显著交互关系只是说明自变量(A)对因变量(C)的主影响(main effects)将随着调节变量(B)的取值而变化,但并不保证在B的不同取值上A的所有主影响都是显著的(但至少有一个取值上A的主影响是显著的,否则AB不可能显著)。用英语说,A significant interaction effect ensures not only the main effect of an independent variable on a dependent variable varies across different levels of a moderator variable, but also at least one of the main effects is significantly different from zero. However, the significant interaction doesn’t guarantee all main effects of the independent variable on the dependent variable to differ significantly from zero. 我们很容易用以下的图示来说明这个道理。

image

左图是我随手画的,其中有五条回归线,但都是根据同一模型(如你的模型1)而取B的最大值(Max)、最小值(Min)、均值(Mean)、均值减一个标准差(你的模型2)、均值加一个标准差(你的模型3)而画出的。虽然没有实际数据,但可以大致猜出五条回归线所依据的模型1的b1和b3的取值范围,即b1(即A的总斜率)应该等于0,b3(即AB的交互影响)则明显大于0(因为A对C的影响是放射的、即随着B的增加而增加)。当然,我们并不知道(也无必要知道)b0和b2的取值范围,因为它们与本案毫无关系。

图中B=均值的回归线显然是一条水平线,所以是不显著的(即斜率等于0)。而B=均值加/减标准差的两条线,虽然并非水平线,但也很接近,考虑到各自的抽样误差(注意,不要与标准差相混淆了)而其斜率与0没有显著差别(也许你的数据就是这种情况)。但是,B=极大值/极小值的两条线的斜率显然不等于0。如果我们再添加B=均值+/-2个标准差的两条线,可以想象它们的斜率也会不等于0。结论:当A和B对C有显著影响时,A对C的影响随着在B的取值而变化,有些显著而有些可能不显著。

以上是直观的解释。我们还需要略正规一点地总结一下。回到模型2和3,注意其中的蓝色部分(即各自的斜率)。它们是否=0,是由下述公式来检验的:

image

 

 

image

其中Varb1和Varb2分别是b12的方差、Covb1b3是b12的协方差。我们略过如何计算系数的方差和协方差的技术细节,而来看一下如何使得tL和tH达到显著水平(即大于2)。不言而喻的是分子要大而分母要小。就分子而言,从表面上看b1、b3和BH或BL三者均要越大越好,但更重要的是要三者取同样方向,否则会互相抵消(这不容易做到,尤其是当数据经过中心化处理之后,BL一定是负的,而b1或b3的方向也会因A或B的中心化而与原始数据的方向相反)。而且,调节变量的取值(BL或BH)也不是越大越好,因为同时也会扩大分母。结论:tL和tH的取值受到很多正反因素的影响,很难做到永远显著。但是,这与b1是否显著没有一一对应关系。

最后,你问如何使得期刊的reviewers接受你的解释。是的,有些(如果我用“很多”的话,大家可能会觉得我太狂妄,但是事实上“有些”不是一个小数目)reviewers也会将交互影响等同于主影响,所以你不仅要自己弄得很清楚,而且要说得很明白易懂,这时,公式和图表就是必要的辅助工具了。如何写好交互影响的报告,确是一个挑战。多读几遍Cohen & Cohen吧(他们的第三版就邀Aiken和West加盟合写了)。

分类:统计 标签:,

如何处理和解读三角关系中的扭曲变量(distorter)?

2009/06/12 留下评论

>

龙猫 @ 2009-06-08:

庄主好,日前在研究中遇到一难题,想请您赐教。自变量ABCD通过中介变量E影响因变量F,但加入自变量G后导致E到F的路径系数由原来的显著正相关变成了负值,不知如何解释和处理?我自己的推断是G变量对F变量的解释力过强,压制了E变量对F变量的影响,但我不确定这样推理对不对。另外,也不知如何处理这类问题。故在此请教庄主,谢谢您。(注:研究的样本量为320,
测题数目为30.)

庄主 @ 2009-06-13:

为了便于其他读者的理解,我根据你的叙述,将你的两个模型分别复原在图1a和图1b中(注:图b中红线部分为我所加)。由于你没有说明G与A-D的关系,我假定G不是从A-D到E的另一个中介变量(如果是,问题会更复杂一些)。也因为如此,你的问题其实只涉及E、F、G的三角关系,与所以我加了一个红框,以下来集中讨论三角关系中可能出现的各种问题。

image

再重复一下你的发现:在没有控制G之前,bFE是正值;而引入G之后,b’FE(注意b的上标中的“’”记号)成了负值。你认为G是一个压抑变量(suppressor),不知如何处理G。

先讲讲三角关系的基本原理:

  1. 一个第三者(G)当且仅当同时满足以下两种条件时,才会改变原有自变量(E)和因变量(F)的关系:一是G与E相关、二是G与F相关。(你的数据看来同时满足了这两条。)
  2. 所谓“改变原有关系”,包括了三种不同的变化:一是改变了significance of the relationship(显著水平,即b值从不显著变显著或反之);二是改变了strength of the relationship(强度,即b值从小变大或反之);三是改变了direction of the relationship(方向,即b值从正变负或反之)。注意:这三种变化不是互斥而是独立的,即三者中的任何组合都可能同时发生。(你只说了你的数据中出现了方向的变化,不知原有关系的显著水平或强度是否也有变化?)
  3. 所有上述三种情况的变化,都说明E和F的原有关系是spurious(虚假)、靠不住,而引入第三者G是必要和合适的。(即你的模型a是错的而模型b是对的,应该接受后者,哪怕后者否定了你原先的假设。其实,对有经验的研究者来说,后者的出现更令人振奋,因为突破也许就在其中!)
  4. 第三者的角色,根据上述不同变化而分为distorter(扭曲变量)和suppressor(压抑变量)两种,当然也可能是两者兼顾(详见下表)。简单说来,扭曲变量的缺失导致了Type I的错误(如不应该显著的成了显著、微弱关系的成了强势关系、正的关系成了负的、负的成了正的,等等);而压抑变量的缺失则导致了Type II的错误(如应该显著的成了不显著、强关系的成了弱关系、等等)。大家知道,Type I后果更严重,所以对扭曲变量的控制更有必要(也正因为如此,发现扭曲变量往往会令人兴奋甚至亢奋。)

表一、压抑变量与扭曲变量之一览表

G as a Suppressor
G as a Distorter
Change in Significance-level
Nonsig->Sig
Y
Sig->Nonsig
Y
Change in Strength
Small->Large
Y
 
Large->Small
Y
Change in Direction
Postive->Negative
Y
Negative->Positive
Y

Source: J. J. H. Zhu (2009), All rights reserved.

回到你的数据,很显然,G是一个扭曲变量,所以一定要引入模型,原先的bFE是错的而b’FE是对的(当然,假定没有其它第三者的缺失)。至于G是否也是一个压抑变量,则要看bFE和b’FE的数值和各自的显著水平才能知道。你不妨补充报告一下,以飨读者。

也许你还会问,为什么G会改变原先关系的方向?我记得曾在以前的帖子中讲过(但一下子搜不到),G与E(即rEG)或G与F(即bFG)的两对关系中,必定(而其只能)有一对是负的(请你验证一下)。这是因为任何一组完整(即此外没有其它显著的第三者)的三角关系之乘积(即rEG X bFE X bFG)必须为一个正值(见图2)。传播学中的cognitive dissonance理论就是据此而来的(以下12字为广告:详见我译的《大众传播模式论》)。

image

如果想更进一步探讨这种三角关系的话,那么可以将G当做是一个交互变量来处理(事实上G与E的交互项往往就是显著的),其结果大多有助于解开这种扭曲现象之谜。我记不得是否曾经说过,一般说来,交互影响比中介影响更有“革命性”意义。That’s why I was excited, rather than depressed, when reading your message.

如何检验一个同时为调节和中介的变量?

2009/05/01 留下评论

>

Anonymous @ 2009-04-22:

祝老师您好: 我想请问两个困扰很久的问题:1.是否可能存在着这样的情形:在变量a对变量b有影响的前提下,变量c对它们之间关系的中介效应和调节效应同时存在?2.在用SEM做全显变量路径分析时,应该怎样看待这些拟合指数,是否和做CFA或结构模型的标准完全一样?

庄主 @ 2009-05-01:

我还没有见到过这种理论或这类数据。我估计,如果有某理论能合理假设出这种情形(你能否举个例子?),test(检验)并不难(见以下讨论),但却很难verify(证明),因为交互关系和中介关系各自都是不容易验证的小概率事件、而两个小概率事件交将是一个特小概率事件(传说中的“黑天鹅”事件?)。

说说如何检验交互关系+中介关系吧。当然需要借助公式和图像来说明。为了与为我其它帖子使用的符号一致,我将你的a、b、c分别改为X(自变量)、Y(因变量)和Z(调节和中介变量),并生成XZ(交互变量)。以下分别是交互关系、中介关系和交互+中介关系的模型:

image

注意:为了简便起见,三个模型都省却了常数项。模型a和模型c中的X、Z、XZ之间都假定为0相关。模型2和模型3中的b1也都假定为0。

模型1和模型2是用来说明模型3的来历,而模型3是需要被检验的模型,具体步骤为:

1、中介关系的检验:估计模型3(包括b1)、然后设b1为0,比较两者的拟合度,如果没有显著差别,则说明b1=0;如果b2和b4同时显著地不等于0,并且b2b4显著地大于b1,则中介关系成立(具体参见如何检验两个中介变量的效应?和其它帖子);

2、交互关系的检验:估计模型3(包括b1)、然后设b3为0,比较两者的拟合度,如果没有显著差别,则说明b3=0、反之,如果有显著差别,则说明b3不等于0、即Z对X与Y的关系有交互作用(具体参见以前发过的好些交互影响帖子)。

如果X、Y、Z都是直接观测变量,那么上述模型只是不含测量模型的路径分析,可以在SEM来做、也可以用经典的OLS回归来做(即分别执行图c标题中的两个公式就是了),其结果完全一样。SEM的拟合度可以用卡方值或R平方、而回顾的拟合度则用R平方。但是,这时的SEM的卡方值与CFA的卡方值之含义完全不同,前者是结构模型中因子之间的关系而后者是测量模型中因子与观测变量之间的关系。

如果X、Y、Z中有带观测变量的隐含因子,问题就复杂了很多,因为现有的SEM模型对交互项(XZ)没有完善的处理方法,一般是采用分组方法,即将样本按Z的不同值分成若干组,分别估计图b,然后通过比较各组b3的差别来验证Z的交换作用。

共同影响与交互影响是一回事吗?

2009/04/13 留下评论

>

LH @ 2009-04-03:

我看了你最近的博客如何处理和报告含高度相关自变量的回归分析?,有一个疑问,如下:

Y = b0 + b1A + b2B + b3AB + e                   (公式六)

得到R62。这个跟R12是什么关系呢?R62不应该是包含了A的贡献,B的贡献和AB交互贡献的总的公式吗?

假如我的研究问题是想搞清楚AB的共同影响,您的原文中说“Δ3 = R12– R42 – R52”,“Δ3反映了A和B的共同影响”,那么R62– R42 – R52又是什么呢?

我是不是搞混了“交互作用”和“共同影响”?

b3AB中的b3是“交互作用”,而Δ3是共同影响?

或者这两个词是一回事,我在别的地方弄错了。

您看这样的理解对不对:对b3AB中的b3关注的是AB交互对回归系数的影响(放大或者缩小),而对Δ3的关注是关注AB对回归方程effect size的影响。而对Δ3研究effect size影响的时候,应该采用公式一Y = b0 + b1A + b2B + e ,而非公式六?

但愿我没有越说越糊涂。

庄主 @ 2009-04-12:

一、公式1与公式6之区别:原文公式1(Y = b0 + b1A + b2B + e )只含A和B的main effects(主影响),而公式6加入了A X B的interactions(交互影响)。所以,前者是“主影响模型”而后者是“交互影响模型”。显然,这两者是nested,即前者是后者在b3(即交互影响)=0时的一个特例。所以,我们是通过(R62– R12)/R62来检验交互项是否显著的。

二、R62– R42 – R52又是什么呢:公式4和公式5都是公式1的一个特例。公式4(Y = b0 + b2B + e)是公式1在A的net effects(独立影响)=0时的特例而公式5(Y = b0 + b1A + e)在B的独立影响=0时的特例。因此,两者也是公式6的一个特例。R62– R42 – R5= 交互影响 + A和B共同影响。

三、交互影响与共同影响之区别:两者是完全独立的两个概念,不要搞混了。(当然,你即不是世上第一个、也绝不会是最后一个混淆两者的人。)由于经常与人辩论这个问题,我最后找到一个简单而又有力的例子:含A和B两个自变量的factorial experiment正交实验),在此条件下,A和B是完全无关的(为什么?考考你),即两者对因变量只有独立影响而无共同影响(即 Δ3= 0);然而,分析正交实验数据时,我们一定要检验A和B之间的交互影响,结果有时显著、有时不显著,这就不说明交互影响与共同影响是无关的两回事吗?(我好像写过一个类似的帖子,但一下子查不到了。知道的读者帮帮忙吧)

四、共同影响是什么东东:我写过N个帖子讲交互影响,你的上述理解是对的。这里讲几句什么是共同影响。首先,这个名词容易误导。英文中不是“common effects”,而是confounding effects, overlapped effects, shared effects(干扰、重合、共享等等)。它并不是什么好东西,甚至连“东西”都不是,因为它不含任何信息,只是一个即属于A也属于B的混沌世界(但真正的混沌是有信息、可以解的),也许称为“灰色地带”更准确(相信很多读者对在政策灰色地带中生活有深切感觉)。

当然,“灰色地带”有多种来源,如A和B缺乏discriminant validity(差异效度)、A和B受到第三者变量的影响下、A和/或B中含有偏向对方的系统性误差,等等。不管来源为何,其直接影响了模型的理论解释力(当然并不影响模型的预测能力),所以一般是想方设法减小(而不是“研究”)AB之间的“共同影响”。

你的最后一段文字,大意对、但表述不准确。如果按我上述说法,应该如何改一下呢?

附录:

为了演示“交互影响与共同影响是完全独立的两个概念”,我用SPSS设计了一个正交实验的模拟数据,样本N=400,A和B完全独立、而且A、B与其交互项AB也完全独立,同时A、B、AB分别解释了Y的三分之一变差(当然只有在模拟的理想世界中才可能发生)。你运行一下,查看输出的相关矩阵和回归结果来验证一下。最后,如果你琢磨一下crosstabs的结果,应该可以找到我上面有关为何正交实验的自变量之间是完全独立的原因。

set seed=123.
input program.
loop #i=1 to 400.
compute ID=#i.
end case.
end loop.
end file.
end input program.
do if ID<=100.
compute A=-.5.
compute B=-.5.
else if ID>100 and ID<=200.
compute A=-.5.
compute B=.5.
else if ID>200 and ID<=300.
compute A=.5.
compute B=-.5.
else if ID>300.
compute A=.5.
compute B=.5.
end if.
cross A by B.
compute AB=A*B.
compute Y=AB*.5+A*.25+B*.25.

cor A B AB.

*Model 1 (R-square=.667).
reg dep=Y/enter A B.

*Model 4 (R-square=.333).
reg dep=Y/enter B.

*Model 5 (R-square=.333).
reg dep=Y/enter A.

*Model 6 (R-square=1.000).
reg dep=Y/enter A B AB.

分类:统计 标签:,

分样本比总样本的回归分析更准确吗?

2009/04/11 留下评论

>

罗拉@2009-03-30:

祝老师,1.这个问题是上次“如何检验男女两组回归系数之间的差别?”的延续,性别是调节变量,影响了自变量和因变量关系的方向,生成性别和其他两个变量的交互项进行统计解释率为21%,但是分性别统计时,女生为20%,男生为33%,这时是不是分性别统计更准确呢?

2.自变量为两个分类变量(性别,年级),因变量为二分变量(稳定,不稳定),我现在用RC表统计的,但是如果要考虑性别和年级在因变量上的交互效应该如何做呢?

庄主@2009-04-11:

先叙述一下罗拉的问题1:他/她想检验的模型为

Yi = b0 + b1X1i + b2X2i + b3Zi + b4X1iZi + b5X2iZi (公式1,i = 1 ~ N)

其中Y是因变量、X1和X2是自变量、Z是作为调节变量的性别,用于某一样本(记为N),其回归方程的R平方(记为R21)为0.21。如果将样本N按男女分成两个分样本(N1和N2),分别用以下模型做回归

Yi= b0 + b1X1i + b2X2i (公式2, i = 1 ~ N1)

Yi= b0 + b1X1i + b2X2i (公式3, i = 1 ~ N2)

(注意:性别Z在两个子样本中都是一个常数,即在男性中=1、女性中=0,所以公式2中没有b3Z、b4X1Z和 b5X2Z三项。)其R平方(分别记为R22和R23)分别为0.20和0.33,前者略小于R21、但后者则明显大于R21

(罗拉及其他网友:如果下次你有疑问,能否将问题按类似的详尽程度叙述出来?这次我完全看懂罗拉的问题、但担心有些读者看不懂,所以详细写出来;但有时我也不大或完全看不懂问题。)

罗拉的结论“分性别统计更准确”涉及几个误解。第一,就R2而言,R22和R23合在一起与R21是等值的,这是因为R21是R22和R23加权平均数(weighted mean)。本例中R21非常接近女性组的R23而遥遥远离男性组的R22,这应该是女性人数明显多于男性人数而造成的。

注意:上述公式1和公式2+公式3是等值的;但是如果在公式1中拿掉与Z有关的b3-b5三项,即

Yi = b0 + b1X1i + b2X2i (公式4, i = 1 ~ N)

公式4与公式2+公式3是不等值的。公式1是一个含交互项变量的模型。公式2+公式3是公式1的分拆,所以是一组隐含交互项的模型。而公式4只含主影响,R24会小于R21或R22和R23的加权均值。大家不要将公式1与公式4混淆了。

第二、虽然分样本的R22和R23与总样本的R21等值,但是由于分样本的个案数(N1和N2)小于总样本数,所以总样本的回归结果要比两个分样本的结果更精确(即样本大则误差小)。

第三、虽然对两个分样本的b0、b1或b2作比较很直观,但是这种比较并不能告诉我们两者之间是否存在显著差别,而总样本(即公式1)中的b4和b5分别直接检验了Z与X1及Z与X2的交互影响(详细参见如何检验男女两组回归系数之间的差别?)。

罗拉的问题2,与问题1的唯一区别是因变量是dummy变量,自然不能用经典的OLS回归而应该用Logistic Regression等工具。但是对两个自变量(其实是一个自变量和一个调节变量)之间的交互影响的检验和展示,与问题1以及本庄有关交互影响的三、五个帖子完全一样,恕不赘言。

如何绘制调节效应的图形?

2009/04/11 留下评论

>

无名氏 @ 2009-04-09:

我是一名应届毕业生,人力资源管理专业,目前在做关于调节作用的毕业论文。向您请教一个问题,“如何绘制调节效应的图形”?谢谢您,祝开心!

庄主 @ 2009-04-10:

这个问题,其实就是如何用图形表示交互关系。而最常见的图形则是直线图(line chart,相信你多半见过),其中Y轴是因变量、X是自变量、图中至少有两条线,每条线代表调节变量(moderator variable)的一个组(更精确地说,是X与Y在该组数据中的关系)。这种图很容易画,可能的难点在于如何设定每条线的斜率,解决方法是先解析出每条线所对应的回归方程,余下的步骤就是小菜一碟了。以下举几个例子来说明。

一、调节变量是一个二分的定类变量(dichotomized nominal variable):

image

假定你的回归方程是 Y = b0 + b1X + b2Z + b3XZ,其中Z是调节变量、含有两个组别(如男女,分别取值1和0,当然也可取1和2或其它数值,但如下述,取1和0会简化结果的解读和制图)。再假定你的回归结果是b0 = 9.7, b1 = 0.3, b2 = 9.7, b3 = -9.1(这里的系数都是为了制图方便而编出来的),那么,男女两组的方程分布是 Y = 19.4 + 0.6X 和 Y = 9.7 + 0.3X(具体过程略过,但你应该逐步演算一遍,以确保理解男女分组方程的来历以及各自与总方程的异同、如女性组方程的b0和b1与总方程的b0和b1相同,女性b0与男性b0之间的差别就是总方程的b2,女性b1与男性b1之间的差别就是总方程的b3,等等)。有了这两个方程,就可以分别算出男女两组在X的最大和最小值时Y的预测值(这一步可以搬到Excel里做,比SPSS方便)。假定X在1-100之间变化,那么当X=1时,男性的Y = 19.4 + 0.6 x 1 = 20、女性的Y = 9.7 + 0.3 x 1 = 10;而当X=100时,男性的Y = 19.4 + 0.6 x 100 = 80、女性的Y = 9.7 + 0.3 x 100 = 40。根据这四组数据(1、20;100、80;1、10;100、40),就可以画出图1了。

二、调节变量是一个三分的定类变量(trichotomized nominal variable):

如果调节变量Z是一个含三个组的定类变量(或含三个层次的定序变量、但被当作定类变量处理;如果你想将其当作定距变量处理,见下例),需要先为Z构建两个取值分别为1和0的二分变量(见上例),分别记为Z1和Z2,而回归方程则为Y = b0 + b1X + b2Z1 + b3Z2 +b4XZ1 + b5XZ2。假定Z是职业,Z1是白领 = 1、其他 = 0;Z2是退休 = 1、其它 = 0;蓝领是基准组、在Z1和Z2上都取0。为了省事,我将图1中的男性数据改为白领、女性数据改为蓝领、只增加退休组的数据。而回归结果为 b0 = 9.7, b1 = 0.3, b2 = 9.7, b3 = 50.7, b4 = -9.1, b5 = -51.1。如上例一样,现在可以根据b1-b5的系数以及Z1和Z2的取值,求出三个职业组各自的方程:

image白领组(即Z1 = 1、Z2 = 0):Y = 19.4 + 0.6X

蓝领组(即Z1 = 0、Z2 = 0):Y = 9.7 + 0.3X

退休组(即Z0 = 1、Z2 = 1):Y = 60.4 -0.4X

最后用画图1的方法画出图2(具体步骤略过,但希望你自己演绎一遍)。其中前两组与图1相同(因为我就是用同一批数据构建的),而退休组因含有一个负值的b1所以呈现向下的趋势。

三、调节变量是一个定距变量:

定距变量往往有很多个值,不可能也不必要对每个值画一条线,一般是取两、三个“代表性”(representative或illustrative)的值各画一条线。如果是取两个值,一般取Z的平均数的正负一个标准差的值(即Z值上第16%位和第84%位的值);如果取三个值,则将平均数作为第三个值。假定这里的Z是年龄,其平均值 = 40,标准差 = 20,而回归系数b0 = 20, b1 = -0.067, b2 = 0.50, b3 = 0.008,我们取Z的均值(40)、大于均值一个标准差(60)和小于均值一个标准差(20),分别得到以下三个方程:

image60岁老年:Y = 50 + 0.39X

40岁中年:Y = 40 + 0.24X

20岁青年:Y = 30 + 0.08X

然后用与图1和图2相同的方法画出图3(具体略过)。

四、其它各种可能性:

如果Z是一个中心化(centralized,见)的值(这时,X也应该是一个中心化的值),那么需要在解析出上述公式后,再将Z(和X)的值减去其平均值而得到其“原始值”,并在图形中以原始值来设定X轴和Z的斜率。

如果有两个或更多的调节变量,分组方程的解析并不困难、但画图就有点复杂了,一般是用k个图来表示,其中k等于其中一个调节变量的组别数。假定一个调节变量是性别、另一个是年龄。可以用两个图来分别显示:一是 男性中年龄、二是自变量X的交互效应和女性中年龄与自变量X的交互效应。或者用三个图来分别显示年龄与自变量X在老年、中年和青年中的交互效应。究竟用性别还是用年龄作为第一层的分组指标(其实也就是调节变量的调节变量),取决于你的研究假设:你最终想比较的是什么?

最后,如果你用的是方差分析,上述原则同样全部适用。其实SPSS方差分析也可以产生回归系数的。

如何用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交互项相仿,你如有志从事科学研究,应该加强训练自己的举一反三能力。