Stata:多个核密度函数图叠加-mkdensity

发布时间:2022-01-22 阅读 2419

Stata连享会   主页 || 视频 || 推文 || 知乎 || Bilibili 站

温馨提示: 定期 清理浏览器缓存,可以获得最佳浏览体验。

New! lianxh 命令发布了:
随时搜索推文、Stata 资源。安装:
. ssc install lianxh
详情参见帮助文件 (有惊喜):
. help lianxh
连享会新命令:cnssc, ihelp, rdbalance, gitee, installpkg

课程详情 https://gitee.com/lianxh/Course

课程主页 https://gitee.com/lianxh/Course

⛳ Stata 系列推文:

PDF下载 - 推文合集

作者:吴俊樊 (中山大学)
邮箱wujf35@mail2.sysu.edu.cn


目录


1. 背景介绍

1.1 核密度估计

核密度估计 (Kernel density estimation) 是一种利用核函数 K(x) 估计概率密度函数的方法,属于非参数估计。该方法不利用有关数据分布的先验知识,以及不对数据分布附加任何假定,是一种从数据样本本身出发研究数据分布特征的方法。因而,在统计学理论和应用领域均受到高度的重视。

给定一组独立同分布的样本 x1,x2xn,设其概率密度函数为 f,核密度函数如下:

其中 K(x) 为核函数 (非负、积分为 1,符合概率密度的性质),h>0 为平滑参数,称为带宽 (bandwidth)。

1.2 多个核密度函数图的叠加

在核密度估计后,即可使用 Stata 命令 kdensity 绘制核密度函数图。

在实际应用中,我们经常需要将多个变量或子样本的核密度函数图叠加,以便在同一张图上进行比较分析。目前广泛使用的方法为通过 twowaykdensityaddplot 选项进行逐个添加,过程较为繁琐。为了快速进行多个核密度函数图的叠加,Stata 命令 mkdensity 应运而生。

2. 命令介绍

* 命令安装
ssc install mkdensity, replace
* 命令语法
mkdensity varlist [if] [in] [weight] [, options]

其中,options 为:

  • kernel:核函数,默认为 kernel(epanechnikov)
  • bwidth:带宽,默认为最优带宽;
  • n:估计使用的样本点数,默认为 min(N, 50);
  • xline:附加竖直线;
  • over:在一张图中展示子样本的密度;
  • by:在多张图中分别展示子样本的密度;
  • ycommon:使用 by 选项时统一 y 轴刻度;
  • xcommon:使用 by 选项时统一 x 轴刻度;
  • rows | cols:使用 by 选项时展示的行数或列数。

3. Stata 实例

3.1 多个变量的核密度函数图叠加

首先调用数据集,然后设置一副纯黑白的背景风格,最后通过 mkdensity 将多个变量的密度绘制在一张图片上,并附加竖直线:

. sysuse nlsw88.dta, clear         //调用数据
. gen lnwage = ln(wage)
. drop if race == 3
. net install gr0002.pkg, replace //安装绘图模板
. set scheme lean2                //设定绘图模板
. mkdensity age grade, xline(10) 

3.2 子样本的核密度函数图

我们可以通过 mkdensityby 选项以变量 collgrad 分组,绘制子样本的核密度函数图,并统一 x 轴和 y 轴刻度:

. mkdensity lnwage, by(race) xcommon ycommon

3.3 子样本的核密度函数图叠加

我们可以通过 mkdensityover 选项以变量 collgrad 分组,绘制子样本的核密度函数图并叠加:

. mkdensity lnwage, over(collgrad)

此外,我们还可以手动以多个变量分组,绘制子样本的核密度函数图并叠加:

. cap drop gg 
. egen gg = group(collgrad race), label lname(gg)
. mkdensity lnwage, over(gg) 

最后,我们还可以同时使用 byover 选项进行两个变量分组,绘制子样本的核密度函数图并分组叠加:

· mkdensity lnwage, over(collgrad) by(race) xcommon ycommon cols(1)

4. 结语

mkdensity 命令的出现很好地完善了 Stata 中核密度函数图的绘制,是对 kdensity 的有效补充,可以帮助我们快速画出子样本的核密度函数图,或在一张图内展示多个变量或子样本的核密度函数。

5. 参考资料

  • Silverman B W. Density estimation for statistics and data analysis[M]. Routledge, 2018. -Link-
  • Cox N J. Speaking Stata: density probability plots[J]. The Stata Journal, 2005, 5(2): 259-273. -PDF-
  • Lorincz S. MKDENSITY: Stata module to graph kernel densities of several variables[J]. 2016. -Link-
  • Kernel density estimation -Link-
  • 核密度估计 -Link-

6. 相关推文

Note:产生如下推文列表的 Stata 命令为:
lianxh 绘图, m
安装最新版 lianxh 命令:
ssc install lianxh, replace

相关课程

免费公开课

最新课程-直播课

专题 嘉宾 直播/回看视频
最新专题 文本分析、机器学习、效率专题、生存分析等
研究设计 连玉君 我的特斯拉-实证研究设计-幻灯片-
面板模型 连玉君 动态面板模型-幻灯片-
面板模型 连玉君 直击面板数据模型 [免费公开课,2小时]
  • Note: 部分课程的资料,PPT 等可以前往 连享会-直播课 主页查看,下载。

课程主页

课程主页

关于我们

  • Stata连享会 由中山大学连玉君老师团队创办,定期分享实证分析经验。
  • 连享会-主页知乎专栏,400+ 推文,实证分析不再抓狂。直播间 有很多视频课程,可以随时观看。
  • 公众号关键词搜索/回复 功能已经上线。大家可以在公众号左下角点击键盘图标,输入简要关键词,以便快速呈现历史推文,获取工具软件和数据下载。常见关键词:课程, 直播, 视频, 客服, 模型设定, 研究设计, stata, plus, 绘图, 编程, 面板, 论文重现, 可视化, RDD, DID, PSM, 合成控制法

连享会小程序:扫一扫,看推文,看视频……

扫码加入连享会微信群,提问交流更方便

✏ 连享会-常见问题解答:
https://gitee.com/lianxh/Course/wikis

New! lianxh 命令发布了:
随时搜索连享会推文、Stata 资源,安装命令如下:
. ssc install lianxh
使用详情参见帮助文件 (有惊喜):
. help lianxh