实证分析中不同回归模型的样本量经常变化——原因、警惕信号与审稿人的关切
你的论文有四张回归表。每张表的样本量都不同:
一、开篇:你的 Table 1 有 8,000 个观测,但 Table 4 只剩 2,400——审稿人一定会问
你的论文有四张回归表。每张表的样本量都不同:
- Table 1(描述性统计):N ≈ 8,000
- Table 2(基准 OLS 回归):N = 5,234
- Table 3(工具变量 2SLS):N = 3,102
- Table 4(中介效应分析):N = 2,456
从 Table 1 到 Table 4,你的样本缩水了 70%。而你在正文中没有对任何一次缩水做出解释。
审稿人打开你的论文,目光从 Table 1 的 N = 8,000 扫到 Table 4 的 N = 2,456——写下了意见:
"各表的样本量差异显著——从 Table 1 的 8,000+ 到 Table 4 的不足 2,500。作者没有解释每次样本缩减的原因、被剔除的观测的特征、以及这种样本选择是否可能影响估计结果的外部有效性。请提供完整的样本构建流程和每次删减的原因,并讨论样本选择对结论的潜在影响。"
这个问题在实证论文中几乎是普遍存在的——但绝大多数作者在初稿中没有对它给予足够的关注。 这篇文章就是帮你理解:N 的变化哪些是"正常的"、哪些是"需要警惕的",以及为什么审稿人如此关注这个数字。
**核心信息:样本量在不同回归模型之间的变化是实证分析中的常态而非例外——但不是所有的 N 变化都是"无害的"。合理的 N 变化有三种来源:(1)**变量缺失值的扩散 **——新加入的变量有额外的缺失观测,导致样本缩减;(2)**样本限制条件的逐层施加 **——如"仅制造业企业""仅 A 股上市公司"等筛选条件在不同的表格中被逐步应用;(3)**估计方法对数据结构的内在要求 ——如固定效应模型自动丢弃只有一期的个体(singletons)、条件 Logit 只保留 Y 在时间上有变动的个体、2SLS 要求工具变量非缺失。合理的 N 变化需要在论文中被明确追踪和解释——通常以"样本构建流程图"的形式呈现。需要警惕的 N 变化有三种情况:(1)N 的缩减幅度过大(> 30%—50%)且没有解释——审稿人无法判断剩余的样本是否还是原始总体的合理代表;(2)N 的缩减是选择性的 ——被剔除的观测在关键特征上系统性地不同于保留的观测,这可能引入样本选择偏误;(3)不同模型"应该"有相同的 N 但实际上不同——如 OLS 和 IV 在相同的变量集下应有相同的 N,如果 IV 的 N 更小,说明 IV 变量本身有缺失,需要解释其原因和可能的系统性。审稿人关注 N 的变化,不是因为他们在做"数学核算"——而是因为 N 的变化背后隐藏着三个实质性威胁:外部有效性的丧失(你的结论从 8,000 人的总体萎缩到了 2,400 人的子集)、样本选择偏误(被剔除的人不是随机的——他们可能恰好是你的处理效应最强或最弱的那群人)、以及研究透明度的缺失(读者无法追踪你的分析路径)。
二、N 变化的三种合理来源——不是所有缩水都是问题
2.1 来源一:变量缺失值的扩散——最常见的理由
你从 Table 1 到 Table 2 加入了 8 个控制变量——其中 3 个有缺失值。在 OLS 中,任何一个变量的缺失都会导致该行观测被整行删除(listwise deletion)。N 从 8,000 降到 5,234。
这是最常见也最"无辜"的 N 变化。 但"最常见"不等于"不需要解释"。你需要说清楚:
- 是哪些变量导致了缺失?
- 缺失的比例是多少?
- 缺失是随机的还是系统性的?(如"小企业更可能不报告研发支出——因此研发支出的缺失集中在规模分布的低端")
在 Stata 中快速诊断 N 缩减的来源:
* 在回归后,查看每个变量的缺失模式
reg y x1 x2 x3
* 注意输出中的 N
* 然后逐步加入变量,观察 N 的变化
reg y x1 // N 最大的基准
reg y x1 x2 // x2 缺失导致 N 缩减?
reg y x1 x2 x3 // x3 缺失导致 N 进一步缩减?2.2 来源二:样本限制条件的逐层施加——"我在研究不同的群体"
你在 Table 2 中使用了全样本(所有行业)。在 Table 3 中,你说"本文进一步将样本限制于制造业企业"——N 从 5,234 降到 3,800。在 Table 4 中,你说"本文只保留在样本期间至少连续存续 5 年的企业"——N 进一步降到 2,800。
这类 N 变化是研究设计驱动的,本身无错——但每个施加的限制条件都是对外部有效性的一个威胁。 当你说"本文的结论适用于制造业企业"时,你在明确地限制你的结论的范围——这是诚实的。当你没有明确地说这个限制,但实际已经施加了——读者被误导为你的结论是"所有企业"的,而它只是"连续存续 5 年的制造业企业"的——这种不透明是审稿人反感的。
2.3 来源三:估计方法对数据结构的内在要求——"不是我要丢弃,是方法决定的"
这类 N 变化是方法论本质的一部分——你不需要为它道歉,但你需要明确地解释它是如何发生的:
FE 模型丢弃 Singletons(T=1 的个体): 固定效应模型需要在个体内部有至少两个时间点来识别组内变异。只有一期观测的个体(singletons)在 FE 中被自动丢弃。这可以使 N 缩减 5%—15%,取决于你的面板的平衡程度。
条件 Logit(FE Logit)只保留"转换者": 对二值因变量的面板 FE 估计——只有 Y 在时间上至少有一次从 0 到 1(或 1 到 0)变动的个体才进入条件似然。如果 70% 的个体在所有年份的 Y 都等于 0——条件 Logit 的 N 可能只保留了 30% 的原始个体。这不是模型的错——这是数据的"信息量"的直接反映。但你需要告诉审稿人这个数字。
IV 回归丢掉工具变量缺失的观测: 如果你使用了外部工具变量(如"到港口的距离""出生季度"),这些变量的缺失可能不是随机的——距离数据可能在偏远地区更粗略,出生季度在非正规部门不可得。IV 中 N 的缩减不仅是"样本变小了"——它可能也改变了样本的构成。
在论文中的标准写法:
"在表 3 的条件 Logit 模型中,样本量缩减至 N = 1,847(企业-年)对应 412 家企业在至少一个年度中变更了其出口状态。条件 Logit 的似然函数只利用 Y 存在时间变动的个体的信息——因此 256 家出口状态始终不变的企业被自动排除。附表 X 比较了'转换者'和'非转换者'在可观测特征上的差异——两者在规模和行业分布上相似,但在年龄上存在差异(非转换者更年轻)。"
三、什么情况下需要警惕?——N 变化的五种红旗
3.1 红旗一:N 的缩减幅度超过 30%—50%,且没有任何解释
如果你的 N 从 8,000 降到 5,000(37.5%)以降到了 2,400(又 52%)——而你在正文中只字未提——审稿人会立刻警觉。
原因:如果 70% 的观测从你的原始样本中被丢掉了,而你没有解释被丢掉的 5,600 个观测是谁——审稿人无法判断你的结论是 8,000 人的结论还是 2,400 人的结论。如果你的结论恰好只在那 2,400 人中成立——而且这 2,400 人恰巧是某个特定类型(如大企业、城市居民、高收入者)——你的结论可能是选择偏差的产物。
3.2 红旗二:N 的缩减是选择性的——被剔除的观测系统性地不同
缺失不是随机的——研发数据的缺失集中在小企业和非正式企业上。如果你的结论是"研发提高了企业生产率",而你最终的估计样本只包含有研发数据的大企业——你的结论可能不适用于小企业和非正式企业。这本身不致命——致命的是你假装它可以。说清楚"谁被丢掉了"和"丢掉他们的原因"不是弱点——它是透明度的标志。
3.3 红旗三:不同的模型"应该"有相同的 N——但实际上不同
你的 OLS 基准回归有 N = 5,234。你的 IV 回归(用相同的 X 变量集 + 一个工具变量)应该有相同的 N——因为你只在原有变量集上增加了一个变量(IV)。但如果 IV 的 N = 3,102——你知道 IV 变量本身有缺失,且缺失了 2,132 个观测(40.7%)。IV 的缺失不是随机的——如果 IV 是"行业均值(不包括本企业)",而你的数据中某些行业只有一家企业——这些单一企业行业的观测在 IV 构造时缺失,并非随机,而是行业结构决定的。
3.4 红旗四:增加控制变量 → N 显著缩减 → 核心系数的显著性变了
你在基准模型中只有 3 个控制变量,β̂ 显著。你加入了 5 个额外的控制变量——N 从 5,234 降到 3,800(因为新控制变量有缺失),且 β̂ 变得不显著了。
审稿人会质疑:是增加的控制变量吸收了 X 的效应,还是被剔除的 1,434 个观测是 X 效应最强的那部分?这两个解释对结论的影响完全不同——但如果不追踪 N 的变化,你无法区分它们。
标准的诊断方式:
- 用基准模型的变量集,但限制在"新控制变量无缺失"的子样本上,重新估计基准模型。
- 如果在这个相同样本上,β̂ 不显著了 → 是样本选择驱动了变化(被丢掉的观测恰巧是效应最强的)。
- 如果在这个相同样本上,β̂ 仍然显著 → 是新增的控制变量解释了 X 的效应。
* 诊断:是样本选择还是控制变量?
* 步骤一:基准模型,全样本
reg y x controls1 // N = 5,234, β̂ 显著
* 步骤二:基准模型,但限制在"新控制变量无缺失"的样本上
reg y x controls1 if !missing(new_control) // N = 3,800
* → 如果 β̂ 仍显著 → 控制变量是驱动因素(好)
* → 如果 β̂ 不显著了 → 样本选择是驱动因素(需要警惕和解释)3.5 红旗五:N 在分组回归中相差悬殊
你的主要分析包含分组回归——"大企业组"和"小企业组"。你在正文中说"X 的效应在大企业组中更强"。但大企业组的 N = 800,小企业组的 N = 4,200。
审稿人会质疑:(a)你的"大企业组"的定义合理吗?(b)小企业组的 N 是大企业组的 5 倍——为什么?(c)大企业组中 β̂ 的"显著性"可能是标准误太大(N 小)或极值驱动的——而小企业组中 β̂ 的"不显著性"可能只是标准误太小(N 大)——你需要展示这一点,而非仅依赖 p 值。
四、为什么审稿人如此关注 N?——不只是数学,是三个实质性威胁
4.1 威胁一:外部有效性——"你的结论适用于谁?"
N 从 8,000 降到 2,400——你的结论的"适用范围"是否也跟着缩小了?如果你的原始数据代表了全国的制造业企业,但你最终的分析样本只剩下了"在样本期内存续至少 5 年、有完整的研发数据、且在至少一年出口过的企业"——你的结论对于新成立的企业、不报告研发的企业、始终不出口的企业可能完全不成立。
这不是说你的研究无效——而是你需要诚实地界定你的结论的适用范围。N 的变化是界定这个范围的线索——审稿人通过追踪 N 来追踪你的结论从"所有人"到"某个子集"的收缩。
4.2 威胁二:样本选择偏误——"被剔除的人不是随机的"
如果你的 Y 是工资,而你的样本中有 30% 的人工资缺失——缺失的人很可能不是随机的:他们更难在劳动力市场上找到工作、更可能是低收入者、或更可能在非正规部门就业(不报告收入)。你最终的估计样本中,低收入者的代表性降低了——你的 OLS 对"教育回报"的估计可能是基于一个向上偏移的样本(高收入者更全地就业和报告了收入)。
N 的变化是样本选择偏误的"入口"。审稿人关注的不是 N 变小了——而是谁变小了,和为什么他们变小了。
4.3 威胁三:研究透明度——"读者能复现你的分析吗?"
实证研究的基本标准是:读者应该能从你的描述中复现你的分析。如果你的论文中没有提到任何一个步骤中 N 的变化和原因——读者无法复现你的"估计样本"——因为他们不知道哪些观测被丢掉了、在哪个环节被丢掉的、以及为什么。
样本构建流程图解决了这个透明度问题——它让读者看到你的分析路径,从原始数据到最终估计样本的每一步的删减、限制和缺失的累积。
五、如何展示 N 的变化——样本构建流程图的模板
5.1 样本构建流程图的基本结构
原始数据集(如"中国工业企业数据库 1998—2013")
N = 150,000(企业-年观测)
│
├── 剔除:非制造业企业
│ 原因:本文研究对象为制造业
│ 剔除:35,000 观测
│ → 剩余:N = 115,000
│
├── 剔除:关键变量缺失
│ 原因:工业增加值、固定资产等核心变量未报告
│ 剔除:12,000 观测
│ → 剩余:N = 103,000
│
├── 剔除:员工数 < 8 的微型企业
│ 原因:微型企业的财务数据可靠性存疑(文献惯例)
│ 剔除:18,000 观测
│ → 剩余:N = 85,000
│
└── 剔除:在样本期间只出现一次的企业
原因:固定效应模型需要至少两期数据
剔除:5,000 观测
→ 最终估计样本:N = 80,000
5.2 在论文中放置的位置
样本构建流程图通常出现在"数据"一节的末尾——在描述性统计之前。读者首先知道你的原始数据从哪来——然后看到你是如何从原始数据走到估计样本的——然后看到你的估计样本的描述性统计(Table 1)。
顺序是重要的:先展示筛选过程,再展示最终样本的特征。如果反过来——读者先看到了 N = 80,000 的 Table 1,然后再在模型的脚注中看到 N = 80,000——他们不会问"那 70,000 去哪了?"因为他们已经在样本构建流程中看到了。
5.3 在回归表中的注脚注明 N 的变化
即使已经有了样本构建流程图,在每一张回归表的注脚中概括 N 的关键信息仍然是规范的:
"注:列 (1)—(3) 的样本量为 N = 80,000,包含在样本期间至少出现两次的制造业企业。列 (4) 因加入了研发支出变量(缺失率约 15%),样本量降至 N = 68,000。列 (5) 进一步限制于出口企业(N = 32,000)。"
六、常见误区
6.1 误区一:"N 变小了——审稿人会认为我的模型不好——我要隐藏它"
隐藏 N 的变化不会让审稿人忽略它——他们会自己计算,然后给出一份更长的意见:"作者在正文中没有提及样本量的变化——而我们计算了各表的 N 差异,发现 IV 回归的 N 比 OLS 少了 42%。" 与其被审稿人指出,不如在初稿中主动呈现并解释。你主动解释叫"透明度"——审稿人替你发现叫"你要改"。
6.2 误区二:"Stata 自动处理了缺失值——我不需要在论文中解释 N 的变化"
是的,Stata 自动使用 listwise deletion。但审稿人需要知道:是哪些变量导致了缺失?缺失的比例?缺失是否系统性地集中在某个子群体?Stata 帮你处理了计算——但没有帮你处理"为什么这些观测缺失了"和"缺失是否影响了你的结论"。后者是你作为研究者的工作。
6.3 误区三:"N 变化是正常的——哪个实证论文不是这样?"
N 变化是正常的——但不被解释的 N 变化不是。大多数论文的 N 确实在各表之间有变化——但好的论文在"数据"一节中明确追踪了每一次变化的原因和量级。差的论文假装 N 没有变化。审稿人区分这两者的时间——不会超过 30 秒。
6.4 误区四:"我的所有回归 N 都一样——所以我没有这个问题"
如果所有回归的 N 都一样——可能意味着你只在"完美样本"上运行了所有分析(listwise deletion 把所有有任何一个缺失值的观测都删掉了)。你的 N 一致性可能是以丢失大量信息为代价换来的——你丢掉了所有在任意变量上有缺失的观测。在这种情况下,审稿人的问题会反过来:"为什么所有回归的 N 都一样?你是否对缺失值做了填补(imputation)还是直接删除了?如果是后者——你删除了多少观测?"
七、总结
样本量变化的六条核心知识:
- N 的变化是常态——但不被解释的 N 变化是红旗。 合理的 N 变化来自变量缺失值的加入、样本限制条件的施加、或估计方法的内在要求。这些变化需要有名字、有数字、有原因——而不是沉默的。
- 三种合理的来源:变量缺失值扩散、样本限制条件、估计方法的内在要求。每一种对应不同的解释方式和不同的"谁被丢掉了"的答案。
- 五种红旗信号:N 缩减 > 30%—50% 无解释、缩减是选择性的(被剔除者系统性地不同)、不同模型"应该"有相同 N 但实际不同、加入控制变量后 N 缩减且系数显著性变了、分组回归中 N 悬殊。
- 审稿人关注的三个实质性威胁:外部有效性(结论适用于缩小后的样本还是原始总体?)、样本选择偏误(被剔除的人不是随机的)、研究透明度(读者能否复现你的分析路径?)。
- 样本构建流程图是标准解药——在"数据"一节中从原始数据到估计样本的每一步删减、限制和缺失的累积。
- 在"相同样本"上检验——当 N 缩减时,区分离"样本选择"还是"控制变量"的驱动。 核心自变量系数在 N 缩减前后的变化——如果在相同样本上系数不变 → 控制变量是驱动因素。如果在相同样本上系数不显著了 → 被剔除的观测是驱动因素(需要警惕和讨论)。
一句话收尾:
"样本量的变化不是一个需要隐藏的技术细节——它是你的分析路径在数据中的足迹。每一次 N 的缩减都在说一个故事:'这个变量有 15% 的观测缺失——因为小企业不报告研发支出。''这个模型只保留了出口状态有变化的企业——因为条件 Logit 只能识别变化。''这个 IV 的 N 比 OLS 少 40%——因为工具变量只在制造业有定义。'每个故事都是你的研究设计的一部分——你讲出来,审稿人就知道你在乎你的数据和你的结论的关系。你不讲——审稿人会替你把故事讲出来,而且他们的版本通常更尖锐。好的实证不是 N 不变——而是在 N 的变化中保持透明和诚实。"
八、B站/公众号呈现建议
-
B站视频:建议用"足迹追踪"作为核心视觉隐喻。开场:一个侦探(审稿人)站在一张分析路径图上——路径从 8,000 人开始,经过一个个"缩减点",最终到达 2,400 人。每个缩减点上有一个问号——"谁在这里掉队了?""为什么?""他们是随机的吗?" 旁白:"审稿人读你的论文时,并不只是看最终的回归表。他们在追踪你的分析路径——从原始数据到最终估计样本,每一步都有人在掉队。如果掉队的人没有名字、没有原因、没有讨论——审稿人会替你填上这些问号,而且他们的答案通常是你不想听到的。" 第一幕"三种合理 N 变化":三个缩减点放大——第一个(变量缺失值,标注"研发支出缺失在小企业中更常见"),第二个(样本限制条件,标注"只保留制造业——服务业企业在这个点上被剔除了"),第三个(估计方法要求,标注"FE 模型需要至少两期——只出现一次的企业在这里停下")。每个缩减点上有一个小的描述——"谁被剔除 + 为什么"。旁白:"三种合理的变化——变量缺失、样本限制、模型要求。每种都需要你给一个名字和一个解释——不隐藏,不假装没发生。审稿人看到了你的解释——觉得这是研究的一部分,不是你的疏忽。" 第二幕"五面红旗":五个闪烁着红色灯的缩减点——(1)N 缩了 50% 没有任何解释——红灯。旁边写着"审稿人:这 4,000 人是谁?"(2)被剔除的人和其他人在关键特征上系统性地不同——红灯。旁边写着"审稿人:你的结论是基于大企业的,但你假装它适用于所有企业。"(3)OLS 和 IV 的 N 不同但应该相同——红灯。旁边写着"审稿人:IV 变量本身有缺失——缺失是随机的吗?"(4)加入控制变量后 N 缩减 + 系数不显著了——红灯。旁边写着"审稿人:是你的新控制变量在做工作,还是被剔除的 1,400 人在做工作?"(5)分组回归中大企业 N = 800,小企业 N = 4,200——红灯。第三幕"样本构建流程图":一条完整的流程线从"原始数据:150,000"到"最终估计样本:80,000",中间五个节点——每个节点上有剔除的观测数 + 原因。标注:"这是你把 N 的变化从'隐藏的问题'变成'展示的研究设计'的方式。"
-
公众号:N 变化的三种合理来源配例子做成对比卡。五种红旗信号做成警示卡——每个信号配一个"审稿人会问什么"的模拟质疑。样本构建流程图的模板做成可直接填入自己数据的空白模板。OLS vs IV N 差异的诊断方法和两步操作(相同样本检验)做成实操卡。审稿人的三个实质性威胁(外部有效性、选择偏误、透明度)做成审稿人视角的透视卡。常见误区四则做成纠错卡。
-
推荐标题:
- 主标题:《样本量在各表之间为什么不一致?——N 变化的合理来源、警惕信号与审稿人的关切》
- 备选标题:《从 Table 1 到 Table 4,N 从 8,000 降到 2,400——你该解释什么?》
- 新媒体标题:《审稿人盯着你的 N 在看——不是在核算数学,是在追踪你的分析路径》
-
金句提炼:
"样本量的变化不是需要隐藏的技术细节——它是你的分析路径在数据中的足迹。每一次 N 的缩减都在说一个故事——'这个变量在小企业中大量缺失''这个模型只能识别有变化的个体''这个 IV 只在制造业有定义'。你讲出这些故事——审稿人就知道你在乎你的数据和你的结论的关系。你不讲——审稿人会替你讲,而他们的版本通常会加上'作者似乎没有注意到'。"
"N 从 8,000 到 2,400 不是问题——不被解释的 N 从 8,000 到 2,400 才是问题。缩减本身是诚实的——隐藏缩减是不诚实的。而被剔除的 5,600 人如果不是随机的——你的结论可能从'所有企业'悄悄变成了'大企业',而你自己都没注意到这一点。"
"你的 OLS 和 IV 应该有相同的 N——如果 IV 的 N 更小,IV 变量本身有缺失。缺失的人是谁?他们为什么缺失?缺失是随机的吗?审稿人会问这三个问题——你在提交之前先问自己这三个问题。"
"样本构建流程图不是在写附录的格式作业——它是你的分析的'出生证明'。它告诉读者你的结论是从哪个样本中诞生的、走过了哪些筛选的门槛、在每个门槛上丢失了谁。没有这张图——你的结论在读者的眼中是没有出处的。"