档案

Archive for 2011年9月

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

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

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可以被X2DX代替,但一般不用同时将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/09/16 留下评论

jingjing @ 2011-09-16:

您好!真的很感谢您提供这么一个平台和机会,为我们这些在学习结构方程模型和相关软件有困惑的同学提供具体的解答,谢谢您~

我想请教您的问题是:我的毕业论文中,要研究x和y的关系,其中x只有一个指标,y有两个指标,还有控制变量c1/c2/c3/c4/c5,其中c1/c2是年度变量和行业变量,我想问您的是这种外生潜变量只有一个指标,内生潜变量有两个指标能不能用结构方程模型做?lisrel软件中又是怎么编程的?年度控制变量和行业控制变量又是如何设置的?是直接赋值为1、2.。。。吗?

我刚接触结构方程模型和lisrel软件,很多问题都没弄明白,特别是在软件的操作上,请您多指教~~

庄主 @ 2011-09-17:

一、你的控制变量写为“c1/c2/c3/c4/c5”是什么意思?是五个latent factors(隐含因子)还是五个observed indicators(测量指标)?如是后者,它们分属哪些隐含因子?“c1/c2”不会是指c1除以c2吧?请说明。定量研究中使用的语言一定要明确无疑义。

二、你的数据(X含一个测量指标、Y含两个测量指标)既可以用SEM分析,也可以用常规回归分析,结果相仿。与回归相比,SEM最直接的两个优势在于:a)含有多个测量指标的各因子之间的关系不受测量误差影响;b) 检验中介变量的间接影响。你的数据无法享受这两项优势,所以用不用SEM差别不大。(SEM还有其它优势,因与本文无关,所以略过。)

三、我在第一点中讲定量研究的语言要明确无疑,而在第二点中说本案中用SEM和回归“结果相仿”和“差别不大”,两者之间是否有矛盾?非也。根据目前知道的信息,只能得出后者的结论。如果有x, y1和y2的相关系数矩阵,加上样本数,就能进一步知道“相仿”或“差别”的程度,但现在可以确定的是这种程度并不大(以X和Y的相关关系来说,也许在0.01-0.02之间)。

一般而言,消除X和Y之关系中的测量误差,X和Y各自至少需要三个指标,也即有一个6乘6的相关系数矩阵(严格说来说6乘6的covariance矩阵),其中含有21个独立的known moments(已知参数)。你现在只有一个3乘3的矩阵,含6个已知参数,信息远远不够。后果是什么?你估算的模型中含有大量测量误差,与完全不顾测量误差的回归分析差别不大。

如果你X有两个指标,情况会好一些;如果X有三个指标,会更好一些(但模型中还会有因为Y只有两个指标的误差)。但如果X还是一个指标而Y有三个(或更多)指标,则与事无补。

四、如何编写LISREL程序是个难以通过博客帖子回答清楚的问题。最有效的方法是听一位操作型老师面授10来小时的基本指令。当然,我知道国内很少有这种课程。能教的老师还是有的,但能讲清LISREL操作指令的老师大多是科研高手,时间很紧,而且讲操作指令会被同行看低。国外有些大学的社会科学计算中心会有免费培训,实为功德无量。社会上有更正规的培训,如http://www.ssicentral.com/workshops/lisrelbegin.html,当然收费不薄。这里有两个基本教材,供自学:http://www.ssicentral.com/lisrel/techdocs/SIMPLISSyntax.pdfhttp://nd.edu/~rwilliam/stats2/l95.pdf

分类:统计 标签:, , ,

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

2011/09/11 2 条评论

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有中介效应。这种看法是错的。