前言
在计量中,我们在中稳健性检验的时候,常常会用到缩尾处理,在看大量文章的时,我们发现,进行缩尾后,数据样本两并没有发生改变。这是我就纳闷了,为什么会这样呢?
缩尾(winsorize)
首先看定义:
缩尾是指将数据中的极端值替换为指定百分位数的值,以减少这些极端值对统计分析结果的影响。这一过程保持了数据点的总数不变,仅仅调整了极端值的大小。
参考文献定义:
Winsor, C. P. (1941). "The Transformation of Data." Biometrics Bulletin, 2(3), 81-89.
如何理解? 缩
?
“缩”有缩小、减少、压缩的意思。在“缩尾”这个术语中,它表示对数据极端值的调整或压缩。即,将过大或过小的极端值“缩小”到一定的范围内,从而减少它们对整体数据分析的影响。
英文翻译是Winsorization (以这个人的名字命令的,很遗憾,在科斯林辞典查不到这个单词)
缩尾方法的核心思想是通过“缩”或“压缩”极端值,使得数据集中更多地反映中间值,从而得到更稳健的统计结果。
在stata中,缩尾的命令是:
假设你要对变量 varname 进行缩尾,保留5%和95%的分位数,命令如下:
winsor varname, gen(varname_winsor) cuts(5 95)
截尾(Trimming)
看定义:
截尾是指将数据集中处于最低和最高某些百分位数之外的极端值直接删除,以减少这些极端值对统计分析结果的影响。这种方法会减少样本量,但可以提高分析的稳健性和准确性。
定义出处:
Hampel, F. R. (1974). "The Influence Curve and Its Role in Robust Estimation." Journal of the American Statistical Association, 69(346), 383-393.
理解:截
“截”在这里有点类似于“切除”或“移除”的意思。具体来说:
- 切断极端值:将数据中位于最小或最大百分位数以外的值直接删除。
*移除极端影响:通过删除这些极端值来减少它们对统计结果的影响。
在stata中,没有直接的截尾代码。
但可以调用drop
egen p = pctile(income)
drop if p < 5
drop if p > 95
缩尾好还是截尾好?
在稳健性检验中,选择使用截尾(trimming)还是缩尾(Winsorization)取决于具体的研究目的和数据特征。
结论:
样本大,都试一试,样本小,选缩尾
缩尾(Winsorization)
优点:
- 保留样本量:缩尾通过替换极端值,而不是删除它们,保留了数据集的整体大小。
- 减小极端值影响:缩尾减少了极端值对分析结果的影响,同时避免了信息丢失。
缺点:
- 修改数据值:虽然极端值被替换为分位数值,但这些值仍然存在,可能对某些统计方法有影响。
- 不完全去除极端值:如果极端值的确是不合理的值,缩尾可能不足以完全去除其影响。
适用场景:
当极端值不被认为是错误值,但可能对分析结果产生过大影响时。
当希望保留所有观测数据,但希望减小极端值影响时。
截尾(Trimming)
优点:
- 完全去除极端值:截尾直接删除极端值,适合在数据中存在明显异常值且这些异常值被认为是错误或不相关时使用。
- 减少噪音:通过删除极端值,可以减少数据中的噪音,提高分析的清晰度。
缺点:
- 信息丢失:删除数据会导致样本量减少,可能丢失一些有用的信息。
- 偏差风险:如果极端值实际上包含有用的信息,截尾可能导致结果偏差。
适用场景:
当数据中存在明显错误值或异常值,这些值不代表正常的观测时。
当样本量足够大,删除部分数据不会显著影响结果时。
判断标准
- 数据特征:仔细检查数据分布和极端值的性质。判断极端值是由于错误、噪音还是实际存在的现象。
- 研究目的:考虑研究的目标和重点。如果研究结果非常敏感于样本量变化,可能倾向于使用缩尾;如果准确性和去除噪音更重要,可能选择截尾。
- 稳健性要求:在稳健性检验中,通常需要进行多种方法的比较。可以尝试两种方法,并比较结果的一致性和稳定性。
举一个例子
假设你在分析一个收入数据集,其中有一些异常高的收入值:
- 如果这些异常高的值是数据录入错误或极端不合理的值,考虑使用截尾。
- 如果这些高收入值是真实但影响分析结果,可以使用缩尾。