实证方法教程 / harman

Harman 单因子检验

共同方法偏差不是三分钟就能彻底搞定

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

Harman 单因子检验是什么?

Harman 单因子检验回答的是问卷数据中共同方法偏差是否可能由一个共同因子主导。它是非常粗略的诊断,不是证明没有共同方法偏差的充分证据。

先用一句话理解

把 Harman 检验想成把所有问卷题扔进一个探索性因子分析里,看看第一个因子是不是吞掉了大部分方差。如果一个因子解释得特别多,说明同源测量偏差可能很强;如果没有,也不能说完全没问题。

什么时候用

判断项教科书式判断
适合用在问卷变量来自同一被试、同一时间、同一问卷,需要初步诊断共同方法偏差。
先不要用在把它当作唯一的共同方法偏差处理。
最关键的前提所有题项的方向和量表口径要先处理一致。
读表顺序先看未旋转因子分析,再看第一因子解释方差比例。
论文表述边界Harman 只能作为弱诊断,最好补充程序控制或 marker variable。

把它和相近方法分清楚

容易混淆的对象怎么区分初学者记法
Cronbach α检查同一量表内部一致性。不是共同方法偏差。
EFA探索多个潜在因子。用于结构发现。
Harman 单因子看单一共同因子是否解释大部分方差。共同方法偏差粗诊断。

核心直觉和模型公式

第一因子解释比例

Harman 常关注:

\[Share_1=\frac{\lambda_1}{\sum_{j=1}^{k}\lambda_j}\]

lambda1 是第一因子的特征值,分母是所有因子特征值之和。

公式里的符号怎么读

符号含义在本页怎么理解
λ1第一因子特征值未旋转因子分析中最大因子解释量。
k题项数量进入检验的问卷题项数。
Share1第一因子解释比例判断单因子是否占主导的指标。
common method bias共同方法偏差同源、同时间、同方法测量造成的偏差。
marker variable标记变量更强的共同方法偏差诊断或控制方法之一。

专业使用口径

专业 Harman 写法要明确它只是弱证据。

口径专业写法
未旋转常规 Harman 使用未旋转因子分析。
阈值谨慎常见 50% 经验阈值不是铁律。
补充方法程序控制、时间错开、marker variable 更有说服力。
表述边界不能写“已完全排除共同方法偏差”。

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

步骤这一页具体做什么做到什么程度才算读懂
1. 准备题项反向题和缺失先处理好。题项方向错会影响因子结构。
2. 做未旋转 EFA把关键问卷题项一起进入。Harman 是粗略因子诊断。
3. 读取第一因子看解释方差比例。比例过高说明风险。
4. 结合其他证据程序设计和统计控制一起看。单一检验不够。
5. 谨慎写结论说未发现单一因子主导更合适。不要说完全没有偏差。

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

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

读表顺序本页怎么读不要这样读
先看题项范围哪些变量进入检验。范围不同结果不同。
再看第一因子比例是否过高。高比例是风险信号。
然后看多因子结构是否明显不止一个因子。这只是粗证据。
最后看补充控制是否有程序或统计补救。Harman 单独不强。

初学者最容易错在哪里

误读为什么错
Harman 通过就说没有共同方法偏差错。它只能弱诊断。
旋转后结果当 Harman不严谨。常规检验看未旋转第一因子。
不处理反向题风险高。题项结构会乱。
把共同方法偏差和信度混淆错。二者问题不同。

先看这个案例的结论

  • 案例派生 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
输出文件harman_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(1) pcf
estat kmo
export delimited using "$JOB_DIR/harman_results.csv", replace

实际输出表

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

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

案例图

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

Harman 单因素同源方差 的共用案例输出图。
Harman 单因素同源方差 的共用案例输出图。

论文里怎么写

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

检查清单

  • 只把问卷题项放入 Harman 检验,不要把客观控制变量混进去。
  • 第一因子解释率低只能说明没有明显单因子支配,不能证明无共同方法偏差。
  • 更严格问卷研究应补充程序控制或 CFA 方法因子比较。

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