全文包括:
SEM简介:功能、优点、缺点
分析软件简介
统计知识回顾:矩阵标量向量、多元回归分析、估计方法
SEM的六大步骤
路径追踪规则(Path tracing rules)
R codes
一、SEM简介
强大的功能:
融合了因子分析(Factor Analysis)、方差分析(如ANOVA, ANCOVA, MANOVA, MANCOVA)、多重回归(multiple regression)等:
可以分析有多个因变量的模型(multiple dependent variables)
可以分析复杂的中介模型(complex mediating mechanisms)
可以估算潜在变量以解释测量误差(estimate latent variables)
可以估算二分变量(binary) /序级变量(ordinal)的潜在因子
可以测试跨组的模型不变性(test invariance of models across groups)
可以建模重复测量的数据的发展轨迹(growth trajectories of repeated measures)
不胜枚举的优点们:
可以一次性完成对一个复杂模型的分析,而不用将模型拆分
适用于各种数据(不同分布的数据-非正态分布,不同类型的数据-非连续数据)
对长期数据,可以测试个体的稳定性
以及不足:
建了个太太太复杂的模型,以致于啥都说明不了(比如把各种变量一股脑塞进模型,偏离了理论)—— 所以在建模specification/re-specification时,一定要明确自己在做什么,让模型保持精简。
难以判断模型是否正好拟合(fit)数据 —— 要依据理论再参考一些fit index,将模型不断优化,在过度适合和适合不足中找到平衡点。
可能有不同模型恰好一样地拟合数据
没有明确参考标准来确定合适的样本大小——……样本量越大越好
和其他分析一样,SEM无法修正由于取样或测量导致的误差——好好设计和实施实验让数据质量高一些
哲学盲点: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):实数,只有大小,没有方向。
*a是一个标量,b也是一个标量。
矩阵(matrix):双序排列的标量,行(rows)+列(columns)。
*表示矩阵的字母一般大写、加粗。
矩阵排序:下标前面的数字代表行i,后面的数字代表列j,记作aij。
矩阵转置(Transpose):把矩阵A(r×c)的行和列互相交换,得到矩阵A’(c×r)。
对称矩阵(Symmetric Matrices):A = A’。
对角矩阵(diagonal matrix):特殊的对称矩阵,主对角线之外的元素皆为0的矩阵。
单位矩阵(Identity Matrix):特殊的对角矩阵,主对角线为1,主对角线之外的元素皆为0的矩阵。
向量(Vector):仅有一列/一行的矩阵。
*代表向量的字母一般小写加粗。
矩阵的加减乘除(我省略了)
但要注意的是,
计算标量时,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。
1.2 矩阵结构(Moment Structures)
总体矩阵(Population moments) 记作Σ和μ
样本矩阵(sample moments)记作S和 m
总体隐含矩阵(Population model implied moments)记作Σ (θ) 和μ (θ)
样本隐含矩阵(Sample model implied moments)记作 Σ (θ hat)和μ (θ hat)
如下图,以总体矩阵为例:对于单个因变量和q个自变量的回归模型,有一个总体的协方差矩阵Σ和总体均值向量μ。
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 步骤
初始值(start value):选择参数估计的初始值
迭代(iteration):计算似然值,更新参数估计值
收敛(converge):不断计算似然值,直到前后两个似然值之间的差异足够小为止
从最后一步保留拟合值(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
图片来源 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
图片来源 p68 《結構方程模式理論與實務:圖解AMOS取向》作者: 李茂能
3.一个变量只能被经过一次,无回路(no loop)
Rule 3: for each trace you can only pass through a variable once ; no loops are allowed
图片来源 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检验,方差分析,多元方差分析,回归,卡方检验,相关,多水平模型,结构方程模型,中介调节,量表信效度等等统计技巧有任何问题,请私信我,获取详细和耐心的指导。