วิธีดำเนินการวิเคราะห์องค์ประกอบหลักใน sas
การวิเคราะห์องค์ประกอบหลัก (PCA) เป็นเทคนิคการเรียนรู้ของเครื่องแบบ ไม่มีผู้ดูแล ซึ่งพยายามค้นหาองค์ประกอบหลัก ซึ่งได้แก่ การรวมกันเชิงเส้นของตัวแปรทำนาย ซึ่งอธิบายความแปรผันส่วนใหญ่ในชุดข้อมูล
วิธีที่ง่ายที่สุดในการดำเนินการ PCA ใน SAS คือการใช้คำสั่ง PROC PRINCOMP ซึ่งใช้ไวยากรณ์พื้นฐานต่อไปนี้:
proc princomp data =my_data out =out_data outstat =stats; var var1 var2 var3; run ;
แต่ละคำสั่งทำหน้าที่ดังนี้:
- data : ชื่อของชุดข้อมูลที่จะใช้สำหรับ PCA
- out : ชื่อของชุดข้อมูลที่จะสร้างซึ่งมีข้อมูลต้นฉบับทั้งหมดบวกกับคะแนนองค์ประกอบหลัก
- outstat : ระบุว่าควรสร้างชุดข้อมูลที่มีค่าเฉลี่ย ส่วนเบี่ยงเบนมาตรฐาน สัมประสิทธิ์สหสัมพันธ์ ค่าลักษณะเฉพาะ และเวกเตอร์ลักษณะเฉพาะ
- var : ตัวแปรที่จะใช้สำหรับ PCA จากชุดข้อมูลอินพุต
ตัวอย่างทีละขั้นตอนต่อไปนี้แสดงวิธีใช้คำสั่ง PROC PRINCOMP ในทางปฏิบัติเพื่อทำการวิเคราะห์องค์ประกอบหลักใน SAS
ขั้นตอนที่ 1: สร้างชุดข้อมูล
สมมติว่าเรามีชุดข้อมูลต่อไปนี้ที่มีข้อมูลต่างๆ เกี่ยวกับผู้เล่นบาสเก็ตบอล 20 คน:
/*create dataset*/ data my_data; input points assists rebounds; datalines ; 22 8 4 29 7 3 10 4 12 5 5 15 35 6 2 8 3 10 10 4 8 8 4 3 2 5 17 4 5 19 9 9 4 7 6 4 31 5 3 4 6 13 5 7 8 8 8 4 10 4 8 20 4 6 25 8 8 18 8 3 ; run ; /*view dataset*/ proc print data =my_data;

ขั้นตอนที่ 2: ทำการวิเคราะห์องค์ประกอบหลัก
เราสามารถใช้คำสั่ง PROC PRINCOMP เพื่อทำการวิเคราะห์องค์ประกอบหลักโดยใช้ตัวแปร point , Assists และ Bounce ของชุดข้อมูล:
/*perform principal components analysis*/ proc princomp data =my_data out =out_data outstat =stats; var points assists rebounds; run ;
ส่วนแรกของเอาต์พุตจะแสดงสถิติเชิงพรรณนาต่างๆ รวมถึงค่าเฉลี่ยและส่วนเบี่ยงเบนมาตรฐานของตัวแปรอินพุตแต่ละตัว เมทริกซ์สหสัมพันธ์ และค่าของค่าลักษณะเฉพาะและเวกเตอร์ลักษณะเฉพาะ:

ส่วนถัดไปของเอาต์พุตจะแสดง แผนภาพหินกรวด และแผนภาพ ผลต่างที่อธิบายไว้ :

เมื่อเราดำเนินการ PCA เรามักจะต้องการเข้าใจว่าองค์ประกอบหลักแต่ละส่วนสามารถอธิบายเปอร์เซ็นต์ของความแปรผันรวมในชุดข้อมูลได้
ตารางผลลัพธ์ชื่อ Correlation Matrix Eigenvalues ช่วยให้เราเห็นได้อย่างชัดเจนว่าเปอร์เซ็นต์ของการเปลี่ยนแปลงทั้งหมดอธิบายโดยแต่ละองค์ประกอบหลัก:
- องค์ประกอบหลักแรกอธิบาย 61.7% ของความแปรผันทั้งหมดในชุดข้อมูล
- องค์ประกอบหลักที่สองอธิบาย 26.51% ของความแปรผันทั้งหมดในชุดข้อมูล
- องค์ประกอบหลักที่สามอธิบาย 11.79% ของความแปรผันทั้งหมดในชุดข้อมูล
โปรดทราบว่าเปอร์เซ็นต์ทั้งหมดรวมกันเป็น 100%
โครงเรื่องชื่อ Variance Explained ช่วยให้เราเห็นภาพค่าเหล่านี้
แกน x จะแสดงองค์ประกอบหลัก และแกน y จะแสดงเปอร์เซ็นต์ของความแปรปรวนทั้งหมดที่อธิบายโดยองค์ประกอบหลักแต่ละรายการ
ขั้นตอนที่ 3: สร้าง biplot เพื่อให้เห็นภาพผลลัพธ์
ในการแสดงภาพผลลัพธ์ของ PCA สำหรับชุดข้อมูลที่กำหนด เราสามารถสร้าง biplot ซึ่งเป็นพล็อตที่แสดงการสังเกตแต่ละครั้งในชุดข้อมูลบนระนาบที่เกิดจากองค์ประกอบหลักสององค์ประกอบแรก
เราสามารถใช้ไวยากรณ์ต่อไปนี้ใน SAS เพื่อสร้าง biplot:
/*create dataset with column called obs to represent row numbers of original data*/
data biplot_data;
set out_data;
obs=_n_;
run ;
/*create biplot using values from first two principal components*/
proc sgplot data =biplot_data;
scatter x =Prin1 y =Prin2 / datalabel =obs;
run ;

แกน x จะแสดงองค์ประกอบหลักอันแรก แกน y จะแสดงองค์ประกอบหลักอันที่สอง และ การสังเกต แต่ละรายการจากชุดข้อมูลจะแสดงภายในกราฟเป็นวงกลมขนาดเล็ก
การสังเกตที่อยู่เคียงข้างกันบนกราฟมีค่าใกล้เคียงกันสำหรับตัวแปร 3 ตัว ได้แก่ คะแนน แอสซิสต์ และ รีบาวด์
ตัวอย่างเช่น ทางซ้ายสุดของกราฟ เราจะเห็นว่าข้อสังเกต #9 และ #10 อยู่ใกล้กันมาก
หากเราอ้างถึงชุดข้อมูลดั้งเดิม เราจะเห็นค่าต่อไปนี้สำหรับการสังเกตเหล่านี้:
- ข้อสังเกตที่ 9 : 2 แต้ม, 5 แอสซิสต์, 17 รีบาวด์
- ข้อสังเกตที่ 10 : 4 แต้ม 5 แอสซิสต์ 19 รีบาวด์
ค่าจะคล้ายกันสำหรับตัวแปรทั้งสามตัว ซึ่งอธิบายว่าทำไมการสังเกตเหล่านี้จึงอยู่ใกล้กันมากใน biplot
นอกจากนี้เรายังเห็นในตารางผลลัพธ์ชื่อ Correlation Matrix Eigenvalues ว่าองค์ประกอบหลักสององค์ประกอบแรกคิดเป็น 88.21% ของการเปลี่ยนแปลงทั้งหมดในชุดข้อมูล
เนื่องจากเปอร์เซ็นต์นี้สูงมาก จึงเหมาะสมที่จะวิเคราะห์ว่าการสังเกตใดใน biplot อยู่ใกล้กัน เนื่องจากองค์ประกอบหลักทั้งสองที่ประกอบกันเป็น biplot ถือเป็นการเปลี่ยนแปลงเกือบทั้งหมดในชุดข้อมูล
แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้จะอธิบายวิธีดำเนินการงานทั่วไปอื่นๆ ใน SAS:
วิธีดำเนินการถดถอยเชิงเส้นอย่างง่ายใน SAS
วิธีดำเนินการถดถอยเชิงเส้นพหุคูณใน SAS
วิธีดำเนินการถดถอยโลจิสติกใน SAS