Stata:双变量联合核密度函数图-kdens2

发布时间:2022-01-21 阅读 5287

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 多维核密度估计

多维核密度估计 (Multivariate kernel density estimation) 是多维随机变量的核密度估计。给定一组独立同分布的样本 x={x1,x2xn}xi 都是 d 维的向量,设其联合概率密度函数为 f,多维核密度函数如下:

其中 K(x) 为多维核函数 (非负、积分为 1,符合联合概率密度性质),H 为 dd 的对称且正定矩阵。

1.2 多维核函数

多维核函数是定义在多维空间上的核函数,主要分为乘积核和放射核。设 d 维随机变量 u={u1,u2ud,}T,则:

  • 乘积核
  • 放射核

在实际应用中我们经常使用多维高斯乘积核。以其二维乘积核为例,我们使用 Stata 命令 twoway contour 绘制其三维等高线图:

. clear
. set obs 625
. gen x = (mod((_n-mod(_n-1,25)-1)/25,25)-12)/12
. gen y = (mod(_n-1,25)-12)/12
. gen z = normalden(x,0,2)*normalden(y,0,2)  //二维乘积核
. twoway contour z x y, level(15)

1.3 双变量联合核密度函数图

在多维核密度估计后,超过两维的多维核密度函数图无法进行绘制。对于二维核密度函数图即双变量联合核密度函数图,我们可以 Stata 命令 kdens2 进行绘制。

2. 命令介绍

kdens2 命令使用高斯核进行二维核密度估计,并使用 twoway contourtwoway contourline 命令绘制三维的双变量联合核密度函数图。

* 命令安装
net install kdens2.pkg, replace
* 命令语法
kdens2 varnameY varnameX [if exp] [in range] [, options]

其中,options 如下:

  • xwidth:变量 X 的带宽,默认为最优带宽;
  • ywidth:变量 Y 的带宽,默认为最优带宽;
  • n:估计使用的样本点数,默认为 min(N, 50);
  • saving:同时保存图片和数据;
  • nodraw:不显示图片;
  • color:将绘图命令从 twoway contourline 变为 twoway contour,即加入颜色分布。

同时 twoway contourlinetwoway contour 中的相关选项也都可以使用:

  • levels:设定组数;
  • ccuts:设定起始值、结束值和组间距;
  • ccolors:设定不同区域的颜色;
  • scolor:设定起始颜色;
  • ecolor:设定结束颜色。

3. Stata 实例

首先我们调用 Kleiber 和 Zeileis (2008) 的 Grunfeld.dta 数据集。接下来我们对数据进行简单处理,并设置一副白色的背景风格,以便于绘图:

. webuse grunfeld, clear       //调用数据
. /*
> 数据集为面板数据, 包括了企业截面和时间上的投资、市值等特征
> invest: 企业的投资额; mvalue: 企业的市值
> */
. gen linv = log(invest)
. label var linv "Log[Investment]"
. gen lmkt = log(mvalue)
. label var lmkt "Log[Mkt value]" 
. net install schemepack.pkg, replace //安装绘图模板 
. set scheme white_tableau            //设置绘图模板

我们可以通过 kdens2 绘制双变量联合核密度函数图,并通过 level 选项设定组数:

· kdens2 linv lmkt, levels(10)

通过使用 color 选项,我们可以加入颜色分布:

· kdens2 linv lmkt, levels(10) color

通过使用 ccutsscolorecolor 选项,我们可以手动设定起始值、结束值、组间距和区域的颜色:

. kdens2 linv lmkt, color ccuts(0(.04).2) scolor(yellow) ecolo

4. 结语

kdens2 命令的出现填补了 Stata 中双变量联合核密度函数图绘制的空白,可以帮助我们直观地分析双变量的联合密度分布。但由于命令默认使用高斯乘积核,存在一定的局限性。

5. 参考资料

  • Baum C. KDENS2: Stata module to estimate bivariate kernel density[J]. 2012. -Link-
  • Stata manual: graph twoway contour -Link-
  • Multivariate 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