全部版块 我的主页
论坛 经济学论坛 三区 区域经济学
104151 7
2021-08-16
winsor和winsor2都是stata中常用到的缩尾命令,是winsorize的简称,winsor2命令顾名思义就是winsor命令的进阶版,二者有相同也有不同。相同点在于两者都可以对指定变量进行缩尾处理,winsor是早期运用较多的命令,winsor2是外部命令,如未安装过,还需在使用前自行安装;不同点在于winsor2解决了winsor先前存在的弊端,比如winsor只能对单个变量进行缩尾处理,winsor2可以批量对多变量进行缩尾处理,winsor2的命令设置更为人性化,既可以保留指定分位数以外的异常值,也可将异常值剔除。

同其他外部命令一样,您可以按照个人需要来设置独一无二的winsor2命令,winsor2的标准格式如下:


Winsor2 varlist [if] [in], [suffix(string) replace trim cuts(# #) by(groupvar) label ]


// suffix(string): 对缩尾后的变量名加后缀,否则默认为_w / _tr;

// trim: 修剪处理,将高于或低于指定分位数的离群值设定为缺失值;

// cuts: 选择分位数,否则默认为1%双侧缩尾处理;

// by: 分组;

// label: 设定标签;

// 您可以根据个人需要选择是否添加后缀条件,如无需要,直接按示例简单使用winsor2即可。


ssc install winsor2, replace

// 使用前需自行下载winsor2外部命令。

根据阅读文献和个人实证经验,发现在实证文章中最常用到1%水平上下的缩尾处理,或者指定分位数上的缩尾处理,都可以用以下最常用到的四种简单缩尾方式实现:


Winsor2 x1 x2

// 不加option,生成_w缩尾后变量;这是最简洁的一条winsor2命令,默认1%上下水平的缩尾处理,可以同时保留x1 x2原始值和x1_w x2_w缩尾值。


Winsor2 x1 x2, cuts(1 99) replace

// 进行上下1%缩尾处理,覆盖原始值;在上一条命令中加入指定分位数和replace,此时的x1 x2是缩尾之后的取值,覆盖了原始值,即用99分位数替代高于99分位数的异常值,用1分位数替代低于1分位数的异常值。


Winsor2 x1 x2, cuts(0 99) replace

// 仅对99%分位数以上缩尾处理,将异常值用指定分位数取值替代,覆盖原始值。此处和上述命令的不同点在于分位数的设置不同,cuts(a b)中的a b可以自定义设置,既可以单侧分位数缩尾,又可以双侧分位数缩尾,若换成上下5%分位数缩尾处理,只需写成cuts(5 95)即可,以此类推。


Winsor2 x1 x2, replace cuts(1 99) trim

// 进行上下1%修剪处理;此处trim和上述命令中的replace的不同在于,replace直接覆盖原始值,将异常值用指定分位数的取值替代,trim将指定分位数之外的异常值剔除,形成缺失值,样本量大的情况下更加适用trim命令,在使用trim命令后,缩尾后的变量存在缺失值,继续将缺失值剔除即可。

drop if x1==.|x2==.

// 剔除x1 x2中的缺失值。

文字来源:驰悟公众号

之前在经管之家搜缩尾处理,看得有点一知半解,然后就去公众号搜了。

看到了一篇讲的比较清楚的缩尾处理想分享给大家,如有侵权等行为,请私聊我立马删掉。


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2022-5-7 16:15:55
学习了  谢谢谢谢
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2022-5-16 15:55:16
同学习了,谢谢
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2022-8-7 18:05:13
学习了,非常感谢您的分享
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2022-11-17 14:32:46
非常感谢
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2024-4-10 16:19:33
学习到了 就是安装包在哪里下呢
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群