抱歉,我以为你已经是初级班的学员了,呵呵。
离群值通常采用缩尾处理(winsor),基本的思路是把大于第 99 百分位的观察值替换成 99 百分位;小于第 1 百分位的观察值替换成第 1 百分位上的数值。
例如,有 100 个人的身高数据,排位第 99 的那个人(张三)的身高是 1.87,排位第 100 的那个人(李四)的身高是 1.95。winsor 过程中,李四的身高数据被修改为 1.87。
你可以在 Google 上搜索一下 winsor,看看相关的介绍即可。
如下是 Stata 初级视频教程中的相关命令:
*-2.5.3.3 缩尾处理
sysuse nlsw88.dta, clear
histogram wage
*-双边缩尾
winsor wage, gen(wage_w2) p(0.025)
*-图示
twoway (histogram wage,color(green)) ///
(histogram wage_w2,color(yellow)), ///
legend(label(1 "wage") label(2 "wage_winsor2"))
*-单边缩尾
winsor wage, gen(wage_h) p(0.025) highonly
*-图示
twoway (histogram wage,color(green)) ///
(histogram wage_h,color(yellow)), ///
legend(label(1 "wage") label(2 "wage_winsorH"))
*-若无法下载 winsor 命令,可以采用如下处理方法:
_pctile wage, percentile(1 99)
replace wage = r(r1) if wage<r(r1)
replace wage = r(r2) if wage>r(r2)
*-亦可采用 clip() 函数 (参见第2.1.2.6小节,第385行)
gen wage_w = clip(wage, r(r1), r(r2))
sum wage wage_w, detail