复刻Dee & Fu(2004)回归模型:标准误差不符问题排查
复刻Dee & Fu (2004)论文回归结果的问题排查
问题背景
尝试复刻Thomas Dee与Helen Fu 2004年发表于EER的论文《Do charter schools skim students or drain resources?》(《特许学校是筛选学生还是消耗资源?》)表3第1列的回归结果,模型核心是考察亚利桑那州特许学校对传统公立学校非西班牙裔白人学生占比的影响。原文模型设定:
- 包含学校和年份固定效应
- 使用异方差稳健标准误
- 交互项「Arizona × 1999-2000 Year」系数为-0.026,标准误0.004,R²为0.9848
- 未加入县层面变量、特定区域/层级年份固定效应
当前问题
已构建R模型得到正确系数(-0.026),但标准误差(0.01944)和R²(0.08509)与原文差距极大,代码如下:
library(estimatr) model <- lm_robust(pctwhite ~ locale + elementary + yr99 + arizona + arizona*yr99 , data = mydata, se_type = "HC2") summary(model)
核心问题与修正方案
1. 缺失关键固定效应
原文明确包含学校和年份固定效应,但你的代码完全未加入这两个部分——这是R²差距悬殊的核心原因:固定效应会解释学校层面的时间不变异质性、年份层面的共同冲击,这部分变异占比极高,直接将R²拉高至0.98左右。
修正代码(推荐用fixest高效处理固定效应)
library(fixest) # 加入学校(school_id)和年份(year)固定效应,指定HC2稳健标准误 model <- feols(pctwhite ~ locale + elementary + yr99 + arizona + arizona*yr99 | school_id + year, data = mydata, vcov = "HC2") summary(model)
若坚持用estimatr
model <- lm_robust(pctwhite ~ locale + elementary + yr99 + arizona + arizona*yr99 + factor(school_id) + factor(year), data = mydata, se_type = "HC2")
2. 标准误的聚类设定(潜在影响因素)
原文的异方差稳健标准误大概率是学校层面聚类的稳健标准误,而非仅HC2异方差稳健。双重差分模型中,通常需要对分组(此处为学校)聚类以处理组内自相关问题,这会直接影响标准误大小。
修正代码(fixest)
model <- feols(pctwhite ~ locale + elementary + yr99 + arizona + arizona*yr99 | school_id + year, data = mydata, vcov = ~school_id)
修正代码(estimatr)
model <- lm_robust(pctwhite ~ locale + elementary + yr99 + arizona + arizona*yr99 + factor(school_id) + factor(year), data = mydata, se_type = "HC2", clusters = school_id)
3. 变量定义核对
需确认以下变量定义完全匹配原文:
yr99:是否为1999-2000学年(原文的政策冲击年份)arizona:是否为亚利桑那州的学校locale/elementary:控制变量的定义是否与原文一致(比如locale是否区分城乡、elementary是否为小学标识)
内容的提问来源于stack exchange,提问作者rory_1234
相关产品推荐
相关产品推荐

