Showing posts with label 统计分析-回归. Show all posts
Showing posts with label 统计分析-回归. Show all posts

2011-09-25

如何区分协方差分析与半偏差相关分析的差别?

zshtom007 @ 2011-08-22:

庄主你好,想请教下协方差分析(ANCOVA)和半偏相关分析(semi-partial correlation)的差异,谢谢!

庄主 @ 2011-08-23:

ANCOVA是一种检验多个自变量(分别为定类水平和定距水平)对一个因变量(定距水平)影响的方法、其结果体现为一系列的F-值以及相应的df值、p-值;semi-partial correlation是在扣除了其他(定距水平)自变量的影响之后、一个自变量与一个因变量(均为定距水平)之间的相关系数(即一个统计量)。因此,两者不是直接可比的。请进一步说明你的变量或模型,以便我理解你到底想问什么?

zshtom007 @ 2011-09-12:

谢谢庄主回答。我想问的是,ANCOVA的思想是控制掉covariate对因变量的影响后,考察其它自变量对因变量的影响。可以有方差解释百分比的指标。而semi-partial correlation的思想也是控制掉某一自变量对因变量的影响后,求另外一个因变量和自变量的相关系数,也可有与以上方差解释百分比对应的r-square指标。

我是想问着这种控制covariate的思想之间有什么差别?

庄主 @ 2011-09-24:

终于明白你的问题。你问的其实就是ANOVA(Analysis of Variance,方差分析)与回归分析的异同。我曾在几个前贴里提到过,方差分析是心理学、教育学的主打武器,而后者则是社会学、政治学等学科的基本工具,但是两者的数学基础相同、估算结果也一样。

不错,你问的是ANCOVA(Analysis of Covariance,协方差),但它只是方差分析从只含定类水平的自变量到也容许定距水平的自变量(习惯上被叫为covariate或协变量)的扩展而已。经典的回归分析只含定距水平的自变量,但通过将定类变量转换成dummy或哑变量,回归分析也可以同时包含定距和定类的自变量。因此,协方差分析和回归分析所能解决的分析问题及其结构完全一样:检验一组定距或定类的自变量对一个定距水平的因变量的联合和独立影响。

先说多个自变量对一个因变量的联合影响。这种影响在方差(或协方差)分析中是通过分解Sum of Squares(离差总和)的来源而实现的,即将离差总和分解成由自变量造成(组间离差)和由误差造成(组内离差)两部分,前者除以离差总和即为自变量的联合影响(即你说的“方差解释百分比”)。而在回归分析里,自变量的联合影响是直接通过回归模型的R2来反映的,但事实上R2也是通过计算被解释的离差除以总离差而得知的。所以,尽管方差分析与回归分析使用的术语不同,两者检验自变量的联合影响的方法及其结果是完全一样的。

再说各个自变量对一个因变量的独立影响。你肯定知道,如果各个自变量之间没有任何相关关系(如控制实验的数据一般如此),那么它们对因变量的影响一定是独立的;而这些独立影响之和,就是上面讲的联合影响。但是,观测而得的自变量(包括实验中的协变量)之间通常是有相关关系的,所以就产生了在自变量之间存在相关关系的条件下,如何计算各自的独立影响的问题。可以说,这是数据分析中最常见也是最容易令人迷惑的问题之一。其纠结之处在于以如何扣除(即“控制”)其它自变量的干扰影响?方差分析和回归分析两个阵营内,各有好几种看法,区别都在于把哪些离差放进计算公式到分子里、哪些离差放进分母。我无意在此一一叙述,否则只会将大家弄得更加迷惑,而只讨论一下你提到的回归分析中的semipartial correlation(半偏差相关系数)。这是我知道的各种计算独立影响指标中最“干净”或最保守的指标。简单说来,它的平方值描述了因变量的离差中纯粹来自某自变量的部分(即既独立于该自变量与其它自变量的相关关系、也独立于该因变量与其它自变量的相关关系),因此,它的值小于任何其它相似指标(如partial correlation)。

协方差分析一般会报告partial eta squared,它的根号值与回归中partial correlation相等,但与semipartial correlation有所不同。如果你需要知道后者,可以根据协方差分析的结果手工计算,当然更省事的方法是放到回归分析里去计算。

2011-09-18

如何分析两个时点的固定样本数据?

David M @ 2011-08-23:

您好,我是XX大学管理学博士研究生,这次给您写信,主要是我在研究中遇到了一下问题和疑惑。先简单描述一下我的研究:样本是187个企业,在2004年和2008年分别收集了问卷数据;另外还从商业数据库中找到了上述企业中50个企业2004年-2009年的客观绩效数据。也就是说,对于问卷主观数据,我们只有两个时间点的数据;而对于客观绩效数据,我们则有6个时间点的数据,但是样本量只有50个左右(且每年的企业不完全一样,即个别年份有缺失值)。

我的问题如下:

1、如果我仅用问卷的主观数据,可以使用什么方法来检验自变量在两个时间点上的差异,以及两个时间点上自变量对因变量的影响的差异?(根据潜变量成长曲线分析的要求,要至少有3个时间点或以上;我几乎没有看到有处理两个时间点数据的有关文献,您可以推荐一些经典文献或案例吗?)

2、如果我在自变量上使用两个时间点,而在因变量上使用6个时间点,可以使用潜变量成长曲线来分析吗?如果可以,应该怎么处理数据?如果不行,有什么好的建议吗?

由于我刚接触纵向数据的处理,只是个初学者,而目前国内相关的研究还比较少,盼望您的回复!再次表示衷心的感谢!

庄主 @ 2011-09-18:

1、你的问卷数据,是一个含两次测量的Panel Sample(固定样本)数据。柯惠新、祝建华、孙江华的《传播统计学》第15章“纵向关系研究”中的第4节专门介绍了固定样本数据分析的基本方法和相关案例。但该书现已脱销,不知贵校图书馆是否能够找到?

在该节的15.4.2表中,我按因变量的测量水平和观测次数,分成三次情况讨论。这里只简单叙述一下第一种情况(我假定你的数据就是这种情况),即因变量为interval scale(定距变量)、观测次数为2,这时可以用方差分析(更确切地讲是ANCOVA、协方差分析)或回归分析(两者完全相等)。以回归为例,

Yi2 = a + bXi1 + cYi1                                (Eq. 1)

其中下标里的i是第i个企业,1和2分别是第一次和第二次的观测值。注意:因变量Y的过去值Yi1出现在公式的右边,即是自变量之一或是一个控制变量,它与自变量Xi1同时进入回归模型。由于因变量的过去值成了一个自变量或控制变量,而它与因变量的当前值之间往往高度相关,所以b值可能很小、甚至不显著。这是符合现实生活的,不要为此沮丧。

公式1是一个“历史长期影响”模型。如果有某理论认为,被研究的因变量更受自变量当前值的影响,也即“当前短期影响”模型,那么你需要用Xi2来代替公式中的Xi1。但是,不要将Xi1和Xi2同时放入模型之中,因为这两者高度相关,会造成共线性问题。

也许还有某种理论认为,因变量更受自变量的变化值(DX)的影响,这时可以先求出DX = Xi2 - Xi1,再将DX代替公式中的Xi1。

你当然可以分别试一下这三种模型。但是,如果没有相关理论,在选择和解读其结果时会是一个难题。

2、你是否可以用潜变量成长曲线(latent growth curve)来分析只含两个时间点的自变量、但含六个时间点的因变量的数据?可以,但意义不大。成长曲线模型的目的是分别估算出自变量和因变量各自随时间而变化的函数(即Y = f(Yt)和X = g(Xt)),然后估算两个时间函数(f与g)之间的关系。在本案中,因变量有六个时间点的观测值,所以有足够的信息来估算f函数(或更确切地说,检验多种时间函数模型的可能性,如S-曲线、指数曲线、U型曲线等);但是自变量只有两个时间点,g函数一定是线性的。如此,除非f也是线性的,否则f与g之间的关系一定是被低估的。而如f是线性的话,只需两个时点就可以估算出来了。

那么,还有其它方法吗?可以用multilevel longitudinal model (MLM,多层纵向模型)。但是其技术难度更大一些。如果你熟悉一般的multilevel model(多层模型)的,那么比较容易理解MLM。否则,需要从多层模型开始补起,是一个较长时间的学习过程。这里我只对MLM做些最简单的介绍。

在理念上,本案的MLM涉及两个层面;但在实际估算中,两层是合在一起的(但我们这里暂不讨论估算的操作问题)。

Level 1(底层)是对每个企业的因变量分别估算一条时间曲线:

Yit = b0i + b1i(t) + b2i(t2) + b3i(t3) + …                    (Eq. 2)

其中i如同公式1中一样,为第i个企业,但这里i = 1 至58,t是观测年份(t = 1 至 6,其中1为2004年,2为2005年,…。该公式与一般的回归模型相比,有以下两个明显不同:

第一、公式右边的各自变量t,t2,t3,等等,其实只是同一个变量(时间t)的polynomials(多项式)。一般说来,用1至3项式足够,最多不能超过5 (= t – 1)项式。

第二、公式右边的各回归系数b0i,b1i ,b2i,等等的下标中不但含有一个常见的常数(0,1,2,等等),而且还含有一个罕见的变量i(因为i随着公式左边的企业的变化而变化),也就是说需要对每一个企业分别估算一条时间曲线。

Level 2(上层)是将公式2的回归系数(b0i,b1i ,b2i等等)当作因变量、问卷数据测得的X为自变量,估算以下回归模型:

b0i = g00 + g01X1                         (Eq. 3.0)

b1i = g10 + g11X1                         (Eq. 3.1)

b2i = g20 + g21X1                         (Eq. 3.2)

b3i = g30 + g31X1                        (Eq. 3.3)

…

如公式1一样,如果有特定的理论依据,上述公式中的X1可以被X2或DX代替,但一般不用同时将X1和X2同时放入(除非两者之间为弱相关)。注意,因为i = 1 至 58,上述的每个回归模型所涉及到的样本量为58。

这组公式背后的假设是企业因变量的时间曲线之间差别是受到X的过去值(或当前值、或变化值)的影响的。也许用英文写更能看懂:The difference among the firms in their growth curves of Y is affected, at least in part, by the past (current or change) value of X.

2011-08-06

如何区别fixed factors(固定变量)、random factors(随机变量)和covariates(协变量)?

Keykure @ 2011-08-02:

我有一个非常简单的问题就是,在SPSS里输入自变量的时候怎么来区分fixed factors, random factors 和covariates,我经常搞混淆这三者。比如我的问题中X是连续变量,是不是就不能放到fixed factors中去,只能放到covariates中?

庄主 @ 2011-08-06:

你的问题涉及两对概念之区别:一是factors(因子)与covariates(协变量);二是fixed与random。前者易懂、后者较难,经常有人问我。

其实并不简单,涉及到两方面的基本知识:一是心理学实验的术语体系(你好像就是读心理学的?);二是数据的unit of analysis(分析单元)和格式问题。因此,经常有人感到困惑。

一、因子与协变量之区别:

首先,两者都是自变量。区别在于测量水平:前者是名目或定类变量(只含两至数个类别,每个类别中至少要有30个案例),后者是连续或定距变量(可以含成千上百个类别,每个类别中只含一至数个案例)。当你通过这种区别、将每个自变量的测量水平告知SPSS或其它统计软件之后,软件就知道如何计算了。作为普通用户,知道这些就够了。

那么,为何SPSS不直接了当地将有关输入区标为“名目自变量”和“连续自变量”?这应该是历史遗留问题。“因子”和“协变量”是实验研究的基本概念,而实验数据传统上用ANOVA(方差分析,只含名目变量的因子)或ANCOVA(协方差,同时含名目因子和连续变量的协变量)来分析。GLM(general linear model)是ANCOVA的扩展,其中的术语也沿用了实验研究体系。这对于习惯“自变量”、“因变量”、“控制变量”等术语的回归分析用户来说,是个挑战。SPSS中很多统计子程序都有这种历史阴影。

提醒大家一下:上述是在测量层面(operationalization)上讨论“因子”和“协变量”之间的区别,它们在理论(conceptualization)上的含义很不同,不要混淆:因子可以是自变量(如外生因子)、也可以说因变量(如内生因子),两者即可以是名目变量、也可以是连续变量;协变量则被用来指“控制变量”(也是对因变量有影响的自变量、但不是理论上所关心的,所以引入以过滤其影响),可以是连续变量(如年龄)、也可以是名目变量(如性别)。

二、固定变量与随机变量之区别:

如上所述,这里的“变量”可以是因子、也可以是协变量。一个变量到底是固定还是随机的?大部分统计教科书并不详细解释,即使有讨论也较费解。以下让我用“非正式”的语言(即只讲结论不讲理由)说一下其中的关键问题。

在GLM范畴内,所谓“固定”和“随机”变量,表面上是指自变量,其实是涉及数据结构。什么意思?一、你的因变量有几个?二、你的自变量之间是“同级并列”(如个人特征)还是“上下主从”(如个人特征在下、机构或社区特征在上)?这两个维度相交,形成了下表中的四种情况。

 

自变量之间关系

因变量个数

同级并列

上下主从

  单个

I. 固定

II. 随机

  多个

III. 随机

IV. 随机

I. 单个因变量和并列自变量:这是最常见(但也是最有局限)的数据,自变量必定是固定的。

II. 单个因变量和主从自变量:由于自变量之间有从属关系,所以形成了multilevel(多层)结构。为了与III和IV相区别,我将这种多层结构叫做“variances between-subjects”(BS差异或人际差异)。下层的自变量为随机而上层的自变量为固定。如果有3+层的话,最高一层为固定、以下各层均为随机。

III. 多个因变量和并列自变量:这时,虽然自变量之间是并列的,但因变量之间存在着明显(如同一概念时间先后的测量)或隐含(同一大概念下面的众多子概念)的关系,所以形成了与BS差异不同的另一种多层结构,我称之为variances within-subjects(WS差异或自身差异)。这种结构中,多个因变量的序号构成了下层自变量的值;而其上层自变量并不存在,需要在GLM或类似程序中构建相应的虚拟变量(我知道,这句话对没有实际操作经验者来说是很难懂的,如不理解就暂且跳过吧)。但是,WS差异结构与BS差异结构相同的是,最高层的自变量总是固定的,而以下各层的自变量均是随机的。

IV. 多个因变量和主从自变量:这种结构同时兼有BS差异和WS差异(即BS-WS差异),其最上层的BS自变量和WS自变量都是固定的而以下各层各种变量都是随机的。这当然是最丰富、也是最难得的数据,如固定样本数据的SEM模型。

希望上述分类有助于大家理解或判断固定和随机变量的表面区别。需要注意的是,随机变量可以当作固定变量处理(当然有犯Type-I错误,即可能过高估计自变量的影响。实际研究上,很多II类数据被当作I类处理)。但是反之不亦然,固定变量不可能成为随机变量。

2011-08-03

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

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

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

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

2010-10-13

如何处理严重的缺省值问题?

L @ 2010-10-11:

您在博客中讲解如何报告回归分析时,提到:“但变量常有缺省值,这时模型的个案数就会小于样本数、有时两者相差很大(当然是个严重问题),所以一定要报告前者。”

我在处理一批调查数据,遇到了严重的缺省值问题。我的样本有近千人,用媒体使用的三个自变量和三个人口控制变量(简称X1-X6)对因变量(简称Y)做回归分析,只剩下300个案。请问对此如何处理。

庄主 @ 2010-10-13:

数据缺省值是定量研究者人人遇到都头痛的问题。因为缺省值就是数据里没有信息,巧妇难为无米之炊。

我看了你的数据,主要问题在于X1-X3等3个变量上的缺省值太多(各有200-400个缺省值不等)。如果去掉这三者,会有600余人个人留下来,大概可以接受。但是,这三个自变量是你研究的核心变量,如果删掉它们而只留下3个人口控制变量,也就难以成为传播学研究了。真是一个两难问题。

现在流行一种“Missing Value Analysis“(MVA,即“缺省值分析”),SPSS下属的结构方程模型软件AMOS中就有MVA工具。其基本思想是根据已知信息去预测(即填补)缺损信息。具体操作步骤如下:

1. 假定样本数据中有十个变量(已经用于回归分析的X1-X6和Y,以及没有用上的Z1-Z3),先把Y放一边,分别分析其中八个变量与第就个变量之间的关系。即:

X1 = b0 + b1X2 + b2X3 + b3X4 + b4X5 +b5X6 + b6Z1 + b7Z2 + b8Z3             (1)

X2 = b0 + b1X1 + b2X3 + b3X4 + b4X5 +b5X6 + b6Z1 + b7Z2 + b8Z3             (2)

X3 = b0 + b1X1 + b2X2 + b3X4 + b4X5 +b5X6 + b6Z1 + b7Z2 + b8Z3             (3)

注意,这里每个模型的有效样本数为该模型所有九个变量(包括因变量Y和八个自变量)上都没有非缺省值的个案数。在你的案例中大概是600多人。

2. 根据模型1-3的结果参数(即b0-b8)来分别预测X1-X3上的缺省值。假定模型1的结果是:

X1’ = 0.5 + 1.0X2 + 1.5X3 + 2.0X4 + 2.5X5 +3.0X6 - 2.0Z1 + 3.0Z2 + 1.0Z3    (4)

那么,就可以根据那些在X1上有缺省值的个案的X2-X6和Z1-Z3的实际数值而预测出(填补进)他们在X1上可能取的值(记为X1’)。同理,可以预测出X2或X3缺省值的可能取值(分别记为X2’和X3’)。

3. 最后将填补后的X1-X3(即X1’, X2’, X3’)放回你一开始想做的回归模型,即

Y = b0 + b1X1’ + b2X2’ + b3X3’ + b4Z1 + b5Z2 + b6Z3                                  (5)

MVA是否合理和有效,取决于以下三个条件能否同时被满足:

一、每个模型中的所有就个变量上上没有(或是很少)缺省值,否则“救”不回多少个案。假如每个变量有30个缺省值(即只占样本的3%),看来微不足道,但是如果每个变量上的30个缺省值发生在不一样的个案上,那么就有30X9=270个案无法就回。

二、每个模型有一定的解释力(如R平方在0.20以上,当然越高越好),这决定了用该模型中八个自变量去预测Y的validity(效度)。

三、每个变量上的缺省值是完全随机(completely random)产生的,即不受任何规律制约;不然,必须将影响缺省值产生的因素放进模型中去。

以上条件一和二是可以从已有数据中计算出来的。如果一和二无法成立,那么就则是彻彻底底的无米之炊了。如果条件一和二问题不大,那就需要看条件三了。

条件三一般是无从得道的。不过根据前人研究(包括我自己做过的一个大型研究),缺省值的发生一般都不是完全随机的。也就说,使用MVA在大部分情况下都是有风险的。缺省值产生的随机性越低、用MVA的风险就越高。

以上是现有文献中对MVA的基本看法。此外,我个人觉得用数据中除了因变量之外的所有变量来预测缺省值的做法有totalogy(自我循环)之弊端。以本案为例,你比较一下模型4与模型5,就不难看出Z1-Z3对Y的影响出现了四次:一次是自己的直接影响(模型5)而另三次是分别通过X1’、X2’和X3’的间接影响。这在理论上和方法上都有问题(如X1’-X3’与它们的预测值Z1-Z3之间有共线性)。

我认为,解决上述问题的一个办法是将Z1-Z3从模型1-3中去掉。就是说,只用模型5之外的变量来预测X1-X3的缺省值。如此填补出来的X1’-X3’在模型5中与Z1-Z3应该没有过高的共线性;同时,Z1-Z3对Y的影响只被估计一次。当然,这种方法并无法解决X1-X3中缺省值非随机产生的问题。

最后还是那句话,缺省值就是数据中缺乏信息。MAV或其它任何统计方法(包括我提出的改进方法)都无法根本解决信息不足甚至信息匮乏的问题。

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-04-22

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

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-03-21

如何处理自变量之间的相关关系?

JF @ 2010-03-15:

我有一个初级问题想了很久还是不清楚。假如我有一个因变量Y、两个自变量X和Z,如果做回归分析,只要将X和Z同时进入回归模型就可以了,不需理会X和Z的相关关系。但是如果用SEM,除了要分别连接X和Z对Y的路径,还要连接X和Z之间的相关关系。这是为什么呢?不是说在结构层面回归和SEM是一致的吗?

另外,在报告上述SEM结果时,是否需要描述和解释X和Z的相关关系?如果用回归分析,是否还需要另行计算X和Z的相关关系、然后再报告呢?

庄主 @ 2010-03-20:

你的问题确实简单、但绝非初级,因为其中涉及了回归分析与结构方程模型(SEM)的主要异同,值得讨论一下。首先,自变量与因变量之间的结构关系 (structural relationship among variables),如自变量对因变量的直接影响、间接影响、总影响、交互影响、等等,在回归和SEM中都是同义的(但不一定是等值的,因为前者含有测量误差而后者不含测量误差,但这与本文无关,所以下面的讨论均假定所有变量都不含测量误差)。

但是,在处理自变量之间的相关关系时,两者所用的方法不同:回归是用隐含方法而SEM是用明示方法。在回归模型 Y = b0 + b1X + b2Z中,对回归系数b1和b2的估算公式分别包含了X与Z的相关系数(记为rXZ;同理,Y与X、Y与Z的相关系数分别记为rYX和rYZ):

image

和

image

由于b1和b2是在Y与X或Z的简单相关系数中扣除了X与Z的相关程度(以及Y与另一自变量的相关程度),所以b1和b2又被叫做partial regression coefficients(偏回归系数)。可见,在回归分析中,自变量之间的相关关系是自动而且必须地被控制了的。这里的“被控制”是指用于消除自变量之间的相关关系的影响。

在SEM中,自变量之间的相关关系是需要明确设置的。如在使用矩阵语言的LISREL中,通过指令"FR PH (1, 2)”来估算rXZ;而在使用图形语言的AMOS中,则是通过在X和Z之间画一条双箭头的曲线来估算rXZ(见下图,注:图中的三个参数b1、b2和rXZ是不需要的,这里只是为了说明它们与上述回归模型的对应关系)。

image

该SEM模型与上述回归模型是等价等值的。大家可以用一个含三个变量、N > 200 (SEM所需的最小样本量)的数据验证一下,两个模型的b1、b2、rXZ、R-Square(= AMOS中的MSC)、Std error of the estimate(= SEM中e的Variance的平方根)应该都相等。然而,回归用的是OLS(最小二乘法)而SEM是用ML(最大似然法)来估算上述参数的。这两者之间的差别,除了对样本量的要求不同(ML估算只有在大样本条件下才可能接近OLS结果),还有许多深层的差别。这里只讲其中比较明显的一个差别:如上所示,rXZ在回归中是自动被控制起来的,但在SEM中却需要人为设置。反过来说,如果需要的话,在SEM里也可以设置rXZ = 0(在AMOS中也可以将X和Z之间的曲线删掉)或其它任意值(1.0,0.5,等等)。如此设置的模型,因为少估算了一个参数,所以会比原模型多出一个df(自由度),通过比较两个模型的拟合指数(Chi-squares)之差,就可以检验 rXZ = 0(自变量之间为正交)或rXZ = 1 (自变量之间没有discriminant validity)等假设。这些都是无法在回归分析中实现的。

回归模型与SEM模型之间更核心的区别在于前者是在变量层面检验自变量对因变量的解释程度、而后者则是在观察值的方差-协方差矩阵层面检验理论模型与实际数据之间的拟合程度。打个不完全恰当的比分,回归是西药,针对特定病症有强效,但不顾其它后果;而后者是中药,旨在整体和治本,但有时对特定病症并无速效。这种根本区别在本文讨论的自变量相关关系上也有一定影响,但这是一个大题目,需要很多基本概念和铺垫,否则难以讲清,所以不予展开,只是提醒大家,SEM的水很深,下水前要做足热身运动,而回归则是最好的热身运动。就如现在的中医学院都是先教西医原理、再进入中医的。

回到你最后那个问题:如何报告rXZ?一般说来,自变量之间的相关关系(如rXZ)是一种unanalyzed relationship(不作分析的关系)。这里的所谓“不作分析”指的不是统计分析、而是理论分析。如上所说,rXZ在回归中是不直接计算的,但在SEM和用回归做路径分析中均需要统计分析的。但是,除非有特定研究目的(如上述检验自变量之间的discriminant validity)之外,大多数理论并不规定自变量之间关系的强度、方向(谁影响谁)、性质(正或负相关)等,所以实际研究中往往只是简单地估算它们之间的相关关系而不进一步深究其关系的性质、方向、性质等。在写报告时,如果用图形表示实证模型的话,可以在图上标出相关系数的估计值;如无图形,可在附录或注释中用文字或表格报告一下;但在正文中则一般不必提及。

2010-02-08

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

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.

如何解读回归与ANOVA的不同结果?

Anonymous @ 2010-01-22:

祝老师好!我是心理专业的学生,想请教一个具体的问题。对一个三类别变量作ANOVA结果显示类别1显著小于类别2和类别3,但将这三类转换为dummy variable,类别1为00,类别2为01,类别3为10,用同样的因变量来做回归时,结果是第一个dummy variable没有显著差异,而第二个dummy variable有显著差异,这是不是意味着类别2显著区别于类别1和类别3呢?如果是,为什么会出现这种结果呢?可能需要加上的是我在做回归时还引入了一些其它的变量,其中有一个会与类别变量有相关。

庄主 @ 2010-01-24:

将一个含3个类别的名目变量转换成两个dummy variables(分别记为D1和D2)后做回归分析,D1反映的是类别1和类别2的差别、D2反映的是类别1和类别3的差别。那么为什么类别1和类别2的差别在ANOVA中显著而在回归中不显示?因为你在回归中加入了其它自变量而成为多元分析而ANOVA是只有一个自变量的单元分析。其实,你可以将那些新加的自变量作为协方差 (covariates) 放入ANOVA的,这时就成了ANCOVA (Analysis of Covariates),其结果应该与你做的回归分析完全一样。

你再问:D2为显著,是否说明了类别2显著区别于类别1和类别3呢?没有。D2只说明类别1和类别3的差别,与类别2无关。D1检验类别1与类别2的差别。如果希望知道类别2与类别3的差别,将类别2设为基准组(即类别2取00值,而类别1为10值),那么D2就是反映类别2与3的差别了。

2009-12-12

为何回归方程的常数是负值?

L君 @ 2009-11-18:

老师,您好,我在做毕业论文。问题简化后说就是:有两个不同组别的多元线性回归方程进行比较

y1=a1+b1X1+c1X2+d1X3

y2=a2+b2X1+c2X2+d2X3

1,2为两个不同的大区域(每个大区域都有40个小区域作为观测值);y为污染总量,X1, X2, X3为三种类型的污染源面积(工厂,工地,居民区),b, c, d为三种污染源的单位面积污染量(在模型里都为正数)。现在需要比较1,2两地的污染状况,三种类型污染源的污染贡献量等。我得到的两个回归方程,b、c、d都为正数,但是常数项a1为正,a2为负。这样对单位污染量的比较有影响吗?可以这么分析吗?在这个分析中,可不可以给出非标准回归系数的回归方程,然后用标准回归系数(常数项为0)解释贡献量?但是单位面积污染量要继续用于后续计算的话,是用标准还是非标准的回归系数呢?

但是,如果 y1=30+2X1+3X2+4X3、y2=-300+20X1+30X2+40X3,在两个区域,2区域的单位面积的效益就明比1大,但是在3类污染源面积相同的情况下,y总值是一样的?这个就不太好解释了。其实就算是都为正,但是相差较大的话,也不能比较区域1,2的单位面积效益大小?怎么解决这个问题呢?

还有,这个模型的R平方,还有sig等检验系数有的不合格。之后我改用偏最小二乘法,用SPSS和SIMCA-P计算结果都和多元线性回归得到的方程一样。那是不是随便用哪个结果都行呢?

庄主 @ 2009-12-06:

你提到了好几个问题,其中第一题:两个样本的所有自变量和因变量(污染值或面积)取值都应该是非负值、或许都是正值(960万平方公里之内哪里还有0污染的净土?),但是两个对应回归方程的常数项a1为正、a2为负。你问:这对样本之间“单位污染量”的比较有影响吗?我这学期教的同学中也有问过:“变量全部为正值、为什么回归方程常数为负值?我觉得后者问题更有普遍意义,所以本贴主要谈这个问题,你的其余问题放在最后简单说一下。

我们知道,常数项b0(你用a来表示,为了与本庄其它帖子一致,这里用b0)反映的是当所有自变量分别取值为0时因变量Y的值。但是,在很多实际研究中,出现负值的b0是一件很奇怪或很尴尬的事。在本例中,如果自变量X1-X3(工厂、工地、居民区)没有污染面积,那么该区域不仅没有任何污染而且还会“负污染”(世上真有比蓝天、绿地、白云更圣洁的境界?),真的很奇怪。其实,这仅仅是有关变量的取值区间及其关系强度之间的特定搭配而造成的错位而已。

我们先从下图中获得一些直观的认识。图中的两条线分别代表一个回归方程,其中A线是向上的(即b1为正),但它在X = 0时Y < 0(即b0为负);相反,B线是向下的(即b1为负),而它在X = 0时Y < 0(即b0也为负)。说明b0的取向与b1没有直接关系。另外,A的数据可以局限在A1-A2范围内,即X和Y全部为正值;也可以局限在A3-A4范围内,即X和Y全部为负值。反之,B的数据可以局限在B1-B2范围内,即X为全为负值而Y全为正值;或者局限在B3-B4范围内,即X全为正值而Y全为负值。当然,如果数据局限在A2-A3或B2-B3范围内,X和Y即可为正也可为负。以上六种情况,穷尽了X和Y的可能取值,但其回归方程的常数b0总是为负,说明b0的取向与X和Y的取值范围也没有直接关系。

image

那么,b0的取向到底受什么影响?其中有什么规律可循?我查了一些教科书,希望找到一个权威的说法来引用一下,可惜还没有查到(也许我查的不够广泛和彻底)。以下是我的推导,尚未得到“权威”认可,仅供大家参考。

我们从简单回归方程出发:

Y = b0 + b1X             (1)

如重新组织公式1即有:

b0 = Y – b1X              (2)

我们知道,如果b1已知(通过回归分析而得知)、就可以将Y和X的任意一对常数(如两者的均值、最大值、最小值、均值之一个标准差之上或之下、等等)分别代入公式2而求出b0。这里,我们分别用Y和X的最小值(记为“Ymin”和"Xmin”)来代入公式2:

b0 = Ymin – b1Xmin   (3)

很显然,Ymin、Xmin和b1可以取任何值而公式3均可成立,这与我们从上图得到的直观理解是一致的。更重要的是,我们可以从公式3推导出b0取负值的条件:如果 b0 < 0, 那么Ymin – b1Xmin < 0, 也即 

b1Xmin > Ymin          (4)

或者,

b1 > Ymin/Xmin        (5)

公式4告诉我们,如果Ymin小于Xmin与b1的乘积,那么该回归方程的常数b0为负值;而公式5则直接显示,如果Ymin与Xmin的比值小于b1,那么b0为负值。(当然,我们将公式4和5中的“>”改成“<”或“=”,则可得到b0为正值或为0的条件,但因为后两者属于“正常”现象,所以不再赘言。)

好了,我希望大家至此明白b0为负实属正常情况,即不代表任何“负相关”、也不反映任何数据问题,而是我一开始说的那样:“有关变量的取值区间及其关系强度之间的特定搭配而造成的错位而已”。所谓“错位”,其实只是“错觉”而言。

当然,这种错觉有时很难向读者交代或解释清楚,尤其是在A1-A2数据的情况下,出现一个负b0总会令人质疑的。有何解决方法?有,很简单,就是对X取中值(centering,详见本庄前贴)。X取中值后,回归方程的斜率b1保持不变,但b0会变,其已经不再是X = 0时Y的值,而是X=均值时Y的值。如果数据是A1-A2段的话,那么X的均值一定是正的,所以b0也一定为正(见下图,其中A1’和A2’分别为A1和A2的取中值)。

image

最后简单回答一下L君的其它问题。

一、虽然你的a1为正、a2为负,但两个方程仍然是直接可比的。a1为正、a2为负的意思是,区域1的“污染起点”(即在没有受到X1-X3的任何影响下)高于区域2(也许因为还有其它污染来源)。当然,如果你对两个样本的X1-X3都取中值后,a1和a2应该全部为正,看起来好像更可比,但它们之间的差别应该与现在的差别完全一样。当然,取中后的a1和a2的解读有所变化,反映的是自变量X1-X3各自为均值(即工厂、工地和居民区平均污染水平)时该区域的污染总量。

二、比较两个方程,应该用非标准化回归系数(b)、而不是非标准化回归系数(Beta),因为b反映了X和Y的关系强度,而Beta则是用以下公式从b转换而来:

Beta = bSDx/SDy         (6)

其中SDx和SDy分别是X和Y的标准差。我们知道,两个样本之间的X或Y的标准差会因为各自样本大小、异常值(如区域1有一个超大的异常值或区域2有一个超小的异常值)等因素而不同,所以即使两个样本的b相等,它们的Beta也很可能不等。所以,比较不同方程之间的Beta是没有意义的。

如果你想比较X1-X3在两个区域的各自独立贡献(net contribution),可以比较每个X与Y的semipartial correlation coefficient之平方(在SPSS回归中叫做PART)。

三、如果你的数据满足了线性回归(OLS)的要求,那么OLS回归的结果是“蓝色的”(best linear unbiased estimate,间称BLUE,即最佳无偏线性估计),所以应该报告OLS回归结果。

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-09-20

为何两个模型的中介变量系数一样?

tan @ 2009-09-14:

祝老师,您好!这个星期的提问我看您都回答了,除了我提的问题。不知是您没注意到还是问题太初级而不值得回答。由于学识粗浅并确实想知道问题的解答,特此再次提问,烦请老师您或其他有识之人给予解惑。

问题是有关用SEM检验中介效应的:变量W和Z为自变量(且W与Z之间没有显著的相关),Y为因变量,X为设想中的中介变量。首先是模型1,只涉及三条路经:W--X;Z--X;X--Y。所有路经系数都显著,模型的拟合度也可接受;接着是模型2,涉及五条路:W--X;Z--X;X--Y;W--Y;Z--Y,即模型2比模型1多了两条路经(W--Y;Z--Y),结果也是所有路经系数都显著,模型的拟合度也可接受。我不可理解的问题是:在模型1和2中,自变量(W和Z)与中介变量(X)的路经系数竟然一样,怎么会这样?但模型1中X--Y的路经系数要大于模型2中X--Y的路经系数。

在此,我想请教的问题是:(1)上述模型(1和2)中,W和Z与X的路经系数有没有可能一模一样?在理论上成立吗?我担心在那个地方做错了。(2)根据您的几个帖子以及其它相关资料,中介效应并不是比较上述我所表述的两个模型的,但在我所学习的Marketing领域,有文献(作者还有一定的名气)却又是这样做的,特别提到:模型2拟合度可接受,所有路经关系都显著,故部分中介效应显著。这样做可以吗?再次感谢!

庄主 @ 2009-09-20:

上周有好几人提了问题,但我没有时间回答所有人的问题,只能按我对问题价值的判断而选择回答部分。我初看你的问题,觉得与8月31日匿名者提的问题相同(见为何不同模型的路径系数和拟合度相同?)。我现在还是这么认为(即,即使不是同一人问的,道理一样)。考虑到读者中也许还有同样的问题,所以再说几句。

为了便于讨论,我将你的两个模型画了出来(建议:很多时候一图胜千字、但这里的提问处不让上传图像,请大家讲图贴在自己的博客或其它公共空间上,然后在你的问题中做个链接):

image

问题一、“上述模型(1和2)中,W和Z与X的路经系数有没有可能一模一样?在理论上成立吗?”是否指λxw = λ'xw和λxz = λ'xz?如是,答案是肯定的。一个回归方程的系数当且仅当方程增减自变量时才可能变化。以本案为例,模型a涉及以下两个方程:

X = λxwW + λxzZ                           (a1)

Y = βyxX                                      (a2)

而模型b也涉及两个方程:

X = λ'xwW + λ'xzZ                         (b1)

Y = β'yxX + β'ywW + β'yzZ              (b2)

如果比较方程a1与b1,可见两者含有同样的自变量(W和Z),所以λxw一定等于λ‘xw,λxz也一定等于λxz。(注:这是回归分析的基本原理,同样适用于SEM。)

问题二、“模型1中X--Y的路经系数要大于模型2中X--Y的路经系数”。比较方程a2和b2,可见b2比a2多了两个自变量(W和Z),因此βyx可能不等于β’yx,条件是(1)W或Z与Y相关(即β'yw ≠ 0或β'yz ≠ 0)和 (2) W或和Z与X相关(即λ‘xw ≠ 0或λ‘xz ≠ 0)同时成立。既然现在βyx > β’yx,说明W或Z两者之中至少一个与X和Y同时相关。(注:这也是回归分析的基本原理。)

问题三、“模型2拟合度可接受,所有路经关系都显著,故部分中介效应显著。这样做可以吗?”模型b的拟合度一定比模型a好,但是由于损失了2个自由度,所以要做统计检验以证明模型b与模型a之间有显著差别。如是,说明模型b更可取。但是,仅比较模型a和模型b而不比较模型b与只含W->Y和Z->的“直接影响模型”(参见如何检验两个中介变量的效应?),确实不是检验中介效应的充要条件 (necessary and sufficient conditions)。为何你们marketing中有“一定名气”的作者这么做?我无法回答,我只知道科学面前人人平等。包括我在内的很多人都相信David Kenny的检验中介变量方法,不是因为他名气大,而是觉得他说的有道理。

2009-09-13

如何分析固定样本数据?

H @ 20009-09-08:

我在分析一个固定样本 (panel sample) 的数据,其中每个人被调查了两次,因变量是定距变量、自变量既有定距也有定类变量。我是第一次做Panel,参考了你在《传播统计学》第15章中“固定样本分析的主要步骤”一节,其中建议当因变量为定距变量、自变量即有定距也有定类变量、数据时点为2时,最简便的是使用回归分析、或者使用协方差分析,其结果应该是完全相同的(第405页)。我尝试了SPSS中GLM模型中的Univariate和Repeated Measures两种方法,以下是我用的指令 (其中Y1和Y2是因变量、X是定距自变量、Z是定类自变量),

UNIANOVA y2 BY z WITH y1 x/Design.

GLM y1 y2 BY z WITH x/WSFACTOR = y 2 Polynomial/WSDESIGN = y/DESIGN.

发现它们的结果并不相同,不知问题出在哪里?

庄主 @ 2009-09-12:

一、你用的UNIANOVA, 正式名字叫做 ANOVA with lagged dependent variable as a covariate(“含有因变量过去值的协方差分析”,简称ANCOVA,也就是我们书上说的协方差分析)。这种方法,与书上公式15-6的OLS regression with lagged department variable as an independent variable(“含有因变量过去值的经典回归分析”),在数学上完全一样,其结果当然也完全一样(参见前文回归与GLM的分析结果真的不同吗?)。

两者相比,协方差分析在操作上有一个好处:可以直接输入定类自变量,而在做回归分析前,则必须先将定类自变量转换成dummy variables (哑变量)。

不管用协方差还是回归分析,最重要的是要明确被检验的零假设是什么?以本例来说,被检验的是以下的零假设:

1. Y1对Y2没有显著影响;

2. X对Y2没有显著影响;

3. Z对Y2没有显著影响。

注意,因为你用的“DESIGN”指令中没有任何自变量,说明你只想检验Y1、X和Z对Y2的main effects(主影响)而不建议三者之间的交互影响,也许这是你的理论问题所需,当然没有问题,而且也简化了这里的讨论。

从这三个假设来看,假设1只是技术性需要(控制Y1与Y2之间的自相关),虽然绝大多数情形下两者会高度相关,但没有什么理论价值,所以不必介意。假设2和3是核心,分别显示在控制了Y1对Y2的影响之后,X和Z各自对Y2有无显著影响(请记住这句话)。

二、你用的GLM,正式名字是Repeated Measures ANCOVA with two dependent variables (“含有因变量前后测量值的协方差分析”,简称RM-ANCOVA)。这种方法与上述的协方差或回归的不同之处在于其将Y1和Y2同时当做因变量,你将其取名为“Y”(注意,这里的Y是只存在于这个协方差分析之中的一个虚拟变量;并注意这个Y与我们书中405页上公式15-5中的因变量ΔY (= Y2 - Y1) 不是一回事,而是与multilevel(多层分析)第一层分析的思路是一致的)。

我们也来看看这里检验的是哪些零假设:

1. Y1与Y2之间没有显著差别 (即一种Test of Within-subjects Effects);

2. Y1与Y2之间的差别与X没有显著关系(即Y和X对从Y1到Y2变化的交互影响,也是一种Test of Within-subjects Effects);

3. Y1与Y2之间的差别与Z没有显著关系(即Y和Z对从Y1到Y2变化的交互影响,也是一种Test of Within-subjects Effects);

4. X对Y(即Y1和Y2的均值)没有显著影响(这是一种Test of Between-subjects Effects);

5. Z对Y(即Y1和Y2的均值)没有显著影响(也是一种Test of Between-subjects Effects)。

上述零假设中,1与ANCOVA或回归分析的1相仿,检验自相关而已;4和5的意义不大(因为求Y1和Y2的均值没什么理论意义);假设2和3也是核心,分别检验了X或Z对从Y1到Y2的变化的影响,与ANCOVA的假设2和3分别检验Y2有所不同:前者是一种Within-subjects Effects (前后变化),而后者是一种Between-subjects Effects(横向比较)。当然,由于两个模型鉴于同样的数据,所以如果X或Z对Y的前后变化没有显著影响时,其对Y2也不会有显著影响。反之亦然。

两者之间,究竟选用那种模型或报告那种结果,取决于你的研究问题。我个人觉得RM-ANCOVA提供的信息更丰富或更接近一般研究问题,但是其结果的解读更复杂,所以需要有对GLM模型比较深入的理解,否则还是以回归分析或ANCOVA为准。

2009-07-19

为何回归系数这么小?

Anonymous @ 2009-07-15:

我在做一个简单的多因素回归,96个cases, 13 个自变量。 回归结果显示全部coefficients 小于0.005, 其中部分变量p值显著。为什么会这样?这个结果该如何改善或解释呢?急,多谢!

庄主 @ 2009-07-19:

这个问题的答案较简单。如果你说是非标准化回归系数,则反映出你的自变量取值很大或因变量取值很小;如果你说的是标准化回归系数,则反映出你的样本很大(但实际上你的n = 96)或自变量之间有共线性。这两种情况的本质不同,需要分别简述。

非标准化系数

其定义为 the exact amount of change in the dependent variable as the independent variable goes up by one unit when other independent variables are held constant(恕我不翻,我觉得任何中译都不够原文明了精确)。这里的"exact amount of change”的单位,是由自变量和因变量的测量单位决定。假定你的一个自变量自变量是年龄,而因变量是身高,样本为青少年(12-17岁),如果年龄以年为单位,身高以厘米为单位,非标准化系数 =  10,则说明在这段年龄中,每增加1岁,身高长10公分。但是如果年龄以天为单位,其非标准化系数则 = 0.027(=10/365)。相反,如果年龄以岁为单位,身高以毫米为单位,其系数 = 100 (=10x10),等等。你可以变换两者的各种取值单位,可以得到小到5-6位小数、大到5-6位整数的系数,但其相关程度永远是一样的。希望你能够因此而举一反三,得出如果解释你的结果之方法。

标准化系数

其定义为the exact amount of change in the standardized dependent variable as the independent variable goes up by one standardized unit when other independent variables are held constant(只是多了standardized一词)。这时,无论自变量或因变量取何单位,其系数的值不会变化。如果标准化系数 = 0.005,反映的则是一种很弱的相关关系。为什么还会显著?上面已提到,原因一为样本(巨)大,这时该关系虽然有统计显著意义、但缺乏实际(即理论)意义;原因二是(部分)自变量之间高度相关,导致(部分)系数的标准误差人为变小而达到统计显著,这种结果更有误导之效。你的数据是小样本而多变量,更容易发生第二种情况。一般说来,每个自变量需要有30左右的个案。你有13个自变量,需要400个案。如果只有96个案,则只能用3个左右变量(可以讲高度相关的自变量组成因子来减少自变量个数)。

2009-06-13

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

龙猫 @ 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的交换作用。

如何确定综合指数的构成权重?

Anonymous @ 2009-04-29:

祝老师,您好!我现在在写硕士毕业论文,想请教您几个小问题。
我让主管给下属的三种绩效(任务绩效、情境绩效和反生产绩效)做出评分,然后对员工的总体绩效(与前面相独立的量表)做出评分,然后用三种绩效的得分对总体绩效得分进行回归,这样得出三个回归系数。前两个系数显著,后一个不显著。这三种绩效的系数可以视为主管在评价员工总体绩效时更看重哪种绩效,即一种权重。我想考查哪种绩效在总体绩效评分中更受主管重视,我还需要进行两个系数的显著性差异的检验吗?如果要,如何做?

Anonymous @ 2009-04-29(也许是另一读者):

他的意思应该是这样说,已经有若干个观测变量,这些变量为了测量隐含变量(总体满意度)。但由于理论上不同的观测变量对总体变量的影响程度是不一样的,对隐含变量的贡献程度不一样,系数也就不一样,不能通过全体简单的平均得出结果。那么,得通过什么方法来确定每个观测量的权重,再配合每个观测变量的均值来求得最终的隐含变量呢?结构方程中的路径系数是否可以作为这个权重来理解呢?

我也想顺便问一下,相关系数R平方是否也可以作为权重?回归系数呢?有的文章是通过因子分析,用共同度来作为对总体的权重系数,这个处理方法合理吗?

庄主 @ 2009-05-02:

上述两个问题应该是不同的。匿名一(大家提问时能否留个名?当然假名虚名浪名都可以,以便区分)的问题是一组supervised数据,即总体绩效是一个观测到的变量,而匿名二的问题中因为总体绩效是没有观测的隐含因子、所以是一组unsupervised数据。两者之间当然后者更常见,但前者含有更多信息、因此可以研究更多问题。

一、先讨论匿名一的问题。他(她?)的模型应该是(见最后的注释)

Y = b0 + b1y1 + b2y2 + b3y3 + e                        (公式一)

用来检验y1 - y3各自对Y的影响(即其所说的“考查哪种绩效在总体绩效评分中更受主管重视”)。是否需要对b1与b2、b1与b3、b2-b3三对系数之间的差别做显著检验?当然要。如何做?请参见前贴“如何检验两个回归系数的差别?”。

二、匿名二提出的是一个含三个观测变量的测量模型(measurement model),即

y = Λyη + ε                                                       (公式二)

其中y = y1,y2,y3,η是隐含因子、Λy 是η对各y的影响(也即权重),ε是各y中不受η影响的独自变异(也即误差)。显然,公式一与公式二很不一样:总体绩效在公式一中是因变量(等号的左边)而在公式二中是自变量(等号的右边);公式一中的b1 - b3无论在理论上还是在数值上都与公式二中的Λ1 - Λ3是不同的。

三、现在分别讨论匿名二提到的四种确定y之权重的方法:

1、结构方程中的路径系数:英文为path coefficients of the structural model,但本案没有path coefficients、只有factor loadings of the measurement model(测量模型的因子负荷,即公式二的Λ1 - Λ3)。答案是肯定的,因子负荷就是被当做y1 - y3的权重的。

2、相关系数R平方:不清楚你指的是y1 - y3之间的两两相关系数之平方,还是公式二的R平方?前者与匿名一的研究问题无直接关系。后者就是Λ1 - Λ3的平方。

3、回归系数:同样不清楚你指哪个“回归模型”?如是公式一,你没有直接观测的Y,无法估计。如是公式二,就与你的方法1相同。

4、因子分析的共同度(commonality):这里指的应该是exploratory factor analysis,既然现在有理论导向的confirmatory factor analysis(即公式二),就不必再用数据导向的EFA了。

四、有心的读者也许会想到将匿名一的supervsied数据和匿名二的unsupervised数据(两者中的y1 - y3是相同的)合在一起考虑,就是说,先用公式二构建隐含因子η,然后再检验其与观测变量Y之间的相关关系。一般说来,η与Y是正相关的,但其相关程度不一定是很强烈的、甚至不一定是显著的(如果样本小的话)。其背后有两种可能性:一是方法上的问题:虽然η没有测量误差、但Y含有一定的测量误差(但无法估计),二是理论上的问题:η与Y不一定是一个概念(如η也许是一个多维的因子,其中某些维度与Y无关),即confirmatory validaity问题。如果数据中只有Y和y1 - y3四个变量,我们无法将这两种原因分开。如果有其它“第三者”变量(在理论上与Y或测量误差有关),则可以进一步解析下去(重大突破往往就在眼前了)。但是,即使只有这四个变量,据此而发现的η与Y的相关关系,已经提供了很多信息(如对η效度的独立验证)。

最后,讲一讲语言的精确性问题(应该是已讲过多次的老话了)。匿名一说“用三种绩效的得分对总体绩效得分进行回归”,这句话大概是说倒了的,而本意应该是“用总体绩效得分对三种绩效的得分进行回归”(即公式一)。而匿名二的本意才是“用三种绩效的得分对虚拟的总体绩效得分进行回归”(公式二),但他(她)提到的方法3又和公式一混起来了。思想的迷惑往往与语言的含混互为因果。如何避免?用公式和英文。在英文里描述回归模型的句型是

regress Y on X controlling for Z,或者Y is regressed on X with Z controlled

其中Y、X和Z分别指因变量、自变量和控制变量。这使我联想起前几天与一些学生聊天的情景,当时我建议他们学研究方法时不要看中文书,因为中文语言不够严密,不料遭到强烈质疑,要我举例证明。这里是又一例。如果依靠他们的中文描述,很难将匿名一和匿名二之区别弄清楚的。