วิธีระบุค่าผิดปกติใน sas (พร้อมตัวอย่าง)


ค่าผิดปกติ คือการสังเกตที่อยู่ห่างจากค่าอื่นๆ ในชุดข้อมูลอย่างผิดปกติ ค่าผิดปกติอาจเป็นปัญหาได้เนื่องจากอาจส่งผลต่อผลลัพธ์ของการวิเคราะห์

วิธีที่ใช้กันทั่วไปในการระบุค่าผิดปกติในชุดข้อมูลคือการใช้ช่วงระหว่างควอไทล์

ช่วงระหว่างควอไทล์ (IQR) คือความแตกต่างระหว่างเปอร์เซ็นไทล์ที่ 75 (Q3) และเปอร์เซ็นไทล์ที่ 25 (Q1) ในชุดข้อมูล โดยจะวัดการกระจายของค่าเฉลี่ย 50% ของค่า

โดยทั่วไป เราจะนิยามการสังเกตว่าเป็นค่าผิดปกติหากเป็น 1.5 เท่าของช่วงระหว่างควอร์ไทล์เหนือควอร์ไทล์ที่ 3 (Q3) หรือ 1.5 เท่าของช่วงระหว่างควอไทล์ที่ต่ำกว่าควอร์ไทล์ที่ 1 (Q1)

ค่าผิดปกติ = การสังเกต > Q3 + 1.5*IQR หรือ < Q1 – 1.5*IQR

ตัวอย่างต่อไปนี้แสดงวิธีใช้สูตรนี้เพื่อระบุค่าผิดปกติในชุดข้อมูลใน SAS

ตัวอย่าง: การระบุค่าผิดปกติใน SAS

สมมติว่าเรามีชุดข้อมูลต่อไปนี้ใน SAS:

 /*create dataset*/
data original_data;
    input team $points;
    datalines ;
At 18
B24
C26
D 34
E 38
F45
G 48
H 54
I 60
Day 73
K 79
L 85
M 94
No. 98
O 221
P 223
;
run ;

/*view dataset*/
proc print data = original_data;

วิธีที่ง่ายที่สุดในการระบุค่าผิดปกติใน SAS คือการสร้าง boxplot ซึ่งใช้สูตรที่กล่าวถึงก่อนหน้านี้โดยอัตโนมัติเพื่อระบุและแสดงค่าผิดปกติในชุดข้อมูลเป็นวงกลมขนาดเล็ก:

 /*create boxplot to visualize distribution of points*/
ods output sgplot=boxplot_data;
proc sgplot data =original_data;
    vbox points;
run ;

/*view summary of boxplot descriptive statistics*/
proc print data =boxplot_data; 

จากแผนภาพกล่อง เราจะเห็นว่ามีวงกลมเล็กๆ สองวงอยู่ใกล้ด้านบนของโครงเรื่อง นี่แสดงว่ามีค่าผิดปกติสองตัว

ในตารางด้านล่าง Boxplot เราจะเห็นค่าที่แน่นอนของค่าผิดปกติทั้งสอง: 221 และ 223

เราสามารถตรวจสอบได้ด้วยตนเองว่าค่าทั้งสองนี้มีค่าผิดปกติโดยใช้สูตรก่อนหน้า:

ค่าผิดปกติ = การสังเกต > Q3 + 1.5*IQR หรือ < Q1 – 1.5*IQR

ช่วงระหว่างควอไทล์คือ: Q3 – Q1 = 89.5 – 36 = 53.5

ขีดจำกัดบนสำหรับค่าผิดปกติคือ: Q3 + 1.5*IQR = 89.5 + 1.5*53.5 = 169.75

เนื่องจาก 221 และ 223 มีค่ามากกว่าค่านี้ทั้งคู่ จึงจัดอยู่ในประเภทค่าผิดปกติ

จากนั้นเราสามารถใช้โค้ดต่อไปนี้เพื่อลบค่าผิดปกติทั้งสองนี้ออกจากชุดข้อมูลได้หากเราต้องการ:

 /*create new dataset with outliers removed*/
data new_data;
    set original_data;
    if points >= 221 then delete;
run ;

/*view new dataset*/
proc print data =new_data; 

โปรดทราบว่าค่าผิดปกติทั้งสองได้ถูกลบออกแล้ว

แหล่งข้อมูลเพิ่มเติม

บทช่วยสอนต่อไปนี้จะอธิบายวิธีดำเนินการงานทั่วไปอื่นๆ ใน SAS:

วิธีใช้สรุปขั้นตอนใน SAS
วิธีใช้ Proc Tabulate ใน SAS
วิธีการคำนวณความสัมพันธ์ใน SAS
วิธีสร้างตารางความถี่ใน SAS
วิธีแทนที่ค่าที่หายไปด้วยศูนย์ใน SAS

เพิ่มความคิดเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *