2012-04-01

如何作交互模型中的简单斜率分析

XT @ 2012-03-30:

庄主,你好!

我是一名来自内地的心理学研究生。浏览你的庄园有好些日子了,真的是让我获益颇丰,而我更是为你的博学和耐心所折服。但这次碰到的一个问题,我几乎翻遍了整个帖子都没能找到理想的答案,所以冒昧的给你发来一封求助信,主要是有关简单斜率分析的,还望庄主给予解答。

我先来讲讲我目前的一个研究思路,我想研究某自变量对某因变量的影响,其中这一影响受到某变量的调节。在我的研究中,自变量有两个维度,分别为X1和X2,而调节变量有三个维度,分别为Z1、Z2和Z3。我对其分别进行了中心化之后,获得了六个交互项,分别是X1Z1,X1Z2,X1Z3,X2Z1,X2Z2,X2Z3。此外,我还加入了性别作为控制变量。就这样,完整回归方程如下:

Y=b0+b1*G+b2*X1+b3*X2+b4*Z1+b5*Z2+b6*Z3+b7*X1Z1+b8*X1Z2+b9*X1Z3+b10*X2Z1+b11*X2Z2+b12*X2Z3

分层进入回归方程后,结果表明交互项中X1Z1、X1Z3的系数b7、b9显著(在这里,我们只探讨交互)。发现这两个系数显著后,于是我开始对它们进行简单斜率分析,但是我的一个疑惑产生了,那就是在以往的简单斜率分析文章中(注1),举的例子都是只有3项变量(X、Z、XZ)的回归方程,他们的分析都是建立在那一个交互项显著的情况下。而我的这个方程中却是包含了研究的所有变量,包含不止一个交互项,但是我却只对显著的交互项进行简单斜率分析。所以,我很想知道,我对大方程显著的交互项进行斜率分析与对仅仅包含显著交互项的小方程(如,重新对X1、Z1、X1Z1进行回归得到一些系数)进行斜率分析有差别么?哪样的更合理?

此外,在我的研究中,我对预测变量和调节变量进行了中心化,而对因变量和控制变量(性别)没有进行中心化,我不知道这样做是否合理,因为我发现Preacher等人的一篇文章中,对性别都进行了中心化,当然,他们没有对因变量中心化。不过我还有另一个问题,那就是在计算简单斜率的时候,我是应当使用中心化之后的调节变量、预测变量的值去计算t和Y,还是应当使用未中心化的去计算呢?

最后,我要提到一个简单斜率分析时碰见的一个SPSS软件的问题。我们知道,为了检验简单斜率的显著性,必须要先获得斜率的标准误,而这个标准误的计算是需要预测变量回归系数的方差,调节变量回归系数的方差,以及两个回归系数的协方差。我是通过在SPSS回归分析时勾选Covariance matrix在获得这些值的,可是,我却发现了SPSS结果输出的一个现象,那就是“对小数位等于4的数值默认输出为0”,这也我偶然发现的,当小数位小于4或者大于4时,它输出的是直接的数值,但就是等于4位时输出的是0。但由于这样的数值不利于接下来的斜率检验,所以我只好人为的利用SPSS中回归结果的标准误来计算预测变量回归系数的方差S11和调节变量回归系数的方差S33,可是,我却不知道该怎样获得两个回归系数的协方差S13?或者,我应该怎样设置SPSS来调整它的输出模式?

以上就是我主要想问的一些问题,我简单的再归纳一下:

1.对与一个包含多个预测变量、多个调节变量和多个交互项的回归方程,我们却只对显著的交互项进行简单斜率分析,这样可以吗?其他的变量的参与不是会影响他们的系数么?

2.是不是应该对所有的预测变量、调节变量、控制变量进行中心化?在计算t跟Y的时候,是不是依然使用中心化的预测变量、调节变量值?

3.SPSS输出结果时,默认对等于4位小数的值输出为0,可是该怎样正确的获得两个回归系数的协方差S13的值呢?或者该怎样设置SPSS的输出模式呢?

还望庄主抽空解答一下,不胜感激!

[1]Kristopher J. Preacher A primer on interaction effects in multiple linear regression http://quantpsy.org/interact/interactions.htm

庄主 @ 2012-04-01:

你对问题的叙述非常详尽和明确,可见你已有很好的科学训练,不但有助于我理解你的问题,也有助于与其他读者分享,赞一个!希望大家向你学习,思想上的清晰是从语言上的清晰开始的。

由于你的问题叙述的很清楚,省却了我写太多的背景和铺垫,所以我的回答将明显地短于你的问题。

为了便于其他读者的理解,还是先简单说明一下XT同学问的“简单斜率”(simple regression slope)是个什么问题。为了便于叙述,我还是从最简单的X、Z和XZ模型说起,随后扩展到XT问的多个交互项模型问题。大家对最简单的交互模型应该不陌生吧:

  Y = b0 + b1X + b2Z + b3XZ [1]

为了进一步理解X和Z的“交互影响”,我们可以将Z看着一个常数(如Z的均值),从而对模型1的右边重新组合,得到:

  Y = (b0 + b2Z) + (b1+ b3Z)X [2]

模型2的意义在于它已不再是一个含X和Z两个变量的二元方程,而是一个只含X的一元方程,其截距为b0 + b2Z,斜率为b1+ b3Z(注意Z是一个任意的常数)。后者就是XT提到的简单斜率,对它的取值范围、正负方向等作分析、尤其是对两个或多个简单斜率(基于不同的Z值,如大于和小于Z均值的一个标准差)之间的比较以及制作相应的XY-散点图,都是很有意义的。

XT的问题是,如果回归模型中含有多个自变量和多个调节变量(这在研究中更现实),如何作简单斜率分析?他/她提到两种可能方案,一是包括所有变量,较复杂;二是只挑出一对显著的交互项,较简单,但是担心其结果是否有问题。确如他/她提到,一般教科书都限于模型2的讨论,所以文献中没有明确答案。我倾向于方案一,虽然繁琐,但是准确。以他/她的模型为例:

  Y = b0 + b1G + b2X1 + b3X2 + b4Z1 + b5Z2 + b6Z3 + b7X1Z1 + b8X1Z2 +b9X1Z3 + b10X2Z1 + b11X2Z2 + b12X2Z3 [3]

其中b7和b9是显著的。可以作两对简单斜率分析,一是比较Z1的高值(如Z1均值 + 1个标准差,记为“Z1H”)和低值(如Z1均值 - 1个标准差,记为“Z1L”),其它变量(X2、Z2、Z3均取其均值,分别记为“X2M”、“Z2M”、“Z3M”,性别(G)如何处理见下):

  Y = (b0 + b1G + b3X2M + b4Z1H + b5Z2M + b6Z3M + b10X2MZ1H + b11X2MZ2M + b12X2MZ3M ) + (b2 + b7Z1H + b8Z2M +b9Z3M) X1 [4a]
  Y = (b0 + b1G + b3X2M + b4Z1L + b5Z2M + b6Z3M + b10X2MZ1L + b11X2MZ2M + b12X2MZ3M ) + (b2 + b7Z1L + b8Z2M +b9Z3M) X1 [4b]

模型4a和4b看上去复杂,但其实均是一元方程而已。同理,比较Z3的高值(“Z3H”)和低值(“Z3L”)时,采取相同方法,得到:

  Y = (b0 + b1G + b3X2M + b4Z1M + b5Z2M + b6Z3H + b10X2MZ1M + b11X2MZ2M + b12X2MZ3H ) + (b2 + b7Z1M + b8Z2M +b9Z3H) X1 [4a]
  Y = (b0 + b1G + b3X2M + b4Z1M + b5Z2M + b6Z3L + b10X2MZ1M + b11X2MZ2M + b12X2MZ3L ) + (b2 + b7Z1M + b8Z2M +b9Z3L) X1 [4b]

XT的第二个问题是哪些变量需要做中心化(centering)处理?因变量不必做。自变量、调节变量、控制变量一般都应该做,但是如果是取值0和1的dummy变量,则需要根据其题意来决定。中性化的原意是将变量的均值转换为0,而dummy变量的中心化均值不是0(如果正态分布,是0.5),反而背离了中心化的原意。如这里的性别,中心化之后,均值为0.5,代表“不男不女中性人”?意义不大,还不如保持原值。

当然,变量中心化后的其它计算(如t值和Y预测值等)均用中心化后的数值。其实,b3等交互项系数是不受中心化的影响的。

最后,XT问SPSS输出的回归系数之方差-协方差矩阵的取值问题,我没有遇到过这类问题,一下子也难以验证你的发现。不知你用的是哪个版本?也许是一个bug。可以改一下Option中的Output,用Scientific Notation来表示极小数,也可以将原始值过小的变量放大10(或100、1000)倍来提高与其它变量之间的协方差值。

2012-03-13

定量研究只有这三种方法吗?

LZF @ 2012-02-29:

有人问我:传播学定量研究中为什么只有调查、实验和内容分析这三种方法?难道没有其它方法了吗?

庄主 @ 2012-03-12:

定量研究方法可以大致分为数据采集(data collection)、数据分析(data analysis)和数据展现(data presentation,如数据可视化手段)等三个部分。你提到的调查、实验和内容分析,属于数据采集方法。它们在传播学研究中确实占了主要地位。C. W. Trumbo曾比较了1965-2000年间传播学主要学术期刊中所使用的数据采集方法,发现35年间调查、实验和内容分析三者合计占了总体的60-65%左右(图一)。其实这个比例是低估了的。因为此外还有20-30%左右的“二手数据”(secondary data)中很多是别人收集的调查或其它数据(见以下进一步的讨论)。由此看来,调查、实验和内容分析应该占了传播学研究数据采集方法的七成(70%)左右。image

当然,还有三成左右的数据来自其它采集方法。其中最大宗的是二手数据。所谓二手数据,是由其他学者或机构为其它目的而采集的数据,被传播学者用来做“再度分析”(secondary analysis)。传播学中所用到的二手数据,大致说来可分为如下两类:

一是其他学者或机构所做的调查数据,其中最著名的如General Social Survey(SGG)、American National Election Studies(ANES)、Pew Internet and American Life(PEW)等。这些数据基本上都是全国性通过概率抽样而得的大样本,而且是定期进行的重复调查,适于纵向研究。更难得的是免费分享的。我早年在美国任教时,就曾多次得益于这些免费数据。如在一篇论文中,就免费使用了盖洛普全国调查的40余个数据(其成本应该超过一千万美元)。如上所说,这类数据其实也是调查数据,只是最初由别人收集而已。

二是政府(包括联合国)、行业协会或社会团体汇集的统计报表(statistical records),最著名的当然是人口普查、国民经济、媒体消费等年报。与第一类的个体数据不同,这些统计报表是一个国家或地区的汇总数据,多半用于时间序列分析或跨国比较研究。

以上是上世纪的“故”事了。进入21世纪以来,包括传播学在内的全球社会科学研究已经和正在发生的最重大变化,恰恰就在数据采集方法上。这是一个大话题,值得写很多篇文章。这里只用几句话简单概括一下:网络数据(如用户浏览记录、网页内容以及超链接结构等)正在成为调查、实验、内容分析、统计报表之后的第五种数据来源或采集方法。当然,在21世纪的前10年中,网络数据在传播学研究中占的比例还不大(我们正在做的一项研究中发现其大约占3-5%)。但是,我们相信在下一个10年内,网络数据将成为与调查和内容分析并驾齐驱的三架马车,而在再下一个10年(2021-30)内成为数据采集的首要方法。也许这是一个很保守的估计。

所引文献

Trumbo, C. W. (2004). Research methods in mass communication research: A census of eight
journals 1990-2000. Journalism and Mass Communication Quarterly, 81(2), 417-436.

2012-03-04

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

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.