实证方法教程 / sem

结构方程模型 SEM

不是把回归箭头画得更复杂

这节课解决什么适合问卷题项、潜变量、测量模型和路径模型。
先准备哪些变量因变量 / 核心解释变量
会看到哪张表sem_results.csv
论文里怎么克制解释按信度、效度、测量模型、结构路径的顺序写,不要跳步。

结构方程模型 SEM是什么?

结构方程模型 SEM 回答的是多个潜变量和观测变量之间的测量关系与结构路径是否同时符合数据。它把“如何测量概念”和“概念之间如何影响”放在同一个框架里。

先用一句话理解

把 SEM 想成先用多道题测出一个看不见的概念,比如信任或满意度,再研究这些概念之间的路径关系。它不是一堆回归拼起来,而是测量模型和结构模型同时成立才有说服力。

什么时候用

判断项教科书式判断
适合用在研究含潜变量、量表题项和多条路径关系的理论模型。
先不要用在每个概念只有一个清楚观测变量,普通回归已经足够。
最关键的前提测量模型要可靠,结构路径要有理论顺序。
读表顺序先看测量载荷和拟合指标,再看结构路径系数。
论文表述边界SEM 的路径显著不自动证明因果,仍需研究设计支持。

把它和相近方法分清楚

容易混淆的对象怎么区分初学者记法
回归观测变量之间的关系。不处理潜变量测量误差。
CFA验证潜变量由哪些题项测量。只看测量模型。
SEM测量模型 + 结构路径。同时估计概念和关系。

核心直觉和模型公式

测量模型和结构模型

SEM 可以分成两部分:

\[y=\Lambda\eta+\varepsilon\]
\[\eta=B\eta+\Gamma\xi+\zeta\]

第一式说明观测题项如何测量潜变量,第二式说明潜变量之间的结构路径。

公式里的符号怎么读

符号含义在本页怎么理解
y观测题项问卷条目或可观察指标。
η内生潜变量由题项测量、也被其他潜变量解释的概念。
ξ外生潜变量结构模型中的外生概念。
Λ因子载荷题项和潜变量的关系。
B, Γ结构路径潜变量之间的影响路径。

专业使用口径

专业 SEM 报告要先证明量表测得准,再讨论路径是否成立。

口径专业写法
测量质量载荷、信度和效度要先过关。
拟合指标报告 CFI、TLI、RMSEA、SRMR 等整体拟合。
路径理论结构路径不能只靠 modification index 拼凑。
模型修正任何释放误差相关都要有理论理由。

一步一步做:从问题到结果的五步

步骤这一页具体做什么做到什么程度才算读懂
1. 定义潜变量每个概念对应哪些题项。概念边界要清楚。
2. 检查测量模型载荷、信度、效度和拟合。测量不稳,路径无意义。
3. 设定结构路径按理论写出概念关系。不要用数据事后画路径。
4. 读取拟合指标看整体模型是否能接受。单条路径显著不够。
5. 解释路径在测量合格前提下读结构系数。因果语言要谨慎。

结果怎么读:先读口径,再读数字

本页案例读表时,先记住这个口径:finance -> ln Patent 路径是 0.1266,governance -> ln Patent 路径是 0.2058。

读表顺序本页怎么读不要这样读
先看载荷题项是否测到对应潜变量。低载荷题项会拖累模型。
再看拟合整体模型是否可接受。拟合差时路径表不可靠。
然后看路径理论路径是否显著且方向正确。路径要服务理论。
最后看修正是否有过度事后调整。过度修正会损害可解释性。

初学者最容易错在哪里

误读为什么错
测量模型没过就解释路径错。潜变量都不稳,路径无意义。
只报显著路径不报拟合错。SEM 要看整体拟合。
按 modification index 拼模型风险高。会变成数据挖掘。
把横截面 SEM 写成因果证明过强。还需要时间顺序或设计。

先看这个案例的结论

  • finance -> ln Patent 路径是 0.1266,governance -> ln Patent 路径是 0.2058。
  • 控制潜变量后的 DFI direct path 是 0.0032,模型 R² 是 0.0777。
  • SEM 页不能只给路径图,至少要同时交代潜变量怎么构造、路径系数和整体拟合/解释度。

变量要求和案例口径

字段口径
数据CSMAR 风格 A 股企业创新面板
原始样本196 家上市公司,2015-2020 年,约 1200 个公司-年观测;各方法有效样本以本页输出表 N 为准
因变量patent_count;回归页通常使用 ln(1 + patent_count)
核心解释变量dfi_index,数字普惠金融指数;部分案例输出展示的是标准化后的 dfi_index
控制变量roa、lev、size、growth、cashflow、tobinq、top1、dual、board、indep、soe、age
输出文件sem_results.csv
角色要求因变量、核心解释变量
依赖包无额外 Stata 社区包要求

实际代码

下面是本页案例里的最小 Stata 代码。它的作用是帮助你看清变量怎么进入模型、结果文件怎么生成,而不是要求你在网页里手动运行。

import delimited "$DATA_PATH", clear varnames(1) encoding(UTF-8)
gen ln_patent1 = ln(1 + patent_count)
egen firm_id = group(stkcd)
xtset firm_id year

global y ln_patent1
global count_y patent_count
global x dfi_index
global controls roa lev size growth cashflow tobinq top1 dual board indep soe age
gen post = year >= 2018
bysort firm_id: egen pre_dfi = mean(cond(year < 2018, dfi_index, .))
quietly summarize pre_dfi, detail
gen treat = pre_dfi >= r(p50)
gen did = treat * post
gen high_patent = patent_count > 2
gen running_dfi = dfi_index - 260
gen rdd_treat = running_dfi >= 0

sem (finance -> roa lev cashflow) (governance -> top1 indep board) ($y <- finance governance $x)
estat gof, stats(all)
export delimited using "$JOB_DIR/sem_results.csv", replace

实际输出表

这张表是本方法页配套案例的输出结果,用来把前面的公式、变量口径和代码对应到实际数字。

指标数值解释
样本1200 obs / 196 firms / 2015-2020来自共用案例 CSV
因变量ln(1 + patent_count)企业创新产出
核心解释变量dfi_index数字普惠金融指数
输出文件sem_results.csvempirical-wizard 对应方法产物
finance -> ln Patent0.1266由 ROA/Cashflow/TobinQ/Lev 派生的财务潜变量路径
governance -> ln Patent0.2058由 Top1/Indep/Board 派生的治理潜变量路径
DFI direct path0.0032控制两个潜变量后的直接路径
模型 R²0.0777教学路径模型的解释度

案例图

这是一张由同一份案例数据生成的页面内诊断图。

结构方程 SEM / 路径分析 的共用案例输出图。
结构方程 SEM / 路径分析 的共用案例输出图。

论文里怎么写

本文使用结构方程 SEM / 路径分析对案例派生题项进行量表/潜变量诊断。结果见 sem_results.csv。若信度、载荷或拟合指标未达到常用阈值,后续结构路径不宜直接作为强证据解释。

检查清单

  • 先验证测量模型,再解释结构路径;CFA 不过时不要急着看 SEM 路径。
  • 报告拟合指数、标准化载荷、路径系数和间接效应。
  • 横截面 SEM 不能自动写成严格因果链,理论顺序必须交代。

返回教程库 · 查看共用案例