实证方法教程 / efa

探索性因子分析 EFA

不是几个题随便装一个因子

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

探索性因子分析 EFA是什么?

探索性因子分析 EFA 回答的是一组题项背后可能隐藏着几个共同维度。它用于量表开发早期,帮助发现题项如何聚成因子。

先用一句话理解

把 EFA 想成整理一堆问卷题。你还不确定这些题到底测几个概念,EFA 会根据题项之间的相关性,把经常一起变化的题归到同一潜在维度。

什么时候用

判断项教科书式判断
适合用在量表结构尚不明确,需要探索潜在维度。
先不要用在已有明确理论结构并要验证题项归属。那是 CFA。
最关键的前提题项之间应有足够相关性,样本量要支撑因子提取。
读表顺序先看 KMO/Bartlett,再看因子数、旋转后载荷和交叉载荷。
论文表述边界EFA 是探索性证据,最好用独立样本再做 CFA 验证。

把它和相近方法分清楚

容易混淆的对象怎么区分初学者记法
相关矩阵看题项两两关系。不提取潜在维度。
EFA探索几个因子和题项归属。适合量表开发。
CFA验证预设因子结构。适合理论确认。

核心直觉和模型公式

共同因子模型

EFA 的基本形式是:

\[y_i=\Lambda f_i+u_i\]

f 是潜在共同因子,Lambda 是题项在各因子上的载荷。

公式里的符号怎么读

符号含义在本页怎么理解
y_i题项向量一组问卷题或观测指标。
f_i共同因子题项背后的潜在维度。
Λ因子载荷题项和因子的相关强度。
u_i独特因素题项自己的特殊误差或特征。
rotation旋转让因子载荷结构更容易解释。

专业使用口径

专业 EFA 报告要说明因子数怎么定,题项如何保留。

口径专业写法
适用性检验KMO 和 Bartlett 说明数据是否适合因子分析。
因子数结合特征值、碎石图和平行分析。
旋转方式正交或斜交旋转要符合因子相关预期。
删题规则低载荷或高交叉载荷题项要有透明规则。

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

步骤这一页具体做什么做到什么程度才算读懂
1. 检查相关性题项之间要有共同变化。完全不相关无法提因子。
2. 判断因子数用碎石图、特征值和理论。不要只机械看大于 1。
3. 选择旋转让因子结构更清楚。社会科学中斜交旋转常见。
4. 读取载荷看每个题项主要加载到哪个因子。交叉载荷要处理。
5. 命名因子根据高载荷题项给因子命名。命名要回到题项内容。

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

本页案例读表时,先记住这个口径:案例派生 alpha = 0.0409,第一因子解释率 = 0.1876,题项数 = 6。

读表顺序本页怎么读不要这样读
先看 KMO/Bartlett数据是否适合做 EFA。适用性不过关就别强做。
再看因子数提取几个因子。因子数决定解释结构。
然后看旋转载荷题项归属是否清楚。交叉载荷说明题项不纯。
最后看命名因子名是否符合题项含义。不要给因子贴过大的概念。

初学者最容易错在哪里

误读为什么错
把 EFA 当确认性证据错。它是探索。
因子数只按特征值大于 1不够。要结合碎石图和理论。
交叉载荷题项不处理风险高。量表维度不清。
因子命名脱离题项错。名字要来自高载荷题项。

先看这个案例的结论

  • 案例派生 alpha = 0.0409,第一因子解释率 = 0.1876,题项数 = 6。
  • 这里用财务变量秩分位派生题项做教学演示;正式问卷论文要换成真实题项,并报告每个题项载荷。
  • 量表方法的顺序是:信度/同源方差/EFA/CFA/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
输出文件efa_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

factor roa lev size growth cashflow tobinq top1 indep, factors(2) pcf
rotate, varimax
estat kmo
export delimited using "$JOB_DIR/efa_results.csv", replace

实际输出表

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

指标数值解释
样本1200 obs / 196 firms / 2015-2020来自共用案例 CSV
因变量ln(1 + patent_count)企业创新产出
核心解释变量dfi_index数字普惠金融指数
输出文件efa_results.csvempirical-wizard 对应方法产物
案例派生 alpha0.0409用财务变量秩分位派生题项
第一因子解释率0.1876Harman 单因素检验最先看的比例
第二因子解释率0.1719EFA 需要同时看多个因子
题项数6roa/lev/size/growth/cashflow/tobinq

案例图

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

EFA 探索性因子分析 的共用案例输出图。
EFA 探索性因子分析 的共用案例输出图。

论文里怎么写

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

检查清单

  • 先看 KMO 和 Bartlett,确认数据适合做因子分析。
  • 因子数要结合理论、碎石图和平行分析,不能只看 eigenvalue > 1。
  • 交叉载荷和低共同度题项要回到题义判断,不能机械删题。

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