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

面板数据回归中,Within R²、Between R² 和 Overall R² 分别是什么意思?

你用 Stata 跑了一个面板数据固定效应模型:

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

一、开篇:一个让 Stata 新手困惑的时刻

你用 Stata 跑了一个面板数据固定效应模型:

xtreg y x1 x2, fe

输出结果底部出现了三个 R²:

R-sq:  within  = 0.1523
       between = 0.3401
       overall = 0.2187

你的第一反应可能是——这三个 R² 有什么区别?为什么同一个模型、同一组数据、同样的变量,却有三个不同的 R²?到底应该报告哪个?

这篇文章回答这几个问题。核心逻辑其实来自面板数据的基本结构——面板数据同时包含两种变异:同一个体随时间的变化(within variation)和不同个体之间的差异(between variation)。三种 R² 分别衡量了你的模型在这两条维度上以及综合起来的解释力。

核心信息:Within R² 衡量"个体随时间的变化被模型解释了多少",Between R² 衡量"个体之间的长期差异被模型解释了多少",Overall R² 衡量"把两种变异混在一起时,模型解释了多少"。在固定效应模型中,你关注的核心系数完全来自 within 变异——所以 Within R² 才是和你的识别策略最匹配的度量。


二、面板数据的两种变异:同一个人的"变化"与不同人的"差异"

2.1 一个例子——学校和学生的成绩

假设你追踪了 500 所学校,每所学校每年测试一次学生平均成绩,共 5 年数据。你想研究**"生均教育经费对学生成绩的影响"**。

面板数据结构:学校 i(i = 1, ..., 500),年份 t(t = 1, ..., 5)。

Yit=β0+β1fundingit+β2controlsit+αi+εitY_{it} = \beta_0 + \beta_1 \cdot \text{funding}_{it} + \beta_2 \cdot \text{controls}_{it} + \alpha_i + \varepsilon_{it}

其中 αi\alpha_i 是学校固定效应,用来吸收所有不随时间变化的学校特征——地理位置、学校类型(公立/私立)、校园面积、建校历史等。

2.2 两种变异——为什么会有三个 R²?

任何面板数据变量 YitY_{it} 都可以被拆成两部分:

Yit总观测值=Yˉi学校i的5年均值(between)+(YitYˉi)每年偏离该校均值的部分(within)\underbrace{Y_{it}}_{\text{总观测值}} = \underbrace{\bar{Y}_i}_{\text{学校i的5年均值(between)}} + \underbrace{(Y_{it} - \bar{Y}_i)}_{\text{每年偏离该校均值的部分(within)}}

  • Between 变异:不同学校的长期平均水平不同。学校 A 五年平均成绩 85 分,学校 B 五年平均成绩 62 分——这是"学校之间的差异"。这个差异来自学校的长期特征(地理位置、生源质量、师资水平等)。
  • Within 变异:同一所学校,不同年份的成绩波动。学校 A 在 2018 年成绩 82,2019 年涨到 88——涨了 6 分。这个变化可能来自当年增加的经费、换了校长、政策变化等随时间变化的因素

同一个 Y,两种不同的变异来源。你的模型对这两种变异的解释力可能完全不同——因此需要两个(其实是三个)不同的 R²。


三、三个 R² 是怎么算出来的?

3.1 Within R²——模型解释了"随时间的变化"的多少?

计算方式:把所有变量的"组内离差"(去均值)提取出来,做 OLS。

  • (YitYˉi)(Y_{it} - \bar{Y}_i) 作为因变量
  • (fundingitfundingˉi)(\text{funding}_{it} - \bar{\text{funding}}_i) 作为自变量
  • 截距项被消掉了(去均值后截距为 0),αi\alpha_i 也被消掉了——这正是固定效应模型的精髓

在这个"去均值"的回归中,计算通常的 R²(SSE/SST),就得到了 Within R²。

Within R2=Corr2(YitYˉi,  Y^itY^ˉi)\text{Within } R^2 = \text{Corr}^2\left(Y_{it} - \bar{Y}_i,\; \hat{Y}_{it} - \bar{\hat{Y}}_i\right)

含义:对于一所学校来说,为什么它有些年份成绩高、有些年份低? 这些"随时间波动"的成绩差异中,有多大比例可以被生均经费的同期波动所解释?

一个 0.15 的 Within R² 意味着:学校自身成绩的逐年波动,只有 15% 能和经费的逐年波动挂钩。 剩下的 85% 是其他随时间变化的因素(考试难度、当年师资流动、政策调整等)和随机噪声。

3.2 Between R²——模型解释了"学校之间的长期差异"的多少?

计算方式:把所有变量压缩到"组均值"层面,用 500 所学校的均值数据做一次横截面回归。

  • Yˉi\bar{Y}_i(学校 i 的五年平均成绩)作为因变量
  • fundingˉi\bar{\text{funding}}_i(学校 i 的五年平均经费)作为自变量
  • 样本量从 2500(500 × 5)变成 500

在这个"学校平均"的横截面回归中算出的 R²,就是 Between R²。

Between R2=Corr2(Yˉi,  Yˉ^i)\text{Between } R^2 = \text{Corr}^2\left(\bar{Y}_i,\; \hat{\bar{Y}}_i\right)

含义:为什么有些学校的五年平均成绩是 85 分,有些学校只有 62 分?这些学校之间长期的平均差异,有多大比例可以被"长期平均经费的差异"所解释?

使用组均值回归实际上把所有随时间变化的信息都给抹掉了,只保留了截面(学校 vs 学校)的信息。

3.3 Overall R²——不分变异来源,整个混在一起

计算方式:使用固定效应模型估计出的系数 β^\hat{\beta},对所有观测值 YitY_{it} 计算拟合值 Y^it\hat{Y}_{it},然后计算 YitY_{it}Y^it\hat{Y}_{it} 的相关系数的平方。

Overall R2=Corr2(Yit,  Y^it)\text{Overall } R^2 = \text{Corr}^2\left(Y_{it},\; \hat{Y}_{it}\right)

含义:不区分"between"和"within",把所有的 2500 条学校-年份观测一视同仁——在这些观测中,模型整体的"预测值"和"真实值"之间的相关性有多强?

注意:Overall R² 使用的系数是从固定效应模型(仅利用 within 变异)估计出来的,但它算 R² 时却包含了 between 变异。这就导致了一个可能的情况——你的系数是从 within 变异估计的,但 Overall R² 可能被模型在 between 维度上"恰好也还行"的解释力给拉高了。 而模型在 between 维度上的"解释力"和你实际关注的核心系数(来自 within 变异)没有直接关系。

3.4 一张表总结

R² 类型 数据形式 使用的是哪种变异 回答的问题
Within R² (YitYˉi)(Y_{it} - \bar{Y}_i)(XitXˉi)(X_{it} - \bar{X}_i) 个体随时间的波动(within variation) "为什么同一所学校有些年份高有些年份低?"
Between R² Yˉi\bar{Y}_iXˉi\bar{X}_i(组均值) 个体之间的长期差异(between variation) "为什么有些学校五年均分高,有些学校低?"
Overall R² YitY_{it}Y^it\hat{Y}_{it}(用FE系数) 两种变异混合 "不区分来源,模型预测值和实际值整体有多接近?"

四、一个数值例子——帮你直观感受

回到 500 所学校的数据。

场景设定

  • 学校类型(table 1):生均经费高的学校,通常也位于大城市、有更好的生源和师资——它们五年平均成绩偏高。这种"经费高→成绩高"的横截面相关包含大量的混淆——学校在大城市本身才是成绩好的深层原因,而不是经费本身。
  • 但同一所学校内部——当它的经费在某一学年因政策调整而增加时,这一年成绩确实可能有所上升。这种"同一个学校内部,经费多了成绩也好了"的相关,更接近真实的因果效应。

固定效应回归结果(假定)

系数 估计值 含义
β₁(经费) 0.032 生均经费增加 1000 元 → 该校成绩约增加 0.032 分

三个 R² 的假设取值:

R² 类型 取值 解读
Within R² 0.15 同一所学校成绩的逐年波动中,15% 和经费的逐年波动有关
Between R² 0.34 不同学校之间的长期均分差异中,34% 和长期经费差异有关——但这个不是因果效应,包含大量混淆变量
Overall R² 0.22 把所有观测一视同仁时,模型整体解释力 22%,介于两者之间

为什么 Between R² 往往比 Within R² 高? 因为学校之间的横截面差异(地理位置、生源、师资、经费等)之间存在很强的相关性——经费高的学校同时在多项特征上都"更好"。横截面回归的 R² 反映的是这个综合的"学校质量包",而不只是经费本身的效应。

为什么 Within R² 往往较低? 因为对同一所学校来说,五年内成绩的波动很小(可能只有 5—10 分的范围),其中能和五年内经费波动"对上"的部分更少。大多数逐年波动是测量误差、考试难度、特定年份的学生差异等"噪音"驱动的。


五、应该用哪个 R² ?——取决于你的识别策略

5.1 固定效应模型 → 核心关注 Within R²

在固定效应(FE)模型中,你的 β^\hat{\beta} 完全来自within 变异。个体固定效应 αi\alpha_i 吸收了所有不随时间变化的、个体间的异质性。所以——你的识别策略依赖的是 within 变异,你当然应该关注你的模型在 within 维度上的解释力。Within R² 是你的模型的"工作环境"。

在实证论文中,描述"模型的整体拟合度"时通常报告的是 Overall R²(或调整后的 R²),但如果你在讨论"这个模型的 within 解释力",用 Within R²。如果你看到 Within R² 极低(比如 0.005),这不一定有问题——很多固定效应模型清除掉所有 between 变异后,残余的 within 变异本身就很小且噪声很大,低 Within R² 是正常的。

5.2 随机效应模型 → 关注 Overall R²

在随机效应(RE)模型中,同时使用了 between 和 within 两种变异。这时 Overall R² 是最自然的度量——模型本身就在利用全部信息。

但 RE 模型要求一个苛刻的假设(αi\alpha_i 与 X 不相关),因此经济学实证研究较少使用 RE 作为主要设定——大多用 FE,或至少做 Hausman 检验择优。

5.3 组间(Between)回归 → 关注 Between R²

如果研究问题本身是横截面的——比如"为什么有些国家长期增长快,有些长期增长慢",那么你关注的就是 between 维度的解释力。但在这种情况下,你不会用面板固定效应模型——你会直接用平均值的横截面回归。


六、实证研究中 R² 的范围:什么是正常的?什么需要警惕?

6.1 一个粗略的经验参考

注意:以下数字是经验法则,不是金科玉律。不同领域、不同数据、不同研究问题的"正常 R²"差异巨大。

R² 范围 在经济学实证中的典型情况 判断
0.01—0.10 使用微观数据的固定效应模型,控制了大量个体固定效应和时间固定效应后的核心回归 完全正常,尤其在劳动、教育、健康经济学中
0.10—0.30 微观数据的 OLS 回归(控制了丰富的协变量),或宏观面板的 FE 模型 正常且常见
0.30—0.60 宏观时间序列回归,或使用加总数据(aggregated data)的回归 常见,但需要检查是否存在时间趋势驱动的伪回归
0.60—0.85 长时间跨度的宏观时间序列(如 GDP 对资本和劳动的回归),或使用了加总度很高的数据 警惕:检查是否存在单位根(做平稳性检验),是否存在过度拟合
0.85 以上 极少出现在微观数据中 高度警惕:可能包含同义反复(Y 和 X 几乎恒等),或时间趋势伪回归,或加入了过多内生的控制变量

6.2 Within R² 通常偏低——这不是问题

固定效应模型的 Within R² 通常会显著低于 OLS 回归的 R²。这不是因为"模型差了",而是因为:

第一,固定效应已经把最丰富的变异来源(个体间差异)剔除掉了。 剩下的是个体内部随时间波动的"残差变异"——这部分本身波动就比原始 Y 小很多,而且噪声比例更高。

第二,Within 维度上的处理变异可能非常有限。 很多自变量的主要变异来自 between 维度——学校之间的教育经费差异远大于同一所学校五年的经费变动。如果你的主自变量变化很慢(slow-moving variable),within 变异极小,Within R² 自然也低。

所以——一篇因果识别论文中,Within R² = 0.03 是完全正常的。审稿人不会因此质疑你。 这不是拟合不行,是固定效应在帮你进行识别时自动付出的"成本"。

6.3 R² 过高——什么时候需要警惕?

警惕信号一:R² > 0.90 且来自非时间序列的微观数据。

在微观调查数据(如家庭收入回归)中,R² 极少超过 0.5。如果到了 0.9 以上,检查——你是不是把 Y 的某种函数形式当作控制变量放了进来?(比如用"收入"回归"消费"——R² 当然高,但这几乎是恒等式。)

警惕信号二:加入某个变量后 R² 巨幅跳升。

如果你的 R² 加了一个变量从 0.2 跳到 0.8,要么这个变量和 Y 有同义反复关系,要么这个变量是一个吸收了几乎所有 between 变异的"聚合变量"——它可能不是你想要的因果变量,而是一个更强的混淆变量的代理。

警惕信号三:Between R² 远高于 Within R² 且你在用 FE。

这本身不是问题——很多数据中 between 变异就是比 within 变异更"有结构"。但如果你发现 Between R² = 0.8 而 Within R² = 0.02,这说明:学校之间的差异(地理位置、长期生源素质→长期经费水平)"预测"了几乎所有成绩差异。在 within 维度上真正随经费变动的成绩波动非常有限。这可能意味着——你的核心自变量在 within 维度上几乎没有"实验性的变异"——它的系数估计本质上是噪声驱动的。此时应该检查一阶段 F 统计量(如果使用 IV)或 within 维度的变异系数是否过低。


七、总结

三句话记住三个 R²

  • Within R²:同一个体随时间的变化被模型解释了多少——这是 FE 模型的心脏
  • Between R²:不同个体之间的长期差异被模型解释了多少——这是横截面回归的世界
  • Overall R²:不区分变异来源,模型整体解释力——混合了两种信号

在实证研究中:使用固定效应模型时,Within R² 才是和你的识别策略一致的度量。Within R² 低不丢人——这是你为了剔除混淆变量而付出的信息代价。但如果某篇论文声称使用 FE 识别因果,而 Within R² = 0.95——你需要追问"这个模型识别的是因果效应还是恒等式"。


一句话收尾

"面板数据有三种 R²,是因为一个 Y 有两种变异——随时间的变化(within)和个体间的差异(between)。你选择了固定效应,就等于选择了只相信 within 变异。那么,你应该报告和相信的,理所当然就是 Within R²。"


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

  • B站视频:建议用"分屏动画"展示同一份面板数据的两种视角——左侧画面按时间纵轴展示一所学校的成绩波动(within),右侧画面把所有学校的五年均值并排比较(between)。然后在两个画面上分别叠加回归线,直观展示为什么同一条回归线在两个维度上的"解释力"完全不同。
  • 公众号:三个 R² 的公式和对应含义建议用三栏对照表。数值例子可以配一张面板数据的"学校 × 年份矩阵图",用颜色深浅表示成绩高低,直观展示 within 和 between 变异。
  • 推荐标题
    • 主标题:《面板数据回归为什么有三个 R²?应该用哪个?》
    • 备选标题:《Within R² 只有 0.03?别慌,这不丢人》
  • 金句提炼

    "你选择了固定效应,就等于选择了只相信 within 变异。那么,你应该报告和相信的,就是 Within R²。"