ARTICLE DETAIL

资讯详情

深耕商务建站与企业官网运营的一线实战洞察。

LISREL验证性因素分析完整教程:从语法到模型修正

LISREL验证性因素分析完整教程:从语法到模型修正 简介LISREL软件验证性因素分析完整版PPT是一份面向社科、心理、管理领域研究者与学生的系统课件主要演示如何运用LISREL开展验证性因素分析CFA并验证理论模型与实际观测数据是否吻合。内容围绕“准确Vs简洁”的建模矛盾展开讲解了输入变量相关矩阵、提出简约模型、输出再生矩阵从而评估模型的思路系统介绍拟合优度指数GFI、调整后拟合指数AGFI、标准化均方残差SRMR、非范拟合指数NNFI、比较拟合指数CFI等关键指标并结合多模型比较案例说明因子负荷、误差方差、因子相关结构的估计策略以及自由度与参数个数对模型优劣的影响。同时课件还嵌入了结构方程模型的基本框架涵盖测量模型、外源与内生指标、潜在变量和测量误差等要点帮助研究者理解SEM相对于传统回归的优势如同时处理多因变量、允许自变量含测量误差等。资源包仅含1个PPT文件大小1.22MB结构紧凑适合作为课堂教学或学术汇报的参考材料也便于自学时系统梳理CFA与分析流程。目前已有59人学习适合希望快速掌握LISREL建模与模型比较方法的初、中级研究人员。1. LISREL 验证性因素分析完整版从一份 PPT 到一条能落地的交付路径如果只把验证性因素分析当“跑一个软件、看几个拟合指标”那你拿到任何一份以 LISREL 为主题的教程都会觉得像天书。但说实话学会 LISREL 的脚本命令是理解结构方程模型内部机制最划算的一条路。标题里这份“完整版”的 PPT本质上承诺的正是同一件事——把问卷设计、协方差矩阵、测量模型、参数设定、输出解读和修正策略串成一条能独立走完的流水线。适合谁来读正在做量表验证的社科与经管研究者、要替别人跑模型的咨询从业者以及刚接触结构方程、不想把调参当玄学的同学。读完你会拿到一套能直接改参数用的语法模板也知道改每一个参数时 LISREL 在后台动了什么。2. 验证性因素分析的模型结构先想清楚你验证的是什么2.1 探索与验证的分水岭谁在决定因子与题项的从属关系探索性因素分析EFA是让数据自己聚堆研究者不管题目归属靠特征值、碎石图和旋转方案命名因子验证性因素分析CFA完全反过来你先用理论或前人量表指定 Q1~Q4 归属第一个潜变量Q5~Q8 归属第二个Q9~Q12 归属第三个然后检验这套指定结构能不能被数据拒绝。两者最大的差别在于自由度EFA 是在“无序中找秩序”CFA 是在“给定秩序下检验反证”。用 LISREL 跑 CFA 时你写下的 PA 矩阵就是在完成这种“指定从属关系”的动作每一个 1 都在向软件声明这道题属于这个因子请估计它的载荷。很多人在这一步就栽了。最常见的心态是“我先把所有题都放进去让软件告诉我哪些题不好”这本质是拿 CFA 当 EFA 用。CFA 的题目归属必须来自理论或前人文献而不是数据探索结果。你可以在报告里写明“依据某理论的三个维度构建三因子测量模型”这句话才是整个分析的合法前提。2.2 测量方程简写x Λxξ δ 在 LISREL 里怎么落CFA 的测量模型用一句话说观测变量 因子载荷 × 潜变量 测量残差。写成 LISREL 教材里的标准形式就是 x Λxξ δ。x 是 12 个题项的观测向量ξ 是 3 个潜变量Λx 是 12 行 3 列的因子载荷矩阵δ 是测量残差向量。LISREL 所有脚本都在做同一件事告诉软件 Λx 里面哪些位置载荷自由估计、哪些位置固定为 0、ξ 之间的相关是否允许存在、δ 的方差如何处理。这四条信息对应到语法上就是 MO 卡片里 LX、PH、TD 三个矩阵的设置。LX 管“题项和因子的关系”PH 管“潜变量之间的关系”TD 管“测量残差的方差”。点鼠标的工具把这层关系藏起来了LISREL 把它摊开。所以用 LISREL 跑 CFA 的价值不在结果本身而在它强迫你回答“你凭什么让 Q1 跟第一个潜变量有关”。2.3 五个核心卡片DA、LA、MO、PA、OU 各管什么一套能跑的 LISREL 语法基本绕不开这五类卡片DA数据卡片声明指标数、样本量、输入矩阵类型。LA标签卡片逐行给出变量名数量必须与 NI 一致。MO模型卡片定义 NX、NK以及 LX、PH、TD 等矩阵的初始状态。PA模式卡片用 0/1 矩阵声明哪些位置是自由参数。OU输出卡片决定要不要标准化解、修正指数、残差分析。执行顺序上DA 和 LA 先告诉软件“你的数据长什么样”MO 和 PA 告诉软件“你想估计什么模型”OU 控制“你要看哪些结果”。如果哪一步报错依次检查这几个环节比一张张翻界面快得多。2.4 为什么值得用 LISREL 而不是顺手拿 R 包三点理由R 语言里用现成结构方程包跑 CFA 也许只要十行代码默认工作流非常顺但初学者经常不知道模型是如何被识别的。LISREL 语法里你必须亲手写 PA 矩阵、亲手决定 PH 是固定还是自由这逼着你把识别逻辑过一遍。第二个理由是输出格式的规范性LISREL 给出的 LAMBDA-X、THETA-DELTA 和 MI 矩阵几乎就是教科书和论文里直接引用的命名方式读起来零迁移成本。第三很多期刊审稿人熟悉这套命名习惯你在报告里写“LAMBDA-X 标准化载荷范围 0.68~0.92”对方一眼就知道你说的是什么。这不是说 R 不好而是说 LISREL 更适合作为理解 CFA 的第一站。等你把 LISREL 的矩阵逻辑理顺了再回去用 R会发现所有参数名都能对上排错也快得多。3. 数据准备与 LISREL 语法编排一份能跑通的 CFA 命令模板3.1 数据准备为什么我建议直接用协方差矩阵而不是相关系数矩阵你的源数据可能是问卷原始回答也可能是已经算好的矩阵。LISREL 做极大似然估计时真正吃进去的是样本协方差矩阵。最稳妥的办法是预处理阶段直接输出协方差矩阵而不是用相关系数矩阵。原因很实在因子载荷的标准误和卡方值都依赖变量的方差尺度相关矩阵把每个变量的尺度信息都归一化掉了等于提前丢了一部分信息。如果你手里只有相关系数矩阵也不是不能跑但必须在 DA 卡片里同时给出每个变量的标准差让 LISREL 把相关矩阵换算回协方差矩阵。实际操作中很多人没给标准差就直接拿相关矩阵跑出来的卡方和 RMSEA 往往偏紧模型看起来比实际更差。这个坑在第五章还会再提一次。3.2 一份最小可运行模板12 题 3 因子固定方差策略下面是一份最常见的 CFA 模板12 个观测变量对应 3 个潜变量每个因子 4 题。协方差文件放在当前工作目录下文件名用英文。DA NI12 NO300 MACM LA Q1 Q2 Q3 Q4 Q5 Q6 Q7 Q8 Q9 Q10 Q11 Q12 CM FICFA_data.COV MO NX12 NK3 LXFU,FI PHFI TDDI,FR PA LX 1 0 0 1 0 0 1 0 0 1 0 0 0 1 0 0 1 0 0 1 0 0 1 0 0 0 1 0 0 1 0 0 1 0 0 1 OU MI SS ND3这段语法里每一行都有明确分工。DA 行声明了 12 个指标、300 个样本、输入矩阵类型为协方差矩阵LA 下面 12 行变量标签顺序必须和协方差矩阵的行列顺序完全一致CM FI 表示从外部文件读取协方差矩阵替换成你自己的路径即可。MO 行是核心。NX12 和 NK3 分别表示观测变量数和潜变量数LXFU,FI 表示载荷矩阵是满矩阵且所有位置先固定为 0PHFI 表示潜变量相关矩阵先固定成一个单位矩阵也就是潜变量方差固定为 1TDDI,FR 表示测量残差矩阵是对角阵并且对角线上的残差方差自由估计。PA 行下面那张 12 行 3 列的 0/1 矩阵是关键所在。每行对应一个观测变量每列对应一个潜变量1 的位置表示“这道题在这个因子上有载荷需要估计”。前 4 行第一列为 1代表 Q1~Q4 归属第一个潜变量中间 4 行第二列为 1代表 Q5~Q8 归属第二个潜变量最后 4 行第三列为 1Q9~Q12 归属第三个潜变量。最后的 OU 行里MI 表示输出修正指数SS 表示输出标准化解ND3 表示结果保留三位小数。这套模板跑通之后你得到的是一份完整的 CFA 结果文件包含载荷、潜变量相关、误差方差和全部拟合指标。3.3 参数设定策略固定方差、固定载荷到底选哪个上一节模板用的是“固定潜变量方差为 1”的策略这是 CFA 单独使用时最常见的做法好处是潜变量的尺度被锁死载荷直接反映指标与因子的关系强度。另一种常见策略是“固定每个因子第一个载荷为 1”让潜变量方差自由估计。做法如下。DA NI12 NO300 MACM LA Q1 Q2 Q3 Q4 Q5 Q6 Q7 Q8 Q9 Q10 Q11 Q12 CM FICFA_data.COV MO NX12 NK3 LXFU,FI PHSY,FR TDDI,FR PA LX 1 0 0 1 0 0 1 0 0 1 0 0 0 1 0 0 1 0 0 1 0 0 1 0 0 0 1 0 0 1 0 0 1 0 0 1 VA 1 LX 1 1 LX 5 2 LX 9 3 OU MI SS ND3区别只在两处。MO 行里 PH 从 FI 变成了 SY,FR表示潜变量相关矩阵为对称矩阵且所有元素自由估计语法最后多了一行 VA 1把第一个因子第 1 个载荷、第二个因子第 5 个载荷、第三个因子第 9 个载荷固定为 1作为潜变量的尺度基准。两种策略在模型拟合上通常是等价的区别在于参数解释。固定方差时潜变量方差是标准化的适合直接看因子相关固定载荷时潜变量方差是实际尺度后面如果要把 CFA 接成完整结构方程模型路径系数解释更自然。我的习惯是只做测量模型验证用固定方差计划继续跑结构模型就用 VA 1 固定载荷省的后面重跑一遍。3.4 跑之前先算识别条件t 规则与自由度检查模型能不能识别决定你跑出来的是有效结果还是一堆乱码。识别条件有一个最粗糙但最好用的“t 规则”模型中需要估计的自由参数个数不能超过协方差矩阵提供的非冗余元素个数。12 个变量的协方差矩阵非冗余元素数是 12×13/278 个。上面模板里需要估计的载荷是 12 个潜变量方差 3 个残差方差 12 个一共 27 个自由参数远小于 78识别空间很充裕。自由度就是 78 减 27等于 51。跑完之后LISREL 输出的自由度如果正好是 51说明你的参数设定和预期一致如果自由度数不对多半是 PA 矩阵里多写了 1 或者漏写了 0。识别不足的高发场景有两个。一是某个因子只用了 2 个指标并且这两个载荷都没做限制等于用 2 个观测变量反推 1 个潜变量方差、2 个载荷、2 个残差方差经常出现局部不可识别。二是 PA 矩阵里把某个因子的全部载荷都固定为 0相当于这个因子没有测量指标模型必然出问题。前者可以增加指标或者释放跨因子载荷后者就是纯粹的语法错误。3.5 数据文件常踩的编码边界变量名、路径和末行换行符LISREL 对纯文本输入的挑剔程度远超现代软件很多“玄学报错”其实都出在文件本身。变量名不要带中文、不要带空格Q1、Q2、item1、item2 这种最稳协方差或原始数据文件的完整路径用英文不要出现中文目录LISREL 老版本对非英文字符的处理经常翻车。还有一个很容易忽略的细节数据文本文件最后一行要有换行符否则 LISREL 可能不读最后一行的内容直接导致变量数和协方差维度对不上。每次跑之前我习惯先数一遍空格数和行数确保变量标签数量等于 NI 声明值再去打开 LISREL 主程序。这部分花两分钟能省掉后面半小时排查。4. LISREL 输出解读四张表管住拟合指标与效度判断4.1 LAMBDA-X 与标准化解先看符号、再看大小跑完后打开输出文件找到 “LISREL Estimates (Maximum Likelihood)” 这一段最先看的就是 LAMBDA-X 矩阵。这个矩阵的每个元素就是题项在因子上的载荷。非标准化载荷看相对大小标准化载荷看绝对合理性后者依赖 OU 行里的 SS 参数所以输出时必须加上。判断顺序有三步。第一步看符号载荷应该是正的如果出现显著负值先怀疑反向计分的题项没做反转处理第二步看大小标准化载荷在 0.50~0.95 之间是比较健康的状态低于 0.50 说明这个题项和因子的共同方差太少第三步看 t 值输出里每个载荷下面会附 t 值绝对值超过 1.96 才算显著。三步都过了再谈拟合指标。4.2 Goodness of Fit StatisticsRMSEA、CFI、SRMR、卡方怎么取舍LISREL 输出里会有一整块拟合统计量新手经常不知道以谁为准。我给一个自己惯用的取舍顺序RMSEA、CFI、SRMR 三者为主卡方只做参考。指标可接受阈值良好阈值注意点卡方/df32大样本下几乎必然显著别用它一票否决RMSEA0.080.06输出里带 90% 置信区间看区间上限更稳CFI0.900.95小于 0.90 说明模型与数据差异明显SRMR0.080.05输出名称是 Standardized RMR很多人只盯卡方 p 值样本量上了 300p 值很难大于 0.05然后就开始疯狂修模型这是最常见的误用。我一般会先看 RMSEA 和 CFI这两个指标对样本量不那么敏感SRMR 如果超过 0.08则说明残差里还有明显的结构信息没被模型解释这时候才需要认真考虑修正方向。4.3 PHI 矩阵与区分效度潜变量相关不能盲目大PHI 矩阵是潜变量之间的相关系数。它有两个作用一是告诉你三个因子到底是不是三个不同的东西二是用来辅助判断区分效度。如果某两个潜变量相关超过 0.85基本可以认为它们测的是同一个构念题目归属会遭到严重质疑。更严格的区分效度检验需要算平均方差提取量 AVE 和组合信度 CR。LISREL 不直接给这两个数要在输出里手动计算。公式如下AVE Σ(标准载荷²) / [Σ(标准载荷²) Σ(残差方差)]CR (Σ标准载荷)² / [(Σ标准载荷)² Σ残差方差]举个例子某因子 4 个题项的标准载荷分别是 0.72、0.74、0.69、0.70对应的残差方差约是 1 减载荷平方即 0.48、0.45、0.52、0.51。四个载荷平方和是 2.05残差方差和是 1.96AVE 就是 2.05 除以 4.01约 0.51刚过 0.5 的门槛。CR 用四个载荷的和 2.85 平方除以同样分母算出来约 0.81。AVE 大于 0.5、CR 大于 0.7收敛效度才算站得住。4.4 MI 修正指数能用但它不替你做理论决定输出文件后半段有一大块 “Modification Indices and Expected Change”显示的是每个被固定参数的修正指数。MI 数值可以粗略理解为“如果释放这个参数卡方会下降多少”。MI 大于 10 确实值得看一眼但看的方向比数值更重要。我见过最典型的错误Q3 和 Q8 的残差之间 MI 有 40就直接加一条残差相关路径拟合瞬间好看但这两个题一个属于因子一、一个属于因子二语义上八竿子打不着。这种修正你用一次审稿人就能用十次质疑你的模型是数据驱动。MI 的正确用法是先看期望改变量 Expected Change 的方向和大小再看这两个指标在理论或题面语义上是否有共同方法因素如果都没有宁可保持原模型。5. LISREL 验证性因素分析高频坑五个翻车现场与排查清单5.1 现象迭代中断提示协方差矩阵非正定跑着跑着 LISREL 直接报错提示矩阵不是正定矩阵进程退出。这种报错在 CFA 里非常高频尤其是样本量不大、指标又多的时候。先说明现象不是你的模型设定错了而是参加分析的协方差矩阵里存在线性相关或估计不稳定。原因通常是三类。一是样本量相对于变量数太少比如 100 个样本偏要放进 20 个变量协方差矩阵本身就不可靠二是某两个题项几乎完全线性相关常见的来源是同一道题被录入两次、或者正反计分后的两个题本质是同一道题三是缺失值处理不当软件用 pairwise 方式补全导致矩阵内部矛盾。解决步骤依次是先把完全相关的重复题删掉再看样本量经验上每个指标至少对应 10 个样本12 个指标建议不低于 200最后检查缺失值尽量用原始数据让 LISREL 或前端工具做完整估算而不是手动填均值。5.2 现象模型能跑但自由度对不上脚本能跑完说明语法没有致命错误但输出里自由度和自己预期差很多。你预期 51它给你 45或者干脆给个负数。这往往不是 LISREL 算错而是你实际估计的参数个数和以为的不一样。最常见的原因在 PA 矩阵和 MO 行不一致。比如 MO 里写的是 LXFU,FR这个设置本身已经把载荷矩阵所有位置都设成自由参数了后面再用 PA 去限制就会产生混乱或者 PA 矩阵里多写了 1导致自由参数增加自由度缩小。解决方法是把 LXFU,FR 改为 LXFU,FI让所有载荷先固定只用 PA 矩阵来控制哪些位置被释放这样自由度完全透明。跑完对照 3.4 节算出来的预期自由度对不上就回头数 PA 里面的 1。5.3 现象标准化载荷超过 1 或残差方差为负这个现象在结构方程里有个专门的名字叫 Heywood case。表现是标准化解里某个载荷大于 1或者某个残差方差是负数输出结果在数学上不合法。它的出现几乎总是由估计问题引发的。常见诱因有三个样本量太小或某个指标与因子的关系过于强某个因子只有两个指标局部识别太弱数据本身有极端异常值导致协方差被单点拉动。解决时不要试图用语法硬约束真正的做法是回到数据侧。先删掉极端离群值再看该因子的指标数量如果只有两个指标考虑增加指标或合并因子如果样本量低于 150这个结果本身就不值得解释。那些把负残差强行固定为 0 的办法只是掩盖症状不解决估计不稳的根子。5.4 现象用相关系数矩阵跑模型拟合指标全部偏紧这是把相关矩阵直接喂给 LISREL 后的典型症状模型看起来能跑完但 RMSEA 比预期高一大截CFI 也偏低你开始怀疑是不是模型结构错了。先别急着删题问题很可能出在数据尺度上。前文提过相关矩阵已经把所有变量方差归一化LISREL 做极大似然估计时少了尺度信息卡方和拟合指标都会受影响而且影响方向并不总是温和的。解决方法是改用协方差矩阵如果你只有相关矩阵必须在 DA 行里同时声明 MAKM并额外用 SD 指令把每个变量的标准差喂给软件让 LISREL 先把相关矩阵还原成协方差矩阵再进入拟合阶段。检查点输入文件里是否真的出现了每个变量的标准差缺一行都会导致结果不可信。5.5 现象加了几条 MI 之后拟合上去了因子结构却解释不了这是最常见的“数据驱动翻车”。初始模型 CFI 只有 0.86按 MI 提示连续加了三条残差相关CFI 冲到 0.95你以为模型修好了然后发现 Q3 和 Q9 的残差被相关在一起而这两个题分属完全不同的维度你根本没法向读者解释这条残差相关是什么。原因很简单MI 只告诉你统计上释放哪个参数能降卡方它不告诉你这两个测量误差为什么相关。更好的做法是先把那些 MI 特别大的题项从语义上重新读一遍看它们是否存在相近的表述、同一种反向计分方式、或者共同的方法效应。如果找不到理论依据最优解是直接删除某个问题题项而不是保留题项并不断加残差相关。删题之后重新拟合模型自由度和解释力都会更干净。6. 从 CFA 往前一步把测量模型接成结构模型6.1 从测量模型到结构模型只动两个矩阵CFA 跑通并做好效度报告之后下一步通常是把潜变量之间加上路径关系形成完整结构方程模型。在 LISREL 里这一步不是推翻重写而是在原有基础上增加 BE 和 GA 两个矩阵。BE 表示潜变量之间的回归路径GA 表示外源潜变量对内源潜变量的直接影响。MO 行大致变成这样MO NX12 NK3 LXFU,FI PHSY,FR TDDI,FR BEFU,FI GAFU,FIPA 阶段再分别为 BE 和 GA 各写一张 0/1 模式矩阵声明哪条路径有理论依据、哪条路径固定为 0。这里最容易犯的错是把所有路径都设为自由等于让数据自己挑路径语义上和探索性分析没有区别。我自己的习惯是每次只释放一条路径比较前后模型的卡方差异而不是一次性把所有路径全打开。6.2 两步法习惯先把测量模型跑干净再谈结构路径从交付角度我非常推荐两步法先单独跑 CFA确认载荷、拟合指标、效度都达标再做完整结构模型。这个顺序的好处是如果最终模型翻车你能立刻判断问题出在测量层还是路径层。我曾经在一个问卷项目里图省事跳过单独的 CFA 直接跑总模型结果某条路径系数荒谬到没法解释排查了很久才发现是最初的测量模型就没收敛因子都站不住路径怎么可能站得住。从那以后我把 CFA 当作必经检查点哪怕最终报告里只给总模型心里也先有测量模型的底。完整版方案的价值就是让你每一步都有据可查不靠瞎猜希望帮到你。本文还有配套的精品资源点击获取
返回列表
PREV
查看更多资讯
NEXT
返回资讯列表