今天要解读的依然是一篇教学文献:The Basics of Structural Equation Modeling,文献作者是Diana Suhr, Ph.D. University of Northern Colorado。
文献链接:
https://www.lexjansen.com/wuss/2006/tutorials/TUT-Suhr.pdf
结构方程模型是:
- 用来检验显变量与潜变量关系假设的综合性的统计技巧
- 用来表示,估计或者检验变量间理论关系的技巧
- 用来探究一系列潜变量和显变量因果关系的统计技巧
我们做结构方程模型主要是为了:
- 了解变量之间的共变关系
- 解释模型中变量尽可能多的变异
上面给出了结构方程模型比较宏大的概念,具体地我们又可以细分:
一般我们用SEM来解释变量的变异或者变量之间的共变(variation and covariation)。我们用路径分析探究变量之间的因果。我们用验证性因子分析探究潜变量和显变量之间的关系。我们用潜增长曲线模型(LGM)估计纵向数据的初始,变化,结构斜率和方差。上面提到的方法统统都可以归于结构方程模型的特例。
结构方程模型和传统分析方法的不同
首先SEM更加灵活,更加综合。传统方法的模型是提前规定的或者说是默认的,而做结构方程的时候,它对变量关系的限制几乎没有,需要你自己根据理论知识设定变量之间的关系;SEM既包含显变量又有潜变量,而传统的方法之分析显变量;在SEM中我们认为误差是存在的,你甚至可以规定不同变量之间误差的关系,但是传统的方法认为误差是没有的;传统方法能够输出变量间关系的直接的显著性检验结果,而SEM没有这样的结果,我们得用拟合指标来评价模型;结构方程模型可以很好地容忍多重共线性。
SEM的统计指标
chi-square:这个统计量表示预期协方差矩阵和数据的协方差矩阵的差异,卡方越小说明我们的模型和数据越符合。
Comparative Fit Index (CFI):这个指标表示调整了样本量后的ediscrepancy function,这个指标取值1~1,越大越好,建议大于0.9
Root Mean Square Error of Approximation (RMSEA):这是一个和模型残差有关的指标,越小越好,一般要求小于0.06
如果我们的模型做出来拟合指标还过的去,我们接下来就应该检验模型的参数,参数与其标准误的比值是服从z分布的,所以参数和其标准误的比值大于1.96的话,这个参数的p就小于0.05.
当然啦,模型拟合指标不好的情况也是经常出现的,这个时候我们要很具合理的修正指数来修正我们的模型,比如你把原先固定的参数进行释放等等。
做SEM之前你需要考虑
- 你的假设
- 样本量:好一点的话就应该是估计参数的20倍,现实一点10倍就行,千万不要小于5倍。
- 测量工具
- 多元正态性
- 参数识别
- 离群值和缺失值
- 模型拟合指数
做SEM的一般流程
- 首先你得有你的理论模型,根据这个理论来设定变量间的关系
- 设定模型,可以通过图(AMOS)或者代码(lavaan,mplus)
- 判断模型识别情况
- 明确模型变量的测量(就是明确问卷,或者自编条目)
- 收集数据
- 初始分析(缺失值、离群值的处理,标准化等)
- 估计模型参数
- 评估模型拟合情况
- 修正模型(如果有必要的话)
- 结果解释写作
上面的流程都是一家之言,你知道基本上做SEM就这些流程,具体不必非得按照上面这个顺序,比如你可以再没有收集数据之前就提前设定好模型,计划好如何对潜变量进行测量,都是可以的。
SEM的各种标签释疑
令很多同学头疼的问题之一就是一个SEM中各种名称,这儿统一给大家总结一下:
自变量(Independent),预测因子(predictor),外生变量(exogenous (external))都是一个东西,在模型中都是去影响别的变量的。
因变量(Dependent),标准变量(criterion),内生变量(endogenous (internal))都是一个东西,表示别的变量的效果,在模型中受别的变量影响。
潜变量(Latent variable),因子(factor),构象(construct)都是一个东西,指你模型中的变量。
模型model指的就是你研究的变量之间的关系的统计表达。
如果你想把你的模型直观地画出来,画出来的这个东西就叫路径图path diagram
模型设定Specification就是指你对模型参数和整个模型的规定,这儿需要注意:
- 所有的模型都是错的,没有百分百吻合数据的模型,我们做SEM就是想要找到一个尽可能符合我们数据同时还符合理论解释的通的模型。
我们对于模型参数的设定要么是固定的,要么是设定为自由的
固定参数Fixed parameters就是指这个参数不从我们的数据中来估计,而是将它固定为0或者1。
自由参数Free parameters是指需要模型从数据中估计的参数。
拟合指数Fit indices反映模型拟合的如何,指的是我们设定固定和自由参数是不是和原始数据的方差协方差一致,chi-square, CFI, NNFI, RMSEA都是常见的拟合指数。
一个SEM可以划分为两个部分,一个部分叫做测量模型measurement model,指的是对潜变量和显变量关系的设定,另一个叫做结构模型structural model,指的是潜变量间或者潜变量与其余变量关系的设定。
识别Identification模型识别的意思是对模型中的自由参数能否获得一个特定的解,模型有解是需要满足一定条件的:就是就是自由参数的个数q必须要小于或等于你的样本协方差矩阵中非冗余元素的个数p,这个P=p(p + 1)/2,其中p为测量变量的个数。
识别的类型
不识别underidentified:就是从我们的数据中给一个或者多个参数找不出来一个特定的解。比如x + y = 5,这个xy可以来回变我们是找不到这个方程的特定解的,这个适合就叫做不识别,就是自由参数的个数q大于了独立方程的个数。
恰好识别just identified:就是对模型中的自由参数恰好可以从我们的数据中求得一个独立的解,比如我们有方程组x + y = 5 and 2x + y = 8,这个时候xy刚刚好有一个解,但是恰好识别的情形下,模型是无法被检验的。
超识别overidentified:就是我们可以从数据中给模型中自由参数估计很多个特定的值,比如我们有方程组x + y = 5, 2x + y = 8, and x + 2y = 9.这个方程本身也是无解的,但是我们可以定标准,然后求的特定的解,标准不一样,解不一样,所以这个情形模型是可以被检验的。
还有一个术语叫做自由度df,df = (p* - q),当自由度为正时,所有的自由参数都可以被估计。
我们做结构方程,就是为了在满足我们本身数据结构和理论设定的情形下对自由参数进行估计。设定好不好,估计的准不准都得看模型拟合指标。
拟合指标
常规的Chi-square,这个东西叫做“badness-of-fit” index,我给翻译为“拟合劣度指数”,所以卡方越小越好。
其他的各种CFI, NNFI.........等等各种指数都是拟合优度指数,越大越好。
两个检验
一个叫做Wald test,这个检验是用来检验卡方改变量的,就是模型固定参数增加了之后模型拟合会不会显著变坏。
另一个叫做LaGrange Multiplier Test (LM),这个检验可以得到在释放自由参数后模型的拟合会不会显著变好。
模型修正Model modification
模型修正就是通过释放固定参数,就是把模型中原先固定的参数进行自由估计以此来提高模型拟合。
路径效应大小的判断
判断效应大小时,我们一定要看调整后的路径系数,如果小于0.1就是小效应,0.3附近则为中效应,大于0.5为大效应。
SEM图示
SEM中常见的图示和解释如下图:
看几个例子吧:
首先是回归模型:
上图中就是3个自变量对一个因变量的回归的图示。
上图同样是4个变量但是其中两个变量对因变量有间接作用。像这样的叫做中介模型。
上图就是一个最简单的结构方程了,有测量部分也有结构部分,但是结构部分是共变关系。
实例
原文献中有SEM的实例和SAS软件以及PROC CALIS软件进行SEM分析的代码,因为自己不用这两个软件,所以不在我的文章中给大家写了,感兴趣自己去瞅瞅哈。
小结
今天给大家结构方程模型的粗浅的基础知识,感谢大家耐心看完,自己的文章都写的很细,代码都在原文中,希望大家都可以自己做一做,请关注后私信回复“数据链接”获取所有数据和本人收集的学习资料。如果对您有用请先收藏,再点赞转发。
也欢迎大家的意见和建议,大家想了解什么统计方法都可以在文章下留言,说不定我看见了就会给你写教程哦。