การใช้การวิเคราะห์องค์ประกอบหลัก (PCA) สำหรับการเลือกคุณสมบัติ


54

ฉันใหม่สำหรับการเลือกคุณสมบัติและฉันสงสัยว่าคุณจะใช้ PCA เพื่อดำเนินการเลือกคุณลักษณะอย่างไร PCA คำนวณคะแนนสัมพัทธ์สำหรับตัวแปรอินพุตแต่ละตัวที่คุณสามารถใช้เพื่อกรองตัวแปรอินพุตที่ไม่ใช่ข้อมูลหรือไม่? โดยทั่วไปฉันต้องการที่จะสามารถสั่งซื้อคุณสมบัติเดิมในข้อมูลตามความแปรปรวนหรือจำนวนข้อมูลที่มีอยู่

คำตอบ:


75

แนวคิดพื้นฐานเมื่อใช้ PCA เป็นเครื่องมือสำหรับการเลือกคุณสมบัติคือการเลือกตัวแปรตามขนาด (จากมากที่สุดไปหาน้อยที่สุดในค่าสัมบูรณ์) ของสัมประสิทธิ์ ( โหลด ) คุณอาจจำได้ว่า PCA พยายามที่จะแทนที่ตัวแปร (มีความสัมพันธ์มากขึ้นหรือน้อยลง) ด้วยชุดค่าผสมเชิงเส้นที่ไม่สัมพันธ์กัน (ประมาณการ) ของตัวแปรดั้งเดิม ให้เราไม่สนใจวิธีเลือกเหมาะสมที่สุดสำหรับปัญหาที่เกิดขึ้น องค์ประกอบหลักเหล่านั้นถูกจัดอันดับตามความสำคัญผ่านการอธิบายความแปรปรวนและตัวแปรแต่ละอย่างมีส่วนช่วยในระดับที่แตกต่างกันไปในแต่ละองค์ประกอบ การใช้เกณฑ์ผลต่างที่ใหญ่ที่สุดจะคล้ายกับการแยกคุณลักษณะpk<pkk โดยที่องค์ประกอบหลักถูกใช้เป็นคุณสมบัติใหม่แทนที่จะเป็นตัวแปรดั้งเดิม อย่างไรก็ตามเราสามารถตัดสินใจที่จะเก็บเฉพาะองค์ประกอบแรกและเลือกตัวแปรที่มีสัมประสิทธิ์สัมบูรณ์สูงสุด หมายเลขอาจขึ้นอยู่กับสัดส่วนของจำนวนตัวแปร (เช่นเก็บเฉพาะ 10% สูงสุดของตัวแปร ) หรือค่าตัดคงที่ (เช่นพิจารณาขีด จำกัด ของค่าสัมประสิทธิ์ปกติ) วิธีการนี้มีความคล้ายคลึงกับโอเปอเรเตอร์Lassoในการลงโทษที่ถูกลงโทษ (หรือการถดถอยPLS ) แม้ว่าค่าของหรือจำนวนขององค์ประกอบที่จะเก็บรักษาเป็นตัวเลือกที่ชัดเจนj<pjpj

ปัญหาเกี่ยวกับการใช้ PCA คือ (1) การวัดจากตัวแปรดั้งเดิมทั้งหมดถูกใช้ในการฉายภาพไปยังพื้นที่มิติด้านล่าง (2) พิจารณาเฉพาะความสัมพันธ์เชิงเส้นเท่านั้นและ (3) วิธีการที่ใช้ PCA หรือ SVD เช่นกัน เป็นวิธีการคัดกรองแบบ univariate (t-test, correlation, ฯลฯ ) อย่าคำนึงถึงธรรมชาติของตัวแปรหลายตัวแปรที่มีศักยภาพของโครงสร้างข้อมูล (เช่นการปฏิสัมพันธ์ระหว่างคำสั่งที่สูงขึ้นระหว่างตัวแปร)

เกี่ยวกับจุดที่ 1 มีการเสนอวิธีการคัดกรองที่ละเอียดยิ่งขึ้นบางตัวอย่างเช่นการวิเคราะห์คุณสมบัติหลักหรือวิธีการแบบขั้นตอนเช่นเดียวกับที่ใช้สำหรับ ' การโกนของยีน ' ในการศึกษาการแสดงออกของยีน นอกจากนี้อาจใช้PCA กระจัดกระจายเพื่อทำการลดขนาดและเลือกตัวแปรตามผลลัพธ์การโหลดตัวแปร เกี่ยวกับจุดที่ 2 เป็นไปได้ที่จะใช้เคอร์เนล PCA (ใช้เคล็ดลับเคอร์เนล ) หากจำเป็นต้องฝังความสัมพันธ์แบบไม่เชิงเส้นลงในพื้นที่มิติที่ต่ำกว่า ต้นไม้ตัดสินใจหรือดีกว่าป่าสุ่มขั้นตอนวิธีการอาจจะดีขึ้นสามารถที่จะแก้ปัญหาจุด 3. หลังจะช่วยให้ได้รับมา Gini- หรือเปลี่ยนแปลงตามมาตรการสำคัญตัวแปร

จุดสุดท้าย: หากคุณตั้งใจจะทำการเลือกคุณสมบัติก่อนที่จะใช้การจำแนกประเภทหรือแบบจำลองการถดถอยให้ตรวจสอบความถูกต้องของกระบวนการทั้งหมด (ดู .107.10.2 ขององค์ประกอบของการเรียนรู้ทางสถิติหรือAmbroise และ McLachlan, 2002 )


ในขณะที่คุณสนใจโซลูชัน R ฉันขอแนะนำให้ดูที่ชุดคาเร็ตซึ่งมีฟังก์ชันที่มีประโยชน์มากมายสำหรับการประมวลผลข้อมูลล่วงหน้าและการเลือกตัวแปรในบริบทการจำแนกหรือการถดถอย


1
มีข้อมูลที่ดีมากมายที่นี่ แต่ฉันประหลาดใจที่ไม่มีการกล่าวถึง EFA ฉันคิดว่าการวิเคราะห์ปัจจัยเหมาะสมกับการเลือกคุณสมบัติ / การลดขนาดและ PCA ว่าเหมาะสมสำหรับการแสดงข้อมูลของคุณอีกครั้งเช่นตัวแปรไม่เกี่ยวข้องกัน ฉันเดาว่าคุณไม่เห็นด้วย?
gung - Reinstate Monica

3
ฉันลังเลที่จะแนะนำ EFA โดยไม่ทราบว่าเรากำลังเผชิญกับข้อมูลประเภทใด: การแนะนำแบบจำลองสำหรับข้อผิดพลาด (ซึ่ง PCA ไม่ได้) มีข้อได้เปรียบอย่างแน่นอนเมื่อจัดการกับตัวแปรแฝงเป้าหมายหรือมากกว่าโดยทั่วไปเมื่อพยายามเปิดเผยแฝง โครงสร้าง แต่ PCA (ที่มีคำเตือน) ส่วนใหญ่จะใช้เพื่อทำการลดขนาดหรือการเลือกคุณสมบัติในขนาดใหญ่ AFAICT ในกรณี , EFA จะไม่เหมาะสมในขณะที่วิธีการที่ซับซ้อนสำหรับการเลือกตัวแปรมีอยู่ ฉันไม่รู้กรณีของ OP ดังนั้นฉันจึงไม่สามารถพูดได้มากกว่านี้ แต่นี่เป็นคำพูดที่ดี np
chl

เห็นได้ชัดว่าเป็นเรื่องยากและเหมาะสมยิ่ง เนื่องจากคุณรู้มากเกี่ยวกับเรื่องนี้มากกว่าที่ฉันทำฉันจึงสนใจในความคิดเห็นของคุณ +1, btw
gung - Reinstate Monica

2
สองความคิดเห็น อันดับแรกคุณพูดถึง kPCA เป็นวิธีแก้ปัญหาที่เป็นไปได้ในประเด็นที่ 2 แต่จะใช้ kPCA สำหรับการเลือกคุณลักษณะได้อย่างไรเมื่อ eigenvector / loadings ไม่พร้อมใช้งาน? มีคำถามเพิ่มเติมเกี่ยวกับที่อยู่และผมก็เป็นที่ถกเถียงกันอยู่ที่นั่นมันไม่สามารถ ประการที่สองย่อหน้าที่สองของคุณก่อนย่อหน้าสุดท้ายสามารถปรับปรุงได้มากถ้าคุณพูดถึง LASSO ซึ่งเป็นวิธีที่ต้องการ (?) ในการเลือกคุณสมบัติในการถดถอย กระทู้นี้ยังคงได้รับความนิยมมากและคำถามมากมายถูกปิดเนื่องจากซ้ำซ้อนดังนั้นจึงเป็นสิ่งสำคัญที่คำตอบของคุณจะยอดเยี่ยมที่สุด!
อะมีบาพูดว่า Reinstate Monica

@chl ขอบคุณสำหรับคำตอบที่ให้ข้อมูลของคุณ คุณพูดถึง "ตัดสินใจที่จะเก็บเฉพาะองค์ประกอบแรก" ทำไมส่วนประกอบแรกเท่านั้น ด้วยองค์ประกอบเดียวทำให้ง่ายต่อการจัดอันดับคุณสมบัติ / ตัวแปร คุณจะทำอย่างนั้นกับองค์ประกอบหลายอย่างพูด 3 ได้อย่างไร คุณจัดอันดับตัวแปรระหว่างส่วนประกอบต่าง ๆ ได้อย่างไร? ฉันคิดว่าคุณสามารถผ่านแต่ละองค์ประกอบหลักและเลือกคุณลักษณะที่มีการโหลดที่ใหญ่ที่สุดจากส่วนประกอบหลักนั้นจากชุดคุณลักษณะที่ยังไม่ได้เลือก สามารถเลือกเหล่านี้อีกครั้งโดยตัวเลข (j) หรือตามเกณฑ์ของค่าสัมประสิทธิ์ปกติ คุณเห็นด้วยหรือไม่?
59

6

ด้วยชุดของคุณสมบัติ N การวิเคราะห์ PCA จะสร้าง (1) การรวมกันเชิงเส้นของคุณสมบัติที่มีความแปรปรวนสูงสุด (องค์ประกอบ PCA แรก), (2) การรวมเชิงเส้นที่มีความแปรปรวนสูงสุดใน orthogonal subspace กับส่วนประกอบ PCA แรกเป็นต้น (ภายใต้ข้อ จำกัด ที่ค่าสัมประสิทธิ์ของชุดค่าผสมเป็นเวกเตอร์ที่มีค่าหน่วย) ไม่ว่าชุดค่าผสมเชิงเส้นที่มีความแปรปรวนสูงสุดเป็นคุณลักษณะ "ดี" หรือไม่นั้นขึ้นอยู่กับสิ่งที่คุณพยายามทำนาย ด้วยเหตุนี้ฉันจึงบอกว่าการเป็นองค์ประกอบ PCA และการมีคุณสมบัติ "ดี" คือ (โดยทั่วไป) สองแนวคิดที่ไม่เกี่ยวข้อง


(-1) ฉันไม่เห็นว่าสิ่งนี้จะตอบคำถามเดิมได้อย่างไร
อะมีบากล่าวว่า Reinstate Monica

-1

คุณไม่สามารถสั่งซื้อฟีเจอร์ตามความแปรปรวนได้เนื่องจากความแปรปรวนที่ใช้ใน PCA นั้นเป็นเอนทิตีหลายมิติ คุณสามารถสั่งซื้อฟีเจอร์โดยการฉายความแปรปรวนไปยังทิศทางที่คุณเลือกเท่านั้น (ซึ่งโดยปกติคือคอมไพน์หลักตัวแรก) ดังนั้นในคำอื่น ๆ ว่าคุณลักษณะนั้นมีความแปรปรวนมากกว่าแอนเทอร์หรือไม่นั้นขึ้นอยู่กับวิธีที่คุณเลือกทิศทางการฉาย


2
ฉันไม่เข้าใจ: คุณลักษณะดั้งเดิมแต่ละอย่างจะมีความแปรปรวนและอย่างใดอย่างหนึ่งอย่างแน่นอนสามารถ "สั่งซื้อคุณสมบัติตามความแปรปรวน" ยิ่งกว่านั้นฉันไม่เข้าใจว่าจะสั่งให้พวกเขา "โดยการฉายความแปรปรวนไปยังทิศทางที่คุณเลือก" ได้อย่างไร คุณหมายถึงอะไร?
อะมีบาพูดว่า Reinstate Monica

คุณสามารถใช้ความแปรปรวนเพื่อสั่งซื้อฟีเจอร์ต่าง ๆ ได้จากนั้นมีส่วนเกี่ยวข้องกับ PCA ซึ่งใช้กับฟีเจอร์ทั้งหมดเข้าด้วยกัน
James LI

เกี่ยวกับการฉายภาพ: หากคุณมีคุณสมบัติ n เวกเตอร์ทิศทางเป็นเพียงเวกเตอร์หน่วยในปริภูมิมิติ การประมาณการของเวกเตอร์อินสแตนซ์ m ของคุณคือผลคูณของเวกเตอร์อินสแตนซ์กับเวกเตอร์หน่วยนั้นซึ่งส่งผลให้เป็นเวกเตอร์มิติ และความแปรปรวนของเวกเตอร์มิติ m นี้คือ "การฉายภาพ" ของความแปรปรวนของชุดข้อมูลไปในทิศทางที่เลือก
James LI

1
-1 ฉันคิดว่าทุกหนึ่งในสามประโยคในคำตอบของคุณไม่ถูกต้องหรือไม่ชัดเจนว่ามันทำให้เข้าใจผิด ฉันเห็นด้วยกับทุกสิ่งที่คุณเขียนในความคิดเห็น แต่ฉันไม่รู้ว่าคำตอบของคุณสามารถตีความหมายถึงสิ่งนั้นได้อย่างไร "คุณไม่สามารถสั่งซื้อคุณสมบัติตามความแปรปรวน" - ?? "คุณสามารถสั่งซื้อฟีเจอร์ได้โดยการฉายความแปรปรวนไปยังทิศทางที่กำหนด" - ?? "ไม่ว่าจะเป็นคุณลักษณะที่มีความแปรปรวนมากขึ้น ... ขึ้นอยู่กับ ... " - ?? ทั้งหมดนี้เป็นสิ่งที่ผิด
อะมีบาพูดว่า Reinstate Monica

2
ฉันไม่ทราบว่าคำถามนี้ถูกถามมานานแล้ว และฉันเห็นด้วยกับคำตอบเหล่านี้ส่วนใหญ่ จุดของฉันคือ: PCA ไม่เหมาะสำหรับการเลือกคุณสมบัติ ไม่มีใครที่นี่ต้องการพูดแบบนี้โดยตรง
James LI
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.