Stata连享会 主页 || 视频 || 推文 || 知乎 || Bilibili 站
温馨提示: 定期 清理浏览器缓存,可以获得最佳浏览体验。
New!
lianxh
命令发布了:
随时搜索推文、Stata 资源。安装:
. ssc install lianxh
详情参见帮助文件 (有惊喜):
. help lianxh
连享会新命令:cnssc
,ihelp
,rdbalance
,gitee
,installpkg
⛳ Stata 系列推文:
作者:钟声 (中山大学)
邮箱:zhongsh56@mail2.sysu.edu.cn
目录
分仓散点图 (binned scatterplot) 是一种显示变量之间非参数关系的图形工具。本文将简要介绍其原理和功能,以及相关 Stata 命令。
binscatter
是用于生成分仓散点图 (binned scatterplot) 的 Stata 命令。其生成的图像显示了给定
我们借用英国统计学家 F.J. Anscombe (1973) 曾经举过的例子,来说明图形可视化的必要性:
以上 4 个数据集显然具有相同的线性关系。然而,
Anscombe 的观点是,如果没有将两个变量之间的关系可视化,假设任何函数形式的回归分析都可能会产生误导。但是在数据量非常大的时候,样本的散点图可能无法很直观地反应变量之间的关系,这时候分仓散点图 (binned scatterplot) 就可以帮上忙了。
为了创建一个分仓散点图,binscatter
命令会:
一个典型的分仓散点图显示了条件期望函数 (CEF) 的非参数估计值 (分级后的散点) 和最佳线性估计 (回归拟合线)。
考虑两个随机变量
假设运行 OLS 回归
当 N 变大时,保持 bins 的数量不变,每个散点会更加接近真实的条件期望 ,而且分仓散点(binned scatters)在回归线周边的分散程度将具有一定统计学意义:
binscatter
命令采用 Frisch-Waugh-lovell (FWL) 的方法排除控制变量的影响,其图像展示的是
依据 FWL 定理进行 OLS 估计的步骤如下:
采用此方法绘制的分仓散点图选用的是 binscatter2
命令实现。
我们借用 Sorenson (2000) 使用的 1980-1996 年计算机工作站公司数据集来说明分仓散点的功能和价值。
在数据量很大,或者数据种类多的情况下,普通的散点图往往很难体现变量之间的关系。在下图中,Panel A 描绘了 1980 年至 1996 年间市场上竞争产品数量与公司年销售额之间关系的散点图,从中我们很难辨别出函数关系。在 Panel B 中,我们采用了分仓散点图,函数关系马上变得清晰很多。
虽然在采用 binscatter
之后,函数关系变得明显,这样的关系却不符合直觉 (竞争品数量多,公司销量应该下降才对,出现该情况可能是每年经济形势对销量产生影响)。在上图 Panel C 中,我们控制了年份固定效应,图像显示的关系更加符合实际。
分仓散点显示的是在给定
如图中的 Panel C 所示,当竞争对手数量较少时,竞争对手与销售之间的均值关系是水平的;当竞争对手数量较大时,关系是下降的;而线性函数形式的假设掩盖了这种关系,用分仓散点图就可以很直观地观察到。
下图中的分箱散点图显示了公司生产的产品数量和公司研发支出之间的关系。直觉表明,拥有更多产品的公司将从事更多的研发,这与 Panel A 中的回归线情况不符。通过仔细观察我们可以发现,Panel A 中存在一个异常值,它拥有非常高的研发水平和很少的产品,导致 OLS 回归线显示出负相关关系。当我们排除该点后时,斜率就变成了正的,如 Panel B 所示。
除了帮助我们检查离群值,binscatter
还可以为不同的子组分别创建散点。如上图 Panel C 中,我们可以观察到私营企业、上市公司和子公司的差异。
许多时间趋势的研究都在对照组和实验组之间进行差异分析。分仓散点可以用来显示预处理趋势在实验组可对照组之间是否平行。
如下图 Panel A 所示,在 1985 年以前,产品的平均数量相当稳定;1985 年以后,平均生产的产品数量急剧增加。Panel B 按所有权类型分解了这些差异,在 1985 年之前,每种类型的公司的发展都处于相似的、相对平稳的情况;然而,1985 年之后,上市公司大幅扩大了产品供应,而私营公司和子公司扩大的速度则慢得多。
构建分仓散点图时最重要的选择之一是分仓的数量。更多的 bins 将帮助我们识别更多的曲线模式,但由于每个 bin 的数据点较少,会产生更大的特异方差。相比之下,分仓数量少时每个 bin 包含更多的数据点,从而提高精度,但在识别非线性方面可能不太有效。这是方差和偏差之间的权衡。
在 binscatter
命令中,bins 默认数量为 20。该命令的作者 Michael (2014) 称,根据他的个人经验,这一数值的表现较好。
CCFF (2019) 证明了使综合均方误差最小化的分仓数与
在安装 binsreg
命令之后,binsregselect
命令可以提供使综合均方误差最小化的分仓数。以下是 Stata 命令的演示:
. lxhget binsreg.pkg, install replace // 或者 https://github.com/nppackages/binsreg
. sysuse auto, clear
. binsregselect mpg weight foreign
有时,我们也可能希望放弃默认选择以增强分箱散点图的解释意义。例如,在检查跨年的趋势时,跨年份 bin 的均匀间隔 (而不是跨年份的数据均匀分布) 可能更直观。
. ssc install binscatter, replace // 命令安装
. sysuse nlsw88, clear
. keep if inrange(age,35,44) & inrange(race,1,2)
. scatter wage tenure, msize(tiny) // 展示原始数据
. binscatter wage tenure // 生成最基础的 binscatter 图像
. binscatter wage tenure, line(qfit) // 进行二次拟合
. // 分段回归, 该命令对散点无影响, 但是生成分段回归曲线
. binscatter wage tenure, rd(2.5)
. binscatter wage tenure, rd(2.5 10)
. binscatter wage age, by(race) // 分组回归
. binscatter wage age, by(race) absorb(occupation) // 分组回归并控制固定效应
. // 修改图表样式
. binscatter wage age, by(race) absorb(occupation) msymbols(O T) ///
> xtitle(Age) ytitle(Hourly Wage) legend(lab(1 White) lab(2 Black))
. binscatter wage age, n(10) // 设置bins数量
. binscatter y x, line(connect) // 将散点连线
. binscatter wage tenure grade // 将两个因变量展示在同一个坐标轴中
. // 保存命令
. savegraph(filename) // 默认为 .gph
. savedata(filename) // 同时保存 dta 文件和 do-file
binscatter2
命令继承了 binscatter
命令的语法和功能,不过在数据量较大的情况下,运行速度要快得多 (3 至 8 倍)。此外,binscatter2
命令还提供了一些新功能。
. // 命令安装
. lxhget binscatter2.pkg, install replace // 或者 https://github.com/mdroste/stata-binscatter2
binscatter2
命令的新功能如下:
ftools
和 reghdfe
命令之后, absorb()
选项中可以添加多个变量,以达到同时控制多个固定效应的效果;. binscatter2 y x, quantiles(25 75)
binscatter2
拥有更灵活的保存命令。在 savedata()
后加上 nodofile
就可以只保存数据而不保存 do-file;line()
选项面临着更多元的选择,相比之前增加了指数 (line(expfit)
) 和对数 (line(logfit)
) 的拟合形式;control()
后加 altcontrols
实现。
Note:产生如下推文列表的 Stata 命令为:
lianxh 绘图, m
安装最新版lianxh
命令:
ssc install lianxh, replace
免费公开课
最新课程-直播课
专题 | 嘉宾 | 直播/回看视频 |
---|---|---|
⭐ 最新专题 | 文本分析、机器学习、效率专题、生存分析等 | |
研究设计 | 连玉君 | 我的特斯拉-实证研究设计,-幻灯片- |
面板模型 | 连玉君 | 动态面板模型,-幻灯片- |
面板模型 | 连玉君 | 直击面板数据模型 [免费公开课,2小时] |
⛳ 课程主页
⛳ 课程主页
关于我们
课程, 直播, 视频, 客服, 模型设定, 研究设计, stata, plus, 绘图, 编程, 面板, 论文重现, 可视化, RDD, DID, PSM, 合成控制法
等
连享会小程序:扫一扫,看推文,看视频……
扫码加入连享会微信群,提问交流更方便
✏ 连享会-常见问题解答:
✨ https://gitee.com/lianxh/Course/wikis
New!
lianxh
命令发布了:
随时搜索连享会推文、Stata 资源,安装命令如下:
. ssc install lianxh
使用详情参见帮助文件 (有惊喜):
. help lianxh