2008年(15)
分类:
2008-04-16 20:47:01
1. 检查各个变量的最大值,最小值,均值,分位数(P1,P5,P25,P50,P75,P95,P99),看是否有不合理的值。
proc means data=src.test;
var a;
output out=tmp(keep=_FREQ_
num mean std max p:)
n=num mean=mean std=std min=p00 p5=p05 p25=p25 p50=p50
p75=p75 p95=p95 p99=p99 max=max;
run;
2. 对于错误的值,比如本应非负的变量中出现的负值,可以置零,或者按照Missing处理。
data tmp;
set src.test;
if a<0 then a=0;
if b<0 then call missing(b);
run;
3. 对于Outlier值的处理方法有很多,一是用一个很大的截断值替换,一个是用P9x(我们常用P99)的值加上Outlier的五次方根来替换,也可以按Missing处理。
4.对于Missing数据可以用均值(也可以根据实际背景采用其他形式)代替。
5. 因为造成数据Outlier的情况有很多(输入错误或者实际数据确实如此),可以根据实际情况处理,如果按照Missing处理,要两步,先将Outlier值置Missing,再处理Missing值。