sem模型解析(结构方程模型功能介绍)

全文包括:

  1. SEM简介:功能、优点、缺点

  2. 分析软件简介

  3. 统计知识回顾:矩阵标量向量、多元回归分析、估计方法

  4. SEM的六大步骤

  5. 路径追踪规则(Path tracing rules)

  6. R codes


一、SEM简介

强大的功能:

融合了因子分析(Factor Analysis)、方差分析(如ANOVA, ANCOVA, MANOVA, MANCOVA)、多重回归(multiple regression)等:

  1. 可以分析有多个因变量的模型(multiple dependent variables)

  2. 可以分析复杂的中介模型(complex mediating mechanisms)

  3. 可以估算潜在变量以解释测量误差(estimate latent variables)

  4. 可以估算二分变量(binary) /序级变量(ordinal)的潜在因子

  5. 可以测试跨组的模型不变性(test invariance of models across groups)

  6. 可以建模重复测量的数据的发展轨迹(growth trajectories of repeated measures)

不胜枚举的优点们:

  1. 可以一次性完成对一个复杂模型的分析,而不用将模型拆分

  2. 适用于各种数据(不同分布的数据-非正态分布,不同类型的数据-非连续数据)

  3. 对长期数据,可以测试个体的稳定性

以及不足:

  1. 建了个太太太复杂的模型,以致于啥都说明不了(比如把各种变量一股脑塞进模型,偏离了理论)—— 所以在建模specification/re-specification时,一定要明确自己在做什么,让模型保持精简。

  2. 难以判断模型是否正好拟合(fit)数据 —— 要依据理论再参考一些fit index,将模型不断优化,在过度适合和适合不足中找到平衡点。

  3. 可能有不同模型恰好一样地拟合数据

  4. 没有明确参考标准来确定合适的样本大小——……样本量越大越好

  5. 和其他分析一样,SEM无法修正由于取样或测量导致的误差——好好设计和实施实验让数据质量高一些

  6. 哲学盲点:SEM使用”证据的缺失(absent of evidence)作为支持假设模型的证据 —— 没有证据证明其存在可以证明其不存吗?(例一:研制新药,如果没有证据显示新药有疗效,是不是就能说明新药没有疗效了呢?例二:寻找某物种,如果找不到这个物种的生物,是不是就说明该物种已经灭绝了饿呢?)

二、应用软件

常用软件:Amos(绘制路径图,简易模型分析,想发表文章的话还是用后两个分析吧)、Mplus(代码简洁好上手)、R(一般用lavaan package,还有别的包可以用比如semTools有一些补充功能比如求测量不变性 measurementInvariance(),semplot/lavaanplot可以用来绘图,还有openMX、sem等)。

除此以外,还有Python(学好编程啥问题都能解决)、LISREL(输入input是矩阵而非原数据!Coursera上有港中文大学Kit Tai Hau 侯傑泰教授的免费公开课程“Structural Equation Model and its Applications | 结构方程模型及其应用 (普通话/粤语))、EQS(多变量分析软件)、SPSS(也得自己码代码syntax,点点点鼠标是点不出来这些比较高级的功能的)。

三、统计知识回顾

矩阵代数(Matrix Algebra)

标量(scalars):实数,只有大小,没有方向。

sem模型解析(结构方程模型功能介绍)

*a是一个标量,b也是一个标量。

矩阵(matrix):双序排列的标量,行(rows)+列(columns)。

sem模型解析(结构方程模型功能介绍)

*表示矩阵的字母一般大写、加粗。

矩阵排序:下标前面的数字代表行i,后面的数字代表列j,记作aij。

sem模型解析(结构方程模型功能介绍)

矩阵转置(Transpose):把矩阵A(r×c)的行和列互相交换,得到矩阵A’(c×r)。

sem模型解析(结构方程模型功能介绍)

对称矩阵(Symmetric Matrices):A = A’。

对角矩阵(diagonal matrix):特殊的对称矩阵,主对角线之外的元素皆为0的矩阵。

单位矩阵(Identity Matrix):特殊的对角矩阵,主对角线为1,主对角线之外的元素皆为0的矩阵。

向量(Vector):仅有一列/一行的矩阵。

sem模型解析(结构方程模型功能介绍)

*代表向量的字母一般小写加粗。

矩阵的加减乘除(我省略了)

但要注意的是,

  • 计算标量时,ab=ba,计算矩阵时,ab ≠ ba因为乘法要考虑顺序。

  • 实际上没有矩阵除法,通过乘以逆矩阵(A-1)完成。

行列式(Determinant)

  • 矩阵S的行列式记作|S|

  • 仅正方形的矩阵可以求行列式,比如相关性、协变量矩阵。

  • 行列式为0的矩阵不可逆(inverted),这样的矩阵是非正定矩阵(non-positive definite, NPD),而SEM计算中通常需要求逆矩阵,所以行列式为0的矩阵为导致运行错误(例如“psi matrix is not positive definite” )

多元回归分析(Multiple Regression)

  • 回归分析(regression)可以看作是SEM的一种形式。

  • 广泛应用于社会、行为、健康科学中的强大、灵活的分析方法。

  • 因变量需要时正态分布的连续数据,对自变量没要求。

  • 可以分析交互作用、中介作用等。

估计方法

最小二乘估计(Least Squares Estimation, LSE)

选择可以最小化残差的平方和(sum of squared residuals)的参数

最大似然估计(Maximum Likelihood Estimation, MLE)

频率学派(Frequentist)的点估计法,根据样本数据不断尝试,选出能最优描述实际概率分布(likelihood)的参数。

最大后验估计(Maximum A Posteriori Estimate, MAP)

提到了频率学派,就插入一下贝叶斯学派(Bayesian)的最大后验估计MAP。MAP融合了预估计量的先验分布信息(Prior distribution),对未观测点做估计,可以看作是正则化(regularized)的最大似然估计。

四、SEM操作步骤

1. Specification 明确模型

自变量(independent variable)是什么?因变量(dependent variable)是什么?有没有调节变量(mediator)?有没有中介变量(moderator)?变量间是什么关系(relationship)?

1.1 路径图(path diagram)

  • 绘图比较好用易上手的软件:Amos (分析基于SPSS,要获得分析结果的话要同时下载SPSS)(Amos全名其实就是Analysis of moment structures)

  • 绘制正确的话,路径图完全可以表达(等同于)构建的方程式/模型

  • 优点:可视化模型隐含的矩阵结构(model-implied moment structure) 【moment指的是变量组(sets of variables)的均值(mean)、方差(variances)、 协方差(covariances),就是均值矩阵/(协)方差矩阵】。

路径图中图形的含义

  • 长方形/正方形:测量变量(measured variable)

  • 圆形:未测量变量(unmeasured variable), 如残差(residuals)、潜在变量(latent variables)

  • 单向直线箭头:回归方程的参数(regression coefficient)/因子分析的因子负荷(factor loadings)

  • 双向曲线箭头:方差(variance)/协方差(covariance)

  • 三角形:均值(mean)/截距(intercept)的常数(constant)。在分析模型时,统计软件会自动将一行常数设置成1。

sem模型解析(结构方程模型功能介绍)

1.2 矩阵结构(Moment Structures)

  • 总体矩阵(Population moments) 记作Σ和μ

  • 样本矩阵(sample moments)记作S和 m

  • 总体隐含矩阵(Population model implied moments)记作Σ (θ) 和μ (θ)

  • 样本隐含矩阵(Sample model implied moments)记作 Σ (θ hat)和μ (θ hat)

如下图,以总体矩阵为例:对于单个因变量和q个自变量的回归模型,有一个总体的协方差矩阵Σ和总体均值向量μ。

sem模型解析(结构方程模型功能介绍)

2. Identification模型的辨识性

就像每个人都有个***号一样,一个模型需要具有辨识度。模型辨识度指的在有足够的已知信息来推断未知参数的程度。

Model identification refers to the extent to which there is sufficient known information to infer unknown values

  • 过度识别(Over-identified):模型包含了冗余信息,需要修改 ——未知参数个数<独立方程式个数(方程式有解,但没有唯一精确解)。

许多路径分析和几乎所有SEM模型存在这个问题。

  • 正好识别(Just-identified):观察到的信息 = 所需估计的参数数量 ——未知参数个数=独立方程式个数(方程式有唯一精确解)。

所有多元回归模型都是恰好识别。

  • 识别不足(Under-identified):观察到有用信息不足——未知参数个数>独立方程式个数(方程无解)。

大问题!无法得到有效结果,下面讲到的路径追踪规则(path tracing rules)对解决这个问题有用。

3. Estimate 模型参数估计

从样本数据中得到系数的过程。

3.1 最常用的是上述ML(最大似然法maximum likelihood),其具有3个特点:

a.无偏的:虽然每次都有抽样误差(sampling error), 但无限次重复实验后,样本估值的平均值将等于总体的真实值

unbiased: if we were to repeat our study an infinite number of times, the mean of the sample estimates would equal the population value

b.一致性:当样本量无限接近于总人群量时,样本估值也无限接近群体值

consistent: as the sample size approaches infinity, the sample estimate approaches the population value

c.有效性:参数估值的误差最小

efficient: no other estimator has a smaller sampling error for the parameter estimate

3.2 两种方式:

a. 充分统计最大似然值估计(Sufficient-statistic maximum likelihood estimation,SSML)仅仅基于观测到的协方差矩阵和均值向量,前提是有完整数据 (complete-case data)和正态分布的因变量(normally distributed DVs)

b. 完全信息最大似然值估计(Full information maximum likelihood estimator,FIML) 基于任何从个体观察到的数据。允许部分缺失的数据(partially missing data)和用于处理非正态分布(non-normal distribution)和嵌套数据结构( nested data structures)的替代方法

*对于完整的正态分布的数据,SSML 和FIML 一样。

3.3 优点:

  • 适用于各种模型

  • 无偏、一致、最大化有效性。

  • 估值渐近正态分布(Estimates are asymptotically normally distributed),为推理测试(inference test)提供依据

  • 可以通过卡方检验比较不同模型的相对拟合度的优劣

  • FIML适用于有缺失值和非正态分布的数据。

3.4 步骤

  1. 初始值(start value):选择参数估计的初始值

  2. 迭代(iteration):计算似然值,更新参数估计值

  3. 收敛(converge):不断计算似然值,直到前后两个似然值之间的差异足够小为止

  4. 从最后一步保留拟合值(Fit statistics)、参数估值(parameter estimates)和标准误差(standard errors )

*如果模型太复杂有可能出现模型不收敛“failed to converge”的问题。

4. Evaluation 模型评估

模型拟合程度如何?根据模型拟合指数作判断(Model fit index)

5. Potential re-specification可能需要模型再明确

如果模型不够好,怎么修改?参考理论,根据修正指数(Modification indices)调整模型。

6. Interpretation 解读

哪个结果显著?结果是否有意义?

通常关注点在:

  • 原始的参数估值(Raw parameter estimates)

  • 标准化的参数估值(Standardized parameter estimates)

  • 决定系数R2 , (explained variance in outcomes),即模型可解释的变异量


五、路径追踪规则(Path Tracing Rules):

Sewall Wright在 19世纪20年代和30年代发明。

1.一旦开始用了单项箭头,就不能再往回/用双向箭头了4 前进了不能再后退, 但可以先后退再前进

Rule 1: if you begin a trace forward from a variable using a singleheaded arrow, you can proceed forward any number of times; but once you start forward you may not move backwards or span a double-headed arrow

sem模型解析(结构方程模型功能介绍)

图片来源 p67 《結構方程模式理論與實務:圖解AMOS取向》作者: 李茂能

2.每一条路径,最多仅可涉及一个未分析到的相关系数(仅能通过双箭头部分一次)

Rule 2: If you begin a trace backward from a variable using a single headed arrow, you can proceed backward any number of times; upon reaching a variable, you can do one of two things:
a. span a double-headed arrow and stop
b. span a double-headed arrow and proceed the trace forward

sem模型解析(结构方程模型功能介绍)

图片来源 p68 《結構方程模式理論與實務:圖解AMOS取向》作者: 李茂能

3.一个变量只能被经过一次,无回路(no loop)

Rule 3: for each trace you can only pass through a variable once ; no loops are allowed

sem模型解析(结构方程模型功能介绍)

图片来源 p67 《結構方程模式理論與實務:圖解AMOS取向》作者: 李茂能

六、R code

#下载lavaan包

install.packages(“lavaan”, dependencies=TRUE)

#运行lavaan包

library(lavaan)

#建模:x是因,y是果

model <- ‘y ~ x’

#选择用sem分析模型,指定数据

fit <- sem(model, data = data)

#显示结果

summary(fit) #显示原始参数
summary(fit, standardized = TRUE) #显示标准化参数
summary(fit, std.nox = TRUE, rsquare = TRUE) #显示基于观测变量和潜在变量的标准化参数和R方

小结

本文原创作者用户名HAO,请支持原创!

感谢大家耐心看完,自己的文章都写的很细,代码都在原文中,希望大家都可以自己做一做,请关注后私信回复“数据链接”获取所有数据和本人收集的学习资料。如果对您有用请先收藏,再点赞转发。

也欢迎大家的意见和建议,大家想了解什么统计方法都可以在文章下留言,说不定我看见了就会给你写教程哦。

如果你是一个大学本科生或研究生,如果你正在因为你的统计作业、数据分析、论文、报告、考试等发愁,如果你在使用SPSS,R,Python,Mplus, Excel中遇到任何问题,都可以联系我。因为我可以给您提供好的,详细和耐心的数据分析服务。

如果你对Z检验,t检验,方差分析,多元方差分析,回归,卡方检验,相关,多水平模型,结构方程模型,中介调节,量表信效度等等统计技巧有任何问题,请私信我,获取详细和耐心的指导。

派优网部分新闻资讯、展示的图片素材等内容均为用户自发上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习交流。用户通过本站上传、发布任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们一经核实,立即删除。并对发布账号进行封禁。
(0)
派大星的头像派大星

相关推荐

返回顶部