วิธีดำเนินการวิเคราะห์องค์ประกอบหลักใน 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

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

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