课程
在stata中我们如何处理异常值数据?
2021-11-23
7818
如何处理stata中的异常值数据?有哪些方法可以解决?以下是本期艾思云课堂小编给大家分享的处理stata异常值的方法,希望能够帮到你。
在stata中我们如何处理这些异常值呢?
方法一:直接删除
这只一种非常粗暴的方法。由于异常值对于统计推断的影响巨大,这种做法目前已经不多采用了,尤其当样本量规模不大甚至比较小的时候。当然如果数据量样本足够大而异常值并不多的情况下,慎行。
方法二:替换成均值或者中位数
这是一种非常偷懒的做法,如果是做回归那么就在回归时改成用中位数回归,不过这也确实是一种很不错的办法。
方法三:将异常值视为缺失值,交给缺失值处理方法来处理
缺失值的处理方式本文前面已经详细介绍,在此不再赘述。
方法四:winsorize命令
winsorize是用相应分位数的值替代分位数之外的值,而不是删掉,这样可以最大限度的保存数据信息。主要是根据已有文献来的,如果别人用winsorize你也要用,否则你的结论和别人的没有可比性。目前来看,至少在金融领域,使用winsorize比较普遍,删除异常值的做法越来越少的被使用了。Stata中有现成的winsorize程序,打开Stata,在命令行输入ssc install winsor2,replace,自动安装 winsor2。安装完之后,winsor2命令的基本格式为:
winsor2 变量名 变量名, replace cuts(1 99)
p()里的数字可以自己设,一般是0.01。当然,0.01就是在1%的异常变量,也可以设定5%,就是p里面写成0.05。这个命令把最高1%和最低1%替换成离他们最近的值,不删除或变成缺失。
这个命令也可以将识别出来的异常值直接删除,命令形式如下:
winsor2 变量名 变量名, replace cuts(199) trim
这里插一句:数据清理永无止境,需要不断反复,有时候觉得数据很干净了,没问题了,过一段时间之后还是会发现一些小错误,有的能被修正过来,而有的只能保持错误状态。这个世界上很难找到完美的调查和数据,因此每次做清理时都要假定这个变量有问题,而不是这个变量没问题。
本期的艾思科蓝资讯就分享到这里了,学海无涯,我们的每一天都在学习,艾思科蓝一直伴随在您的学习之路上。
收藏
0
点赞
0