R语言结构方程SEM中的power analysis 效能检验分析
原文链接:http://tecdat.cn/?p=23085
简介
本文对结构方程模型进行效能分析。
本文从一些简单的例子开始。其余部分提供了一些关于统计背景的说明,各种效应大小的定义,以及本包所含函数的详细描述。
背景介绍
数学模型的统计评价通常是通过考虑测试统计量来进行的,测试统计量表示观察数据和拟合模型的数据之间的差异。在SEM中,大小为N的样本的相关测试统计量由T = Fˆ(N - 1)给出。Fˆ表示所选差异函数(如最大似然)的最小化样本值,从而表明模型与样本数据的不匹配。因此,T允许对模型正确的无效假设(H0)进行似然比检验。如果假设的模型在总体中成立,可以证明T在渐进上遵循中心χ 2(df)分布,df=.5-p(p+1)-q自由度,其中p是表现变量的数量,q表示自由参数的数量。这就是为什么T经常被称为 "卡方模型检验统计量"。
给出一个卡方检验统计量的观察值,可以进行一个无效假设的显著性检验。通常的检验过程如下。给定一个特定的α-误差水平(通常是α=0.05),从渐近中心χ 2(df)分布中得到一个临界卡方值。如果卡方检验统计量的观察值超过临界值,则拒绝模型符合数据的无效假设。否则,H0被保留。发现观察统计量超过临界值(意味着上尾概率低于指定的α水平),就会导致统计学上的判断,即假设和实际人口协方差矩阵之间的差异太大,不能仅仅归因于抽样误差。因此,具有统计学意义的卡方检验统计数字提供了反对假设模型有效性的证据。
当使用这个框架测试统计假设时,会出现两种类型的错误。不正确地拒绝一个真正的H0(一个正确的模型)的α错误(或I型错误)和不正确地保留一个错误的H0(一个错误的模型)的β错误(或II型错误)。
如果H0为假,则卡方检验统计量不再是中心χ 2(df)分布,而是可以证明遵循非中心χ 2(df,λ)分布,具有非中心性参数λ和期望值df + λ(MacCallum, Browne, & Sugawara, 1996)。非中心性参数λ将非中心χ 2(df,λ)分布的期望值移到相应中心分布的右边。在确定了与中心χ 2(df)分布的期望α概率相关的临界值之后,可以通过构建具有一定非中心性参数λ的相应非中心χ 2(df,λ)分布并获得该分布向右的面积(即。相应地,统计效能是非中心χ 2(df,λ)分布在临界值右边的面积(即积分)。一般情况如图1所示。
图1描述了中心(实线)χ 2(df)和非中心(虚线)χ 2(df,λ)分布,df=200,λ=100。中心分布χ 2(df)在临界值右侧的面积反映了α误差。实线表示临界值为234,对应于α=0.05。虚线表示从折衷效能分析中得到的临界值为244,与α=0.018有关。临界值左边的χ 2(df,λ)分布区域是β-错误概率(临界值234和244的β=0.006和β=0.018)。统计效能定义为1-β,即临界值右边的非中心χ 2(df,λ)分布下的面积。
衡量标准
为了定义H0和H1模型之间的差异,可以使用任何基于非中心性的效果测量。
F0
F0是最大似然拟合函数的总体最小值,定义为
其中Σ是p总体协方差矩阵,Σˆ是p模型隐含的协方差矩阵,p是观测变量的数量。如果模型是正确的,Σˆ=Σ,F0=0。否则,F0>0,数值越大,表示模型与数据的差异越大(不匹配)。
RMSEA
近似根均方误差(RMSEA;Browne & Cudeck, 1992;Steiger & Lind, 1980)通过模型的自由度来衡量F0。
使RMSEA以零为界,较低的值表示较好的拟合。隐含的F0是:
用RMSEA来定义一个效应需要说明自由度。
Mc
Mc(McDonald,1989)是F0在0-1区间上的变换,数值越大表示越适合。
GFI
拟合指数(GFI;Jöreskog & Sörbom, 1984;Steiger, 1990)在0-1的区间内对F0进行标度,数值越高表示拟合度越好。
由于GFI取决于观察变量的数量(p),在用GFI定义效能时需要提供这个数字。
AGFI
调整后的拟合指数(AGFI;Jöreskog & Sörbom,1984;Steiger,1990)对GFI进行了修改,包括对自由参数数量的惩罚,由模型的自由度来衡量。
用AGFI来说明效果,需要同时说明观察变量的数量(p)和模型的自由度(df)。
不基于非中心性的方法
不基于非中心性的拟合指数与F0没有直接的关系,因此不太适合于效能分析。但是,如果通过H0和H1协方差矩阵来定义效应,至少可以计算出度量。
SRMR
标准化根-均方残差(SRMR)是对(标准化)模型和总体协方差矩阵之间平均(平方)差值的衡量,因此它的范围是0到1,数值越小表示拟合度越高。设E0为模型隐含与人群协方差矩阵之间的差值,E0=Σ-Σˆ,vech表示矢量化变换,Q为维度为.5p(p+1)的对角矩阵,包含观测变量i和j的标准差的乘积的逆值,那么,SRMR可以定义为
残差矩阵E0与F0的关系很复杂,取决于模型隐含的协方差矩阵,所以SRMR不太适合用F0来定义效应(基于ML估计)。
CFI
比较拟合指数(CFI)是一个增量指数,表示假设模型(F0H)相对于空模型(F0N)的不合适比例减少,空模型被定义为一个将所有协方差约束为零的模型。在总体中,CFI的范围是0到1,数值越高表示越适合。
虽然从CFI获得F0很简单,但这需要知道F0N,而这是很难先验确定的。
Power Analysis效能分析
进行效能分析时,一般需要说明要检测的效应的量度和大小,并提供模型的自由度。根据效能分析的类型,还需要进一步的论据。本节假设效应是以上述方法之一来指定的,如何借助模型隐含的和总体协方差矩阵来定义效应。
A-Priori:确定所需的N,给定α、β、效应和df
先验效能分析的目的是在给定的α误差下,确定检测一个效应所需的样本量。在结构方程模型的语言中,先验能力分析问的是:"我需要多少个观测值才能达到效果?如果我的模型实际上是错误的(在所选效应定义的范围内),我需要多少个观测值才能以X%的概率(力量)来证伪我的模型?
进行先验的效能分析需要指定α误差、所需的效能(或者,等同于可接受的β误差)、效应的类型和大小以及模型df。根据所选择的效应大小指标,可能还需要定义观察变量的数量。
假设,我们想要检测一个模型(涉及df=100个自由度)的错误说明所需的样本量,在α误差为0.05的情况下,效能为80%,其中失拟量对应于RMSEA=0.05。将结果存储在一个名为ap1的列表中。
effect = .05, effect.measure = 'RMSEA',
alpha = .05, power = .80, df = 100
在ap1上调用总结方法,输出结果和相关的中心和非中心卡方分布图
这表明N=164产生了大约80%的效能来检测指定的效果。输出结果进一步显示了临界Chi-Square,非中心性参数(NCP),以及错误概率之间的比率(隐含Alpha/Beta比率)。在这个例子中,阿尔法和贝塔之间的比率是0.25,表明犯Beta错误的可能性是犯Alpha错误的四倍。这显然是所选输入参数的结果,因为0.80的效能(1-β)意味着0.20的β误差,是所选0.05的α误差的四倍。
effect = .05, effect.measure = 'RMSEA',
alpha = .05, power = .80
现在我们也得到了RMSEA=0.05的GFI和AGFI等效值,假设df=100,p=20。当然也可以不指定所需的效能,而是指定可接受的β误差。例如,调用
effect.measure = 'RMSEA',
alpha = .05, beta = .20, df = 100, p = 20
给出了与上述相同的输出。如果你对一定范围内的样本量的效能变化感兴趣,要求提供效能图是很有用的,下面会详细说明。
事后分析Post-hoc:给定α、N、效应和df,确定达到的效能
事后效能分析的目的是确定在给定的样本量下,在一定的α误差下检测特定效应的实际达到的效能。用结构方程模型的语言来说,事后效能分析问的是:"在我手头的样本中,有多大?在我手头的样本中,如果我的模型确实是错误的(至少在所选效应定义的范围内),那么伪造我的模型的概率(力量)有多大?进行事后效能分析需要明确阿尔法误差、样本量、效应的类型和大小以及模型df。同样,根据所选择的效应大小指标,可能还需要定义观察变量的数量。假设,我们希望在样本量为N=1000的情况下达到的效能能够检测到模型(涉及df=100自由度)的错误,α误差为0.05,其中错误拟合量对应于RMSEA=0.05。我们将结果存储在一个名为ph1的列表中。
posthoc(effect = .05, effect.measure = 'RMSEA',
alpha = .05, N = 1000
在ph1上调用总结方法,显示效能非常高(效能>.9999)。相关的误差概率是以更高的精度提供的。具体来说,β误差为β=2.903302e-17,转化为2.9-10-17=0.000000000000000029。在实践中,在这些条件下,一个RMSEA>=.05(或F0>=0.25或Mc<=.882)的模型很不错。隐含的α/β比率是1.722177e+15,表明犯α错误的可能性是犯β错误的2万亿(1015)倍。如果你对一系列不同程度的效果(例如,对于RMSEA从0.01到0.15)的效能变化感兴趣,要求提供效能图是很有用的,下面会详细说明。
折衷效能分析:给定α/β比率、N、效应和df,确定α和β
折衷效能分析的目的是在给定的效应、一定的样本量以及期望的α和β比率的情况下,确定α和β(以及相关的卡方检验统计量的临界值)(Moshagen & Erdfelder, 2016)。用结构方程模型的语言来说,折衷分析问的是:"在我手头的样本中,应该如何处理?在我手头的样本中,我应该如何选择卡方模型检验的临界值,来决定我的模型是与完全拟合的假设相一致时获得相应的α和β误差?
假设,我们想确定临界卡方和相关的α和β误差,使它们相等(即比率为1)。我们的模型涉及100个df,我们的样本量为N=1000,我们将不可接受的不合适H1模型定义为RMSEA至少为0.08的模型。将结果存储在一个名为cp1的列表中。
compromise(effect = .08, effect.measure = 'RMSEA',
N = 1000, df = 100)
结果显示,选择临界Chi-Square=312与平衡错误概率有关,α=1.2e-23和β=1.2e-23。按照要求,这两个错误概率都一样大。如果出于某种原因,你希望错误概率不同(例如,因为你认为错误地接受一个不正确的模型比错误地拒绝一个正确的模型要差100倍),你可以改变abratio参数。例如,要求α误差是β误差的100倍,可以通过设置 abratio = 100 来实现。
compromise(effect = .08, effect.measure = 'RMSEA',
abratio = 100, N = 1000, df = 100)
Power Plots效能图
效能图显示了隐含的效能与其他一些变量的关系。你可以绘制在不同样本量范围内检测某一效应的实现效能。或者,你可以在给定的N下绘制达到的效能,以检测不同效应大小的范围。
确定给定效应的效能是N的函数
创建了一个图,显示了在一定的样本量范围内检测一个给定的效应的达到的效能。然而,由于很难指定给定效应的诊断样本量,我们需要提供所需的效能范围。例如,假设我们对检测RMSEA=.05的效应的效能如何随N的变化而变化感兴趣,我们对从.05到.99的效能感兴趣(注意效能不能小于α)。可以通过设置参数power.min = .05和power.max = .99来实现。此外,与任何先验的效能分析一样,需要定义效应的类型和大小、df和α误差。
powerPlot
这表明,当N>250时,一个相关的RMSEA=0.05的模型被拒绝的效能非常大,而当N<100时,效能就很小。
在给定的N下,确定效能与效应大小的函数关系
创建了一个图,显示在给定的样本量下,在效应大小范围内达到的效能。例如,假设我们对N=500时的效能如何随效应大小的变化而变化感兴趣,对应的RMSEA范围是0.001到0.10。此外,与任何事后效能分析一样,需要定义样本量、df和α误差。
PlotEffect
这表明,在N=500的情况下,一个相关的RMSEA>0.04的模型被检测到的效能非常大,而RMSEA<0.03的效能则相当小。
参考文献
· Browne, M. W., & Cudeck, R. (1992). Alternative ways of assessing model fit. Sociological Methods & Research, 21, 230–258.
· Jöreskog, K. G., & Sörbom, D. (1984). LISREL VI user’s guide (3rd ed.). Mooresville: Scientific Software.