本站分享:AI、大数据、数据分析师培训认证考试,包括:Python培训Excel培训Matlab培训SPSS培训SAS培训R语言培训Hadoop培训Amos培训Stata培训Eviews培训

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

spss培训 cdadata 15137℃

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

关键词: 简单斜率分析简单斜率分析怎么做简单斜率检验spss简单斜率分析

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

我先来讲讲我目前的一个研究思路,我想研究某自变量对某因变量的影响,其中这一影响受到某变量的调节。在我的研究中,自变量有两个维度,分别为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)倍来提高与其它变量之间的协方差值。

转载请注明:数据分析 » 如何作交互模型中的简单斜率分析_spss简单斜率分析

喜欢 (18)or分享 (0)