SAS學習筆記(七) 關於異常值處理

2021-06-20 18:24:17 字數 873 閱讀 5117

sas中對於類別變數(離散)分布觀察用proc freq,對於連續變數則用proc univariate來完成。

識別連續型變數的異常值通常稱為盒形圖,一般採用

proc univariate data=train plot;

var variable;

run;

plot選項輸出變數的莖葉圖(觀測數少)或者直方圖(觀測數多),盒形圖,正態概率圖。(同時輸出這些圖)

該方法只能識別某變數是否存在異常值,並不能將其標識,下面有兩種方法用來標識異常值:

1)使用data 步

proc means data=train nopoint;

var variable;

output out=outlier p25=p25 p75=p75;  /*p25,p75分別是上四分位數,下四分位數*,outlier為離群值即異常值/

run;

data a;

set outlier;

iqr3=3*(p75-p25);/*四分位數差的三倍,即離群值的範圍*/

call symputx('iqr3',iqr3);  /*將變數變成巨集*/

call symputx('p75',p75);

call symputx('p25',p25);

run;

data outlier1; 

set train;

if(&p25-&iqr3)<=&var<=(&p75+&iqr3) then outlier=0;

else outlier=1;    /*觀測值在外界之內,將outlier標識為0,在之外,則標識為1*/

run;

2)當變數符合正態分佈,可以使用z記分法來標識

3)z記分法的改進

SAS學習之查詢異常值

1.查詢缺失值的萬能程式 data missing set sasuser.xb array cha character 利用 好不指定cha陣列中的字元型變數個數 do i 1 to dim cha 指定迴圈次數為陣列cha中的元素數 if missing cha i then output en...

pandas學習筆記(2) 異常值處理

先建立乙個資料集 包含空資料 df dataframe data np.random.randint 0,150,size 200,4 columns python english math chinese for i in range 30 index np.random.randint 0,20...

Python學習筆記(七) 異常處理

異常處理部分,只是很粗略的看了一遍。著重記錄try except塊,和if else類似,不過try是異常控制的,一旦發生異常,跳過其他未執行的語句,直接執行except塊中的內容。知道捕獲多種異常的方法,分別處理不同異常的方法,捕獲所有異常的方法。finally語句 無論程式是否發生異常,fina...