Showing posts with label 统计-GLM. Show all posts
Showing posts with label 统计-GLM. 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-12

如何检验名目变量的中介效应?

Zhang @ 2011-09-07:

祝老师,您好,我想用结构方程模型做路径分析,有个问题不清楚,想跟您请教一下。

先说样本量,我调查了100户,也就是我的的样本量是100,假设模型包含4个自变量,其中2个是连续变量,1个是类别变量,1个是计数变量,因变量只有1个,是连续的。

我的模型中有一个中介变量,这个中介变量就是上面提到的类别变量。我主要是想问参数估计方法的选择问题,对于我这样一个小样本量,里面又含有非连续的变量类型,参数估计的方法generalized least square(GLS)和ordinary or unweighted least square (OLS OR ULS)哪个更适合一点?

此外,您觉得我100个样本是否适合做这样一个结构方程模型的路径分析?我是刚开始学SEM,希望能得到您的指点,非常感谢关注,期待您的答复。

庄主 @ 2011-09-12:

你虽然是新手,但对数据和问题的叙述既简洁又清楚。这是做好科学研究(或定量分析)的第一步。推荐给其他提问者学习。

类别变量(categorical variable,或叫名目变量)可以做中介变量,但不能用SEM来分析。SEM确实有好几种估算方法,如你提到的GLS、OLS和ULS,以及更常见的Maximum Likelihood (ML)。但所有估算方法都要求除了grouping variable(分组变量)之外的所有自变量和因变量必须是连续或定距变量。你当然可以用那个类别变量做分组变量,但那检验的是moderation effects(调节或交互效应)而非mediation(中介效应)。

那么,不用SEM是否可以检验类别变量的中介效应呢?可以,但我得事先预警一下:有关的操作和解读都非常(或极其)繁琐。我假定你已经了解中介效应的一般原理(或用“中介变量”查询一下本站有关前贴),所以不再赘言,以下只介绍具体操作步骤。

一、以Y为因变量,X(在本案中是三个连续或计数变量,记为X1、X2和X3)为自变量,做一回归分析,得到的回归系数记为c。

Y = cX                                (Eq. 1)

可用常用的OLS回归,或用general linear model (GLM)回归,两者的结果相同,但后者在第二步中更为方便。

二、将M(类别变量)加入上述回归,得到的回归系数分别记为c'和b。

Y = c'X + bM                       (Eq. 2)

如你在第一步里用的是OLS回归,须先将M转换成k - 1个dummy variables(零一变量),其中k是M的类别个数;如第一步用的是GLM回归,则可以省去对M的转换而直接进入。注意:1. 这里的回归系数是c',不是第一步中的c;2. 如果M有3个以上的类别时(即k > 2),就会得到k - 1个b,可分别记为b1,b2,…,bk-1,多个b的出现是上面提到的“繁琐”原因之一。

三、以M为因变量、X(本案中X1 - X3)为自变量,做一回归分析,得到的回归系数记为a。

M' = aX                              (Eq. 3)

由于这里的因变量M是类别变量,所以不能用OLS或GLM回归,而要用Logistic Regression (LR,当k = 2) 或 Multinomial Logistic Regression (MLR,当k > 2)。如与第二步一样,当M的类别大于2时,会有k–1个a,可记为a1,a2,…,ak-1,这又是一个繁琐之处。

更重要的是公式3中的M'与公式2中的M之不同。前者是probability of odds ratio between category j and category 1-j (某一类别j发生与否的概率)而后者是difference in the mean between category j and the baseline category (类别j与基准类别之间平均数之差)。这是最容易引起困惑繁琐的地方,尤其是对于不熟悉类别变量分析的基本原理(如什么是类别发生概率等)。

四、这是另一个难点:如上所述,M在第一、二步的OLS(或等值的GLM)中和在第三步的LR或MLR中的scale(单位)不同,所以MLR系数a不能与OLS系数b等直接比较,而我们知道,检验中介效应的核心是检验ab (即X通过M对Y的间接影响)的显著性以及比较c'与ab的大小而实现的。因此,a必须与b等具有相同的单位。为此,我们需要将它们转换成各其的标准化系数。其公式分别为:

a' = a Sx / Sm'                   (Eq. 4a)

b' = b Sm / Sy                    (Eq. 4b)

c'' = c' Sx / Sy                    (Eq. 4c)

其中Sx和Sy分别是连续变量X和Y的标准差,可以用SPSS的Descriptive或其它软件的类似指令直接算出。公式4b中的Sm是零一变量M的标准差,也可以用上述指令直接算出。但是4a中的Sm'是公式3中的因变量M'的标准差,即一个“什么什么发生与否”的概率的标准差,没法直接算。对它的一种估算方法是:

clip_image002              (Eq. 5)

其中p是圆周率 (= 3.1416…),p2/3则是标准化的logistic分布函数的方差(这一项其实是一个常数,= 3.14162 / 3 = 3.29),因此公式5可以简化成

clip_image002[25]              (Eq. 5')

不知你是否还在看吗?看懂了多少?我知道第一、二步很容易,第三、四步并不难,但很繁琐,如没有做过LR或MLR的人确实难以消受这种思路的产品。如果你能坚持到这里,接下来就可以看到辛苦劳动的成果了:检验M的中介效应。

不管M是连续变量还是类别变量,检验其是否具有中介效应的原理是一样的,即:

一、公式1中的c必须显著;

二、公式2中的b和公式3中的a必须显著;

三、最后看公式2中的c'。这时有三种可能:

1. 如果c'不显著,那么M具有完全(或强烈)的中介效应(理想状态);

2. 如果c'显著、但其标准化系数c"(见公式4c)小于a和b的标准化系数之乘积a'b'(见公式4a和4b),那么M具有部分(或微弱)的中介效应(常见的中介效应大多如此);

3. 如果c'显著、而且c">a'b',即X对Y的直接影响大于通过M的间接影响,或者说,M的出现并没有改变X对Y有显著影响的基本格局。因此,我们必须承认M不具备中介效应。有些读者认为,只要a'b'是显著的,就说明M有中介效应。这种看法是错的。

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类处理)。但是反之不亦然,固定变量不可能成为随机变量。