档案

Archive for 2009年5月

如何选择Intraclass correlation coefficient (组内相关系数) 的模型?

2009/05/17 2 条评论

>

Liu Yang @ 2009-05-15:

祝老师:您好!经常来您这看看,获益非浅。有一个问题想向您请教。我现在在做一个关于学龄儿童健康行为问卷的重测信度研究。如在过去一周你有几天参与体力活动至少60分钟?选项 1,2,3,4,5,6,7 天。因为数据是interval level,所以打算计算ICC。根据组内效应和项目效应是否随机,Single Measure ICC有三种类型,ICC(1,1), ICC(2,1) 和 ICC(3,1)。按我的理解,学生在不同时间回答同一道问题可以认为是two same judges in different time with fixed effect,因此应该采用ICC(3,1)。但是看过去的文献,针对同一道问题,如上题,三种算法都被用过,所以比较迷惑,希望您能指点,谢谢!

庄主 @ 2009-05-17:

你提到的ICC,指Intraclass Correlation Coefficient(通常翻成“组内相关系数”)。ICC在心理学和教育学研究中用得较多,但本庄大多数读者来自新闻传播学界,可能不甚了解,所以我先简单交代一下有关背景。

ICC涉及到多种用途,含义各有所不同。你是将其用于检验变量的信度(reliability),所以我这里也就仅谈谈信度检验中的ICC模型问题。(但是,要真正理解ICC,还是应该放在ANOVA的框架下进行。以下涉及到一点ANOVA、但我无意从ANOVA的ABC讲起,只假定大家已经掌握了。)

有人也许会问,检验信度不是已经有Cronbach’s alpha,为什么还要用ICC?这与被检验的变量之性质有关。我们通常检验的“信度”是指 the consistency between two or more concepts(两个或更多概念之间的一致性),这时我们确实是用Cronbach’s alpha,其实alpha只是根据Pearson r(即经典的相关系数)而计算出来的衍生物,而Pearson r 则是一种Interclass Correlation Coefficient(注意其中的“Interclass”,即“组间相关系数”,与ICC是相反的一对统计量)。相反,如果我们想检验的信度,涉及到的却是 the stability between two or more measures of the same concept(同一个概念的两个或多个测量指标之间的稳定性),这时Pearson r及其衍生物Cronbach’s alpha不不合适了(参见我的旧贴Difference vs. Correlation,虽然文中没有出现组间和组内相关的名词,但谈到的是同一问题),而可以用ICC。你面临的“健康行为”的“重测信度”,就是涉及一个概念(健康行为)的两个测量指标。内容分析中的inter-coder reliability也是一个概念(即内容分析的某个变量)的多个coders决策之间的稳定性。

顺便提一下,在ICC研究的文献中,上述“同一个概念的不同测量”是被叫做“different variables of a common class”。这里所涉及到的名词,如class,cases, variable(以及可能会出现的measurements, raters, judges, items, objects等等),如果翻成中文、都很容易产生望文生义的误导。不知你的迷惑,是否与这些名词有所关系?我一开始接触有关文献时,也曾迷惑过,后来把ICC的公式(右下)与Pearson r公式(左下)比较一下,就清楚了这些名词的真正含义。所以,我们还是不能不看公式。

image image

在r的公式中,xi和yi分别是概念X和Y的测量值、clip_image002[9]clip_image002[13]分别是X和Y的均值、Sx和Sy分别是X和Y的标准差,n是样本数。(由此可见,X和Y的取值范围可以完全不一样,如X可以是从-1到1而Y可以从0到10000;两者的标准差也由此可以完全不一样。其结果根本不会影响r的值。)而在icc中,为了强调“组内”的意义,我将X改写成X1、Y改写成X2(当然改写前后变量并没有本质区别)。两个公式的真正区别在于均值及标准差的计算,r中的X和Y均值及标准差是分别独立计算的、而icc中的clip_image002[11]是X1和X2的pooled mean(联合均值)、而clip_image002[15]也是X1和X2的pooled variance(联合方差、即联合标准差之平方)。由于ICC值是每个观察值减去“联合均值”(而不是各自的独立均值)、加总后再除以“联合方差”(而不是除以各自的独立标准差之乘积),所以其计算结果反映了“组内”的相关系数。(注意,“联合方差”背后有一个更严格的要求,即X1和X2的方差要相等。这一要求不是很容易满足的。如果你的两次测试之间有一定的时间间隔而其中有发生过什么重要的事件,如学校开设了卫生课或召开了运动会,使得学生之间健康行为的差异缩小了或扩大了,那么就不适合用ICC了。)

image

好了,在上述简单背景的基础上,我们来讨论你的问题:如何检验ICC?具体来说,就是如何选择合适的ICC模型。让我们从计算ICC所需要的数据结构说起(右图)。图a是最常见的结构,其中每个row(行)代表一个case(本例是ID从1到n的学生),每个column(列)是同一概念的某个观测指标(本例中是X1和X2前后两次观测),每个cell(格)中是每个学生的每次观测值(即上述公式中的x1i或x2i,在本例中取值1到7)。按ANOVA的术语,每个xi受到三个来源的影响:一是between-columns effects(在本例中是over-time effects,但内容分析的inter-coder reliability则是两个coders之间的coder effects、等等);二是within-columns effects(在本例中是within-subjects effects,即每个学生的特定因素);三、无法被columns和rows所解释的残差。三者之间,残差和within-columns effects 总是(假定为)random(随机)的,前者是ANOVA能够成立的必要前提、而后者则是因为n个学生是从N总体中随机抽取的一个样本。剩下的between-columns effects则需要根据研究设计、数据采集方式等各种因素而来确定是fixed(固定)还是随机的,因此而形成了你所提到的三种模型:

Source of Variance

One-way Random Model
ICC (1)

Two-way Random Model
ICC (2)

Two-way Mixed Model
ICC (3)

Within-columns effects

Random

Random

Random

Between-columns effects

Random

Fixed

首先来看ICC(1)。它并不考虑X1和X2的区别,所以实际上是将数据表中的X1和X2两列数据合成一列(即图b的结构,其中共有2n行),为了说明图a和图b的相等性,我在图b中加了变量Time,但实际上ICC(1)模型是估算Time的,而是只含一个因子(即自变量)的one-way ANOVA(单因子方差分析)。其自变量是ID,当只有两个重测指标时,自变量的values(即unique的ID数)很多、但每个value下面只有2个cases(所以是个很奇怪的模型),其F值是用来检验每个学生的均值全部为零的假设。由此可见,ICC(1) 并不能检验X的重测信度(当然它有很多其它用途,尤其是作为一个基准模型)。你说看到“过去的文献,针对同一道问题,如上题,三种算法都被用过”。我很难想象这种情况。建议你搞清作者用ICC(1)检验的零假设到底是什么。

回到图a的常见数据。如上所说,它可以用来同时分解columns和rows的影响,也就是ICC(2) 和 ICC(3) 所需要的数据。所以ICC(1) 和 ICC(2) 都可以用来检验重测信度。两者的区别在于如何看待我开始时说的“同一概念的各种测量指标”的产生机制。这不是一个统计问题、而是研究设计问题或数据采集方法问题,即取决于每个研究的具体情况。一般而言,如果X1和X2是该概念的所有可能测量指标(最极端的例子是“匹配”样本,如夫妻、双胞胎、师生、上下级等“对子”对同一问题的回答),那么它们应该是fixed。反之,如果该概念除了Xk和X2之外,还可以有X3、… Xk指标,那么它们应该是random的。同理,检验在内容分析的inter-coder reliability时,coders应该都是从一个理论上无限大的总体中抽出来的样本,所以也应该是random的。你说你的两次测试是“two same judges in different time with fixed effect”,我没有足够信息来否定你,但直觉上感到它们是无限空间中的两个时间样本点,所以为什么不是random的?

我们还可以从模型结果的使用来理解between-columns effects到底是fixed还是random的。如果你只想(或只能)将其结果限制在本研究的具体时空中(如这两个特定测量时间点、这两个特定coders、等等),那么可以采用fixed模型(3);反之如果你希望将结果推及其它时间或空间(其它任何测量时点、任何coders、等等),那么就应该用random模型(2)。

除了between-columns effects的不同选择之外,ICC还涉及其它两个层面的选择,一是估算的ICC是consistency还是absolute agreement(两者的差别就是我上面提到的旧帖中描述的correlation与difference),二是single 还是average。这些分别涉及到一些新的问题,暂且不谈了。

如果谁真的要用ICC,应该认真读一下ICC的权威文献:K. O. McGraw & S. P. Wong (1996). Forming inferences about some intraclass correlation coefficients、以及该文的纠错补充

最后,想说几句感受。常有网友在此问及各种进阶的统计问题、如SEM、multilevel、ICC等等。我是又喜又愁。喜的是后生可畏,敢于玩前沿。愁的是(从提问中推测),有关网友缺乏必要的基础知识,借助于统计软件而捷径上山、一步到顶峰。定量分析与其它绝大多数知识不同,只能循序渐进、一个台阶一个台阶往上爬。如果对进阶的方法不甚了了,与其大胆试用(大部分情况下会用错,而且错了还不知道原因何在),我强烈建议使用熟悉的经典方法,如回归、方差、crosstabs等等。经典方法也许用到你的数据上会有些问题、但那是已知的问题,而新方法可能带来的风险是无法预知。如果医生不了解某一新药,绝不敢乱用,而会使用已知作用有限并有副作用的旧药。我们是给数据看病的Data Doctor,也要有如此的基本医德。共勉。

分类:统计 标签:, ,

不要做Modification Indices的奴隶!

2009/05/10 留下评论

>

Erin @ 2009-05-07:

有时在Lisrel的out文件中,有条message说“No Non-zero Modification Indices for PHI”,有时得到“No Non-zero Modification Indices for Lambda-x”或“No Non-zero Modification Indices for Lambda-y”。没有给出MI是因为什么?是因对相应的矩阵的设定么?

庄主 @ 2009-05-11:

理解这个问题的关键是弄懂Modification Indices (MI,修正指数) 到底是个什么东西,如它从何而来、说明什么、如何解读、等等?

简单说来,MI是将你现有模型的拟合度(Chi-squares)与如果你对某一没有被估计的参数(即fixed parameter,如PHI、Lambda等)作出估计(即改成free parameter)后模型的拟合度之间作比较的差别,其值也是一个Chi-squares值。(这句话也许用英文来表达更容易理解:A modification index tells the difference in the goodness-of-fit (as measured in Chi-squares) between an existing model and a modified model in which a fixed parameter (such as PHI or Lambda) is free to be estimate.)

image

左图是一个范例。假定你根据理论而设置了一个含X、Y和Z三个隐含因子的测量模型,其中X是观测变量X1-X3的来源、Y是观察变量Y1-Y3的来源、Z是观测变量Z1-Z3的来源,而三个因子之间容许存在一定的相关程度(注意X、Y和Z之间的双向箭头)。你在LISREL或AMOS里,用该模型对某数据做了拟合,发现其拟合度为显著(即模型与数据有显著差别)。为了改进模型的拟合度,你查看了LISREL或AMOS给出的MI结果,看到上述的“No Non-zero Modification Indices for PHI”,但是在 Modification Indices for LAMBDA-X(以下简称LMI)和Modification Indices for THETA-DELTA(以下简称TDMI)中,各有一组数值。比如,LMI中最大的是Lambday1X = 10.555、TDMI中最大的是Deltz2z3 = 12.222,其次是Thetax3z1 = 8.333。它们分别说明,如果你将Y1加到因子X上去,修正后的模型的Chi-squares会减去10.555;或者如果你在Z2和Z3的残差项之间建立相关关系,新模型的Chi-squares会减去12.222;或者如果你容许X3和Z1的残差项之间相关,新模型的Chi-squares会减去8.333。(注意:如果你同时做两项或三项修正,新模型的Chi-squares不一定会减少10.555+12.222+8.333之和那么多。)我们知道,在一个自由度的条件下,Chi-squares的显著性临界值为3.84,也就是说,如果一个MI的值大于4,就值得注意了。

那么,为什么LISREL或AMOS有时会“罢工”,不报告MI呢?简单说来有两种情况:一是你的“所有可估计参数”(all estimable parameter)已被全部用完。注意,这里的“所有可估计参数”不等于“所有参数”。如上例的理论模型共有45个自由度(如果你不能一眼看出来,说明还得看点书再来玩SEM),其中估计了21个参数(如果你连这个也看不出来,那就麻烦了),还有24个自由度,也就是说还可以估计24个参数。但是,在PHI矩阵(外生因子的方差-协方差,详见“LISREL的八个矩阵”)中已经没有可用的参数了,因为X、Y、Z三者之间的三对相关关系已经用尽了其所有的信息。所以,如上所述,LISREL或AMOS已经发了No Non-zero Modification Indices for PHI的“罢工通知”。事实上,除了PHI之外,结构模型的其它参数(other parameters of structural model),如GAMMA(外生因子对内生因子的影响)、BETA(内生因子对内生因子的影响)、PSI(内生因子的方差-协方差)等,也经常没有MI,因为它们多半已按理论模型的假定而被用尽。说到底,结构模型参数是绝大多数研究的最终目的,谁会将它们闲置在一边,等到看过MI之后再做决定是否进行估价?(我还会回到这一点的。)

但是,测量模型的参数(parameters of measurement model)还有大量闲置的参数。如本例中的LAMBDA矩阵中,还有18个可被估计的参数(包括X对Y1-Y3、X对Z1-Z3、Y对X1-X3、Y对Z1-Z3、Z对X1-X3、Z对Y1-Y3),THETA-DELTA中则有更多(36个)参数可以被估计。 当然,你不可能将它们(总共54个)穷尽,因为你只有24个自由度。你甚至不应该将自由度全部用掉(见后面的讨论)。这里先回答一下,为什么LISREL或AMOS有时不提供其中某些参数的MI?这是没有MI的两种可能之二,即你的原始模型虽然拟合得不太好、但相比任何一种其它的修正模型来说,它的拟合度是最好的,这往往是观测变量之间缺乏任何关系造成的。当然,这种情况较罕见,尤其是你的模型有两个或以上隐含因子时,总会有某个没被估计的测量模型参数可以修正的吧?总之,一切从自由度出发,做任何事前先看看你还有多少自由度?这些自由度存放在哪个矩阵里?

总之,如果LISREL或AMOS没有提供某一参数或某一矩阵(某类参数的的集合)的MI,说明该个或该组参数或者无法估计(结构性的问题)或被估计之后并不能给现有模型带来任何改进(实证性的问题)。由此看来,MI是个不错的工具,它可以帮助我们找到改进模型拟合度的“捷径”。但是,盲目使用MI,也会造成很多错觉或谬误。在我看来,不知情者对MI的误用和知情者对MI的滥用,是SEM应用中的一个主用问题。何谓“误用”、何谓“滥用”?我无意写篇论文来讨论,仅以上图中的三条虚线为例,说一下我的看法。

1、一般情况下,不要碰LAMBDA,即不要仅仅根据MI而增添cross-factor loading(跨因子负荷?),如上图中根据Lambday1X 的值而将Y1挂到X上去。估计跨因子负荷是EFA的做法,也是EFA为人诟病的一大原因。Y和X可以相关(如图中已做到了)。但是,如果再将Y1连到X上去,确实可以改进模型的拟合度,但同时牺牲了Y(以及X)因子的效度,得不偿失。也许有人说,我的理论要求Y1同时受X和Y的影响,怎么办?记住:everything is related to everything的理论一般不是好理论。

2、在任何情况下,绝对不要碰DELTA(或EPS),即不要在一个因子内部的各变量之间增添correlated errors within a factor ,如上图中的Deltz2z3 ,不管其值有多少,也不能将其释放出来估计。一个因子中的各变量之间的相关部分,已经充分反映在它们在该因子的负荷之上,如果再将各变量的残差连起来,说明该因子之内还有因子,这在理论上是说不通的。当然,如果一个因子下各变量之间出现很大的MI值,说明这个因子模型有问题,也是该因子不是unidimensional的、也许是某变量有异常值(或者严重偏离正态分布)、等等。这些问题,需要通过清理数据或调整模型、而不是简单的在因子内变量残差建立相关关系。

3、在一定条件下,可以考虑估计THETA中correlated errors between corresponding observed variables cross factors(跨因子对应变量残差之间的相关系数),如在上图中的Thetax3z1 。这里的“一定条件下”的“对应变量”,往往指不同因子之间的两(或多)个变量之间是采用相同的测量方法(如问卷中相同的提问及回答)、或者同一变量在不同时间点上的测量值、等等。这时,建立其残差的相关关系,就相当于在各因子之间建立一个测量方法之共同因子(或者为MMMT模型的做法)。

总之,正确使用MI的关键,取决于我们的目的是什么?是为了提高模型的拟合度以便能够发表、还是为了改进模型的结构参数以降低Type II误差?如果仅是为了前者,即使能够蒙过审稿人、也无法混过所有读者的仔细阅读。而如果为了后者,那么我开始时的叙述其实已经暗示了,MI对结构参数往往没有什么帮助。

分类:统计 标签:,

如何检验一个同时为调节和中介的变量?

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