计量小课:计量经济学基础
计量经济学计量小课

非随机样本是什么?内生选择和外生选择有什么区别?遇到非随机样本怎么办?

你用 CGSS(中国综合社会调查)研究\"教育对个人收入的影响\"。CGSS 是一个全国性的抽样调查——理论上,它是总体的随机样本。但仔细想一下:

作者:计量科研导航站发布:2026-07-29★★

一、开篇:你用的数据是从哪来的——你问过这个问题吗?

你用 CGSS(中国综合社会调查)研究"教育对个人收入的影响"。CGSS 是一个全国性的抽样调查——理论上,它是总体的随机样本。但仔细想一下:

  • 调查需要受访者有时间、有意愿坐在家里接受一个小时的访问。谁有时间?谁有意愿?——失业者可能更有时间但收入为零,高收入者可能没时间且拒绝透露收入。
  • 调查只在城市社区进行,农民工群体被系统性低估。
  • 调查要求受访者有固定住址——无家可归者和流动人口完全不在抽样框内。

你手里的样本已经不是"随机"的了。 它经过了多层筛选——有些人根本没有机会被抽样(不在抽样框内),有些人被抽样但拒绝了(非响应),有些人回答了但某些问题没答(项目无响应)。每一层筛选都可能和你的因变量(收入)或核心解释变量(教育)相关。

如果你假装这个样本是随机的去跑 OLS——你的系数可能不是"教育对收入的因果效应",而是"教育对收入的因果效应 + 被选入样本的人恰好教育回报率更高的偏误"。

核心信息:非随机样本意味着样本中观测的出现概率不是独立于模型中的变量(尤其是因变量)的。外生样本选择(Exogenous Selection)指选择仅依赖于可观测的 X——此时在回归中控制这些 X,选择偏误可以被消除。内生样本选择(Endogenous Selection)指选择依赖于不可观测的 ε 或 Y 本身——此时仅控制 X 不够,你需要 Heckman 选择模型、工具变量或边界分析等方法来修正或评估偏误。在面板数据中,固定效应模型可以消除基于"不随时间变化的不可观测因素"的选择偏误(如能力),但无法消除基于"随时间变化的不可观测因素"的选择(如某年恰好失业所以更不愿意参与调查)。如果你只用传统面板方法,你至少需要做一系列补充分析——比较样本和总体的特征、检验"是否在样本中"的预测因素、以及讨论偏误的方向——来让你的推断变得透明和可辩护。


二、非随机样本是什么?——四个字:概率不独立

2.1 抽样框之外的人——你的样本从一开始就少了某些人

一个"随机样本"意味着:总体中的每个个体有相同的、已知的概率被选入样本。但在社会科学实证中,完全随机的样本极其罕见:

  • 抽样框问题:调查设计时的抽样框就不包含某些子总体(如流动人口、 homeless 人口、监狱人口)。
  • 非响应(Non-Response):被选入样本的人拒绝参与——而这种拒绝不是随机的。
  • 损耗(Attrition):面板数据中,某些人被成功追访,某些人消失了。
  • 截断(Truncation):你只观测到 Y 超过某个阈值的人——比如你研究工资,数据中只有正在工作的人(有工资观测),失业者被排除。
  • 自选择(Self-Selection):个体自己决定是否进入样本——如是否移民、是否上大学、是否进入劳动力市场。

所有这些情况的共同特征:个体进入样本的概率 Pr(Si=1)\Pr(S_i = 1) 不是常数——它依赖于某些特征,而这些特征又和你的 Y 或 X 相关。

2.2 一个形式化的表达

假设总体中有 Yi=Xiβ+εiY_i = X_i\beta + \varepsilon_i。你观测到的不是总体的随机样本——你只观测到那些 Si=1S_i = 1 的个体(SiS_i 是一个"是否在样本中"的二值指标)。

在选中的样本中跑 OLS,你实际上是在估计:

E[YiXi,Si=1]=Xiβ+E[εiXi,Si=1]E[Y_i \mid X_i, S_i = 1] = X_i\beta + E[\varepsilon_i \mid X_i, S_i = 1]

如果 E[εiXi,Si=1]0E[\varepsilon_i \mid X_i, S_i = 1] \neq 0——即进入样本的概率和误差项相关——你的 OLS 就是在"有偏地选择后的条件期望"上跑的,系数不是总体的 β。

这就是非随机样本问题的数学核心。


三、外生选择 vs 内生选择——这一区分决定了你该用什么方法

3.1 外生样本选择(Exogenous Selection)

定义:选择进入样本的概率 SiS_i 仅依赖于可观测的 X——在给定 X 之后,SiS_iεi\varepsilon_i(以及 Y)是独立的。

E[εiXi,Si=1]=E[εiXi]=0E[\varepsilon_i \mid X_i, S_i = 1] = E[\varepsilon_i \mid X_i] = 0

例子:调查设计按年龄和性别分层抽样——年轻人被过度抽样,老年人被抽样不足。但"年轻人/老年人"在你的数据中是可观测的(X 中包含年龄)。给定年龄之后,被抽样概率和收入(Y 的不可观测部分)无关。

处理:在回归中控制那些同时影响选择和 Y 的 X——E[εiXi,Si=1]=0E[\varepsilon_i \mid X_i, S_i = 1] = 0 的条件在给定这些 X 后成立。此时 OLS 在选择的样本上仍然是一致且无偏的。

实际做法:你是否控制了"年龄"这个变量?如果是——外生选择(在给定年龄后)被处理了。如果你没有控制年龄——你面临遗漏变量偏误(年龄同时影响选择和收入)。

外生选择的本质:选择偏误可以通过"控制可观测特征"来消除。不需要特殊的计量方法——只需要在回归中放入正确的控制变量。

3.2 内生样本选择(Endogenous Selection)

定义:选择进入样本的概率 SiS_i 依赖于不可观测的 εi\varepsilon_i——即使控制了所有可观测的 X,SiS_iεi\varepsilon_i 仍然相关。

E[εiXi,Si=1]0E[\varepsilon_i \mid X_i, S_i = 1] \neq 0

经典例子

  • 工资方程 + 劳动力参与:你只观测到参与劳动的人(Si=1S_i = 1 表示有工作)的工资。决定你是否工作(SiS_i)的因素——如"保留工资""育儿负担""健康"——很多是你无法观测的,而且它们和你工作了之后的工资(Y 的不可观测部分)相关。
  • 企业绩效 + 存活:你只观测到存活的企业(Si=1S_i = 1 表示仍在运营)。决定企业是否倒闭的因素(如"管理质量")和企业的绩效相关——倒闭的企业恰恰是表现差的企业。
  • 移民自选择:你只观测到选择移民的人。决定移民的因素(如"冒险精神""对未来的预期")和移民后的收入相关。

处理:仅控制 X 不够——因为选择依赖于 X 之外的东西。你需要特别的计量方法——Heckman 选择模型、工具变量、或边界分析。

内生选择的本质:选择偏误不能被可观测特征完全消除。你需要要么"建模选择过程"(Heckman),要么"找到一个影响选择但不影响 Y 的变量"(排他性约束),要么"做最好/最坏的边界分析"(接受偏误存在,但量化它的可能范围)。

3.3 一张速查表

外生选择 内生选择
选择依赖于什么? 仅可观测的 X 不可观测的 ε(或 Y 本身)
给定 X 后选择和 Y 独立?
OLS 在给定 X 后无偏? 是(条件:X 被控制了)
解决方案 在回归中控制 X Heckman、IV、边界分析
典型例子 按年龄分层的抽样(控制年龄即可) 工资方程(只观测就业者)、企业存活偏差、移民自选择

判断的关键问题"为什么这个个体在样本中而这个个体不在——这个原因能否被我数据中已有的变量完全捕捉?" 如果能 → 外生选择。如果不能 → 内生选择。


四、如何判断你是否面临非随机样本问题?

4.1 理论推演——先于数据判断

在跑任何检验之前,先问自己以下几个问题:

  1. 我的样本是如何构建的? 抽样框包含了什么、排除了什么?谁有机会被抽样,谁完全没有机会?
  2. 在抽样过程中,谁更可能被遗漏? 这种遗漏和我的因变量 Y 或核心 X 有关吗?
  3. 在非响应/损耗中,谁更可能离开样本? 离开的理由和 Y 有关吗?
  4. 我的研究问题本身是否隐含了样本选择? 我研究工资——我只观测有工作的人。我研究企业绩效——我只观测存活的企业。

如果这四个问题中有任何一个的答案是"是",你就应该认真对待非随机样本的可能性。

4.2 数据证据——可观测层面的不均衡

虽然你无法检验不可观测层面的选择(你不知道缺失者的 Y),但你可以检验可观测层面的选择:

(a)比较样本和已知总体特征的差异

将你样本中的关键变量(如年龄、性别、教育、地区)的分布和已知的总体分布(如人口普查数据、政府统计公报)进行比较。如果样本在可观测特征上与总体显著不同 → 样本不是随机的,而且选择至少在可观测层面上与这些变量有关。

(b)预测"是否在样本中"

如果你有关于"谁被抽样但拒绝"或"谁在某一期消失"的信息,用 Probit/Logit 预测 SiS_i

probit in_sample x1 x2 y_baseline

如果 x1x1x2x2 能显著预测 SiS_i → 选择至少在可观测层面不是随机的。如果 ybaseliney_{baseline} 也显著预测 SiS_i → 选择直接和因变量相关,内生选择的嫌疑更大。

(c)面板数据中检验损耗者的特征

bysort id: gen attrited = (_n == _N & year < max_year)
probit attrited y_baseline x1 x2

如果基准期的 Y 能显著预测损耗 → 损耗偏差很可能存在。


五、处理非随机样本的方法——从简单到复杂

5.1 方法一:控制选择相关的可观测变量(适用于外生选择)

如果选择仅依赖于可观测的 X → 在回归中控制这些 X。这是最简单的处理——但你必须有这些 X 的数据,而且你要控制的 X 确实捕捉了选择的所有驱动因素(一个不可检验的假设)。

什么时候足够:抽样设计和非响应都可以被可观测特征(年龄、性别、教育、地区)充分解释。

什么时候不够:选择的驱动因素中包含了"不可观测"的变量——动机、能力、风险偏好。

5.2 方法二:Heckman 两阶段选择模型(适用于内生选择)

第一阶段(选择方程):用 Probit 预测"是否进入样本"(Si=1S_i = 1)——

P(Si=1Zi)=Φ(Ziγ)P(S_i = 1 \mid Z_i) = \Phi(Z_i\gamma)

第二阶段(结果方程):在主回归中加入从第一阶段估计出的逆米尔斯比率(Inverse Mills Ratio, IMR)——

Yi=Xiβ+θλ^i+νiY_i = X_i\beta + \theta \cdot \hat{\lambda}_i + \nu_i

其中 λ^i=ϕ(Ziγ^)/Φ(Ziγ^)\hat{\lambda}_i = \phi(Z_i\hat{\gamma}) / \Phi(Z_i\hat{\gamma})

关键:Z 必须包含至少一个排他性约束变量(Exclusion Restriction)——一个影响"是否进入样本"但不直接影响 Y(在控制了 X 之后)的变量。

排他性约束的例子:在研究"工资(Y)"时——"是否有学龄前儿童"影响你是否工作(SiS_i),但不直接影响你的工资(给定你的教育、经验等因素)。在研究"企业出口额(Y)"时——"同行业其他企业的出口比例"影响企业是否出口(SiS_i),但不直接影响该企业的出口额。

heckman y x1 x2, select(s = x1 x2 z1) twostep

Heckman 的软肋:结果对排他性约束的选择高度敏感。如果 Z 不是一个好的排他性约束(它和 Y 的不可观测部分仍然相关),IMR 的系数 θ 会吸收这个偏误,并传递给 β。在实证中,找到一个令人信服的排他性约束是 Heckman 模型最难、也最关键的一步。

5.3 方法三:逆概率加权(Inverse Probability Weighting, IPW)

核心思想:给样本中"不太可能被观测到的个体"更高的权重——以补偿他们在选择过程中的低出现概率。

  • 第一步:用 Probit/Logit 预测每个个体进入样本的概率 p^i\hat{p}_i(基于可观测特征)。
  • 第二步:在回归中使用权重 wi=1/p^iw_i = 1 / \hat{p}_i
probit s x1 x2 z1
predict p_hat, pr
gen weight = 1 / p_hat
reg y x1 x2 [pweight = weight]

IPW 的优势:直观("没被抽到的人,我多给他们的'同类'一点权重")。IPW 的局限:和 Heckman 一样,依赖于可观测的 X 能充分解释选择(外生选择假设)。如果选择依赖于不可观测因素,IPW 也不能消除偏误。

5.4 方法四:边界分析(Bounding Analysis)

当你无法修正选择偏误(因为你找不到排他性约束,且你不相信选择是外生的)——你不能说"偏误是多少",但你可以说"偏误最多能有多大"。

最坏情况分析:"假设所有被排除在样本外的人,其 Y 都处于某个极端值(比如都比样本中最差的人还差 Δ 单位),核心系数是否仍然保持相同的符号和定性结论?"

Horowitz-Manski 边界:在没有额外假设的情况下,总体均值被限制在样本均值和某个最坏情况值之间。加上单调选择假设(被选择的样本不会比总体差),边界可以收窄。

适用场景:这是一个"不是最优、但在无更好选择时比什么都不做强"的方法——它告诉审稿人:即使存在选择偏误,在最悲观的假设下,我的定性结论仍然维持。


六、如果仅用传统面板回归——如何增加可信度?

在绝大多数实证论文中,你不会因为"可能有非随机样本问题"就把基准回归换成 Heckman 选择模型。更常见的策略是:基准回归仍使用传统面板方法(FE/RE),但做一系列补充分析来让读者相信你的结论对样本选择问题是稳健的。

6.1 固定效应模型的优势——选择在不随时间变化的不可观测因素上

面板固定效应(FE)自动消除了基于不随时间变化的不可观测因素的选择偏误。如果一个人是因为"能力低"而更不愿意参与调查——FE 消除了能力这个不随时间变化的个体异质性。如果一个人是因为"性格内向"而拒答——FE 也消除了。

FE 不能消除的选择:基于随时间变化的不可观测因素的选择——如某年恰好失业所以更不愿意回答收入问题,或某年健康恶化所以退出了调查。这些时变的选择驱动因素仍然可能污染 FE 的估计。

6.2 补充分析一:平衡面板 vs 非平衡面板的比较

用平衡面板(只保留在所有时期都有观测的个体)和非平衡面板(使用所有可用观测)分别跑基准回归。

  • 如果核心系数在两者中相似 → 证据支持"损耗者的离开没有实质性改变结论"。
  • 如果核心系数在平衡面板中明显不同 → 损耗可能引入了偏误。

6.3 补充分析二:损耗预测 + 逆概率加权

* 预测"是否会存活到最后一期"
bysort id: gen last_obs = _n == _N
bysort id: gen attrited = (last_obs == 1 & year < max_year)
probit attrited x1 x2 y_baseline
predict p_stay, pr
gen ipw = 1 / p_stay
 
* IPW 回归
xtreg y x1 x2, fe [pweight = ipw]

如果加权和未加权的 FE 估计类似 → 损耗偏差在可观测维度上不大。

6.4 补充分析三:讨论偏误的方向——这是最有力但你最需要理论的一步

你不一定需要"证明没有偏误"——你只需要论述"即使存在偏误,它的方向是让我的系数偏低估(或偏高估)"。如果你能在理论上论证:选择偏误的方向是削弱你的核心效应(让它更接近零),而你仍然发现了显著的效应 → 你的结论在偏误最严重的方向上也仍然是成立的。

例子:如果你的假设是"教育提高收入",而你担心样本中遗漏了"教育水平低、收入低"的流动人口——这些人的缺失意味着你的样本中教育-收入关系可能比总体更弱(因为低教育-低收入的配对被遗漏了)。如果你在这样一个"弱化了效应"的样本中仍然发现了显著为正的教育回报 → 总体的真实效应很可能更强。

6.5 补充分析四:用不同的样本定义做稳健性

  • 如果你怀疑某类观测的选择性特别强 → 剔除它们,看核心系数是否变化。
  • 如果你的数据中有关于"为什么缺失"的信息(如"受访者拒绝""联系不上""已搬迁")→ 分别检查不同缺失原因是否和 Y 相关。

七、常见误区

7.1 误区一:把"我的样本量大"当作"样本是随机的"

样本量大 ≠ 随机。大样本只会让你以更高的精度去估计一个有偏的量——你更确定你估计的是错的,而不是让你更接近真实值。大样本神话——"我有 100,000 个观测,所以不需要担心样本选择"——是错误的。 样本选择偏误是偏误——它不随样本量增大而消失。100,000 个被筛选过的观测,不会比你从 10,000 个中得到的更接近总体参数。

7.2 误区二:Heckman 模型跑了就完了——不讨论排他性约束

没有排他性约束(或使用了一个糟糕的排他性约束)的 Heckman 模型,IMR 的识别仅依赖于选择方程的非线性(Probit 的函数形式)——这是非常弱的识别来源。如果你在用 Heckman 时不能为你的排他性约束提供一句令人信服的论证,审稿人会直接质疑你的识别。

7.3 误区三:面板固定效应解决了所有选择问题

FE 只消除了不随时间变化的选择驱动因素。如果你的样本中一个人在某一年因为"刚失业"而拒答——这个选择是随时间变化的,FE 没有解决它。FE 不是万能药——它的优势仅在于消除时不变层面的选择。


八、总结

非随机样本的五条核心知识

  1. 非随机样本 = 进入样本的概率不独立于模型中的变量。 如果选择和 Y 或 ε 相关,OLS 在选择的样本上是有偏的——E[εX,S=1]0E[\varepsilon \mid X, S=1] \neq 0

  2. 外生 vs 内生的区分决定处理策略。 外生选择(选择仅依赖于可观测 X)→ 控制 X 即可。内生选择(选择依赖于不可观测 ε)→ Heckman、IPW 或边界分析。

  3. 面板固定效应消除了不随时间变化的选择偏误——但不消除时变选择。 如果一个人因为能力低而拒答(能力不随时间变化),FE 处理了。如果一个人因为某年失业而拒答(时变冲击),FE 没有处理。

  4. 排他性约束是 Heckman 的灵魂——也是它的短板。 你需要至少一个影响 S 但不直接影响 Y 的变量。没有它,Heckman 的识别仅依赖于函数形式的非线性——非常弱。

  5. 如果只用传统面板——做四件事来增加可信度:平衡 vs 非平衡面板对比、损耗预测 + IPW、讨论偏误方向、不同样本定义下的稳健性。


一句话收尾

"非随机样本不是'你拿到的数据坏了'——它是'数据生成的过程中,有些人因为某种原因从未出现在你面前,而你正在用那些出现在你面前的人去推断那些你没看到的人的行为'。这个推断是否成立,不取决于你的 t 值有多大——取决于你是否诚实地审视了'为什么有些人看了你而有些人没有',以及你的审视是否有足够的方法和证据来支撑。"


九、B站/公众号呈现建议

  • B站视频:建议用"看不见的人"作为叙事主题。开场:一个人口总体的轮廓——里面有不同的群体。一束光(抽样框)照下来——光只覆盖了城市区域,农村边缘在阴影里(抽样框问题)。被光照到的人中,有些人举起了手(愿意参与),有些人转过身去(非响应)——转身的人手臂上有标签"太忙"或"不想透露收入"。举起手的人中,有些人在中途离开了画面(损耗),在离开时身上闪过标签"失业了"或"搬家了"。最后留在画面中的就是"样本"。旁白:"你的回归是在这些人身上跑的——但他们和外面那些阴影中的人有什么不同?如果'阴影'不是随机的——你在样本中估计的系数,就是总体参数的一个有偏版本。"第一幕"外生 vs 内生":两个分流场景——外生选择:一个按年龄分叉的管道,所有人都进入管道,但年轻人的分支比老年人宽(过度抽样)。控制年龄后,管道内的水流和 Y 无关。内生选择:管道入口有一个门——门上写着"你有工作吗?"只有回答"有"的人才能进入。旁白:"这个门是由 ε 的不可观测部分驱动的——你的 X 可以解释一部分,但剩下的那部分,和 Y 共享不可观测因素。"第二幕"怎么处理":三个工具箱依次打开——工具箱一"控制 X"(适用于外生选择,只需一个控制变量列表);工具箱二"Heckman"(两个方程 + 一个排他性约束的箭头从 Z 指向 S 但不指向 Y);工具箱三"边界分析"(一个测量尺,标注"即使最坏情况,核心系数的符号不变")。第三幕"面板能做什么":一个固定效应的面板网格——每个人的时间序列被减去个体均值,不随时间变化的个体差异被清除。标注"FE 消除了时不变的选择偏误"。但一个人在某一年突然变暗(退出)——标注"但时变的选择仍然存在"。第四幕"增加可信度四件套":四个补充分析(平衡 vs 非平衡对比、IPW、偏误方向讨论、不同样本定义)展示为四道防线。
  • 公众号:外生选择 vs 内生选择的双列对比表(定义、条件、OLS 处理、解决方案、典型例子)建议做成信息图核心。非随机样本的五种来源(抽样框、非响应、损耗、截断、自选择)配因果图,展示选择和 Y/X 的关系。Heckman 模型的"排他性约束"建议用一个 DAG 图展示——Z → S 但 Z → Y 被叉掉。面板数据增加可信度的四件套(平衡 vs 非平衡、IPW、偏误方向、样本重定义)做成检查清单卡。判断框架(四个理论问题 + 数据证据)做成问答卡片。Stata 命令速查(heckmanprobit + predict + ipw)制成代码卡片。
  • 推荐标题
    • 主标题:《非随机样本是什么?外生选择和内生选择怎么区分?怎么处理?》
    • 备选标题:《你的样本不是随机的——从抽样框到损耗,非随机样本的完整处理指南》
    • 新媒体标题:《你研究的那些人——那些你从未看到的、拒绝回答的、中途消失的人——对你的回归做了什么?》
  • 金句提炼

    "非随机样本不是你数据的'瑕疵'——它是你的数据在告诉你:'我来自一个筛选过程,而这个过程可能和你关心的东西有关。'你的任务不是假装筛选没有发生,而是理解筛选的方向和大小,然后告诉读者——即使有这个筛选,我的结论在多大程度上仍然成立。"

    "外生选择 = 选择可以被你的 X 解释。内生选择 = 选择在 X 之外,还和你的 Y 的不可观测部分纠缠在一起。区别一个问题的性质——是前者还是后者——决定了你需要一个 Probit 还是需要一个 Heckman。"

    "排他性约束是 Heckman 模型的心脏——找到一个影响 S 但不直接影响 Y 的变量,等于在说'我知道什么让人进入我的样本,但我可以用那个原因中的一部分——不和我的 Y 直接相关的那部分——去修正选择偏误'。找不到它,Heckman 的识别只依赖一个数学上的非线性——这很弱,审稿人知道,你也应该知道。"

    "面板固定效应消除了所有不随时间变化的选择——能力、个性、家庭背景。如果这些就是你担心的选择偏误的来源,FE 已经帮你处理了。但如果选择是时变的——今年身体状况恶化了,所以没来参与调查——FE 不够,你需要更多。"