มีค่าใดในการลดมิติข้อมูลของชุดข้อมูลที่ตัวแปรทั้งหมดมีค่าประมาณมุมฉากหรือไม่?


11

สมมติว่าฉันมีชุดข้อมูล -dimensional ซึ่งมีมิติอยู่มุมฉาก (มีความสัมพันธ์เป็นศูนย์)NNN

มีประโยชน์ใด ๆ ในแง่ของ:

  1. การแสดง
  2. การแสดง (เพื่อประสิทธิภาพลักษณนาม)
  3. หรือเกณฑ์อื่น ๆ

ทำการลดขนาดข้อมูลได้อย่างไร?


คำตอบ:


8

ฉันต้องการชี้แจงความคิดเห็นที่ฉันทิ้งไว้ภายใต้คำตอบของ @ Peter-Flom แต่มันก็คุ้มค่าที่จะเขียนในคำตอบ คุณสามารถลดขนาดได้เพียงใดด้วยการใช้ PCA กับข้อมูลเกือบทุกมุมฉาก คำตอบคือ "มันขึ้นอยู่กับ" ที่ไม่ว่าคุณจะดำเนินการ PCA ในความสัมพันธ์หรือความแปรปรวนเมทริกซ์

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

set.seed(123)
princompn <- function(n, sd1=1, sd2=1, sd3=1, sd4=1, cor=TRUE) {
    x1 <- rnorm(n, mean=0, sd=sd1)
    x2 <- rnorm(n, mean=0, sd=sd2)
    x3 <- rnorm(n, mean=0, sd=sd3)
    x4 <- rnorm(n, mean=0, sd=sd4)
    prcomp(cbind(x1,x2,x3,x4), scale.=cor)
}

เอาท์พุท:

> pc100 <- princompn(100)
> summary(pc100)
Importance of components:
                          PC1    PC2    PC3    PC4
Standard deviation     1.0736 1.0243 0.9762 0.9193
Proportion of Variance 0.2882 0.2623 0.2382 0.2113
Cumulative Proportion  0.2882 0.5505 0.7887 1.0000
> 
> pc1m <- princompn(1e6)
> summary(pc1m)
Importance of components:
                          PC1    PC2    PC3    PC4
Standard deviation     1.0008 1.0004 0.9998 0.9990
Proportion of Variance 0.2504 0.2502 0.2499 0.2495
Cumulative Proportion  0.2504 0.5006 0.7505 1.0000

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

> pcEqual <- princompn(n=1e6, sd1=4, sd2=4, sd3=4, sd4=4, cor=FALSE)
> summary(pcEqual)
Importance of components:
                          PC1    PC2    PC3    PC4
Standard deviation     4.0056 4.0010 3.9986 3.9936
Proportion of Variance 0.2507 0.2502 0.2499 0.2492
Cumulative Proportion  0.2507 0.5009 0.7508 1.0000

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

> pcHiLo <- princompn(n=1e6, sd1=4, sd2=4, sd3=1, sd4=1, cor=FALSE)
> summary(pcHiLo)
Importance of components:
                          PC1    PC2    PC3     PC4
Standard deviation     4.0018 3.9985 1.0016 1.00005
Proportion of Variance 0.4709 0.4702 0.0295 0.02941
Cumulative Proportion  0.4709 0.9411 0.9706 1.00000
> round(pcHiLo$rotation, 3)
      PC1   PC2    PC3    PC4
x1  0.460 0.888  0.000  0.000
x2 -0.888 0.460  0.000  0.000
x3  0.000 0.000 -0.747 -0.664
x4  0.000 0.000  0.664 -0.747

หากตัวแปรมีความแปรปรวนที่แตกต่างกันมาก (รูปทรงรีเป็นรูปทรงเรขาคณิตอีกครั้ง แต่มีแกนต่างกันทั้งหมด) ออร์โธโกเนตินัลอนุญาตให้พีซีเครื่องแรกโหลดอย่างมากในตัวแปรแปรปรวนสูงสุดและอื่น ๆ

> pc1234 <-  princompn(n=1e6, sd1=1, sd2=2, sd3=3, sd4=4, cor=FALSE)
> summary(pc1234)
Importance of components:
                          PC1    PC2    PC3     PC4
Standard deviation     3.9981 3.0031 1.9993 1.00033
Proportion of Variance 0.5328 0.3006 0.1332 0.03335
Cumulative Proportion  0.5328 0.8334 0.9667 1.00000
> round(pc1234$rotation, 3)
     PC1    PC2    PC3   PC4
x1 0.000  0.000 -0.001 1.000
x2 0.001 -0.001  1.000 0.001
x3 0.003 -1.000 -0.001 0.000
x4 1.000  0.003 -0.001 0.000

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

หมายเหตุ: ระยะเวลาที่ใช้คุยกันถึงกรณีที่ตัวแปรไม่ได้รับการลดความแปรปรวนของหน่วย - นั่นคือการใช้ความแปรปรวนร่วมมากกว่าเมทริกซ์สหสัมพันธ์ - ไม่ควรนำมาใช้เป็นข้อบ่งชี้ว่าวิธีการนี้มีความสำคัญมากกว่าและไม่แน่นอน จะดีกว่า". ความสมมาตรของสถ


คำตอบของฉันอาจตอบปัญหาได้ดีที่สุดตามโพสต์ต้นฉบับ (ซึ่งเป็นเรื่องเกี่ยวกับ PCA ที่ทำได้หรือไม่สามารถทำได้) ซึ่งฉันคิดว่าอธิบายเห็บสีเขียว! แต่ผมอยากให้ผู้อ่านที่จะมองไปที่คำตอบ @ RyanBressler ซึ่งให้ทางเลือกแก้ปัญหา
Silverfish

11

คุณอาจลองวิธีลดขนาดเชิงเส้นที่ไม่ใช่แบบเชิงเส้นมากกว่าเช่นวิธีการฝังเชิงเส้นในพื้นที่, laplacian eigenmaps หรือ t-SNE

เป็นไปได้อย่างสมบูรณ์แบบที่จะมีมิติย่อยต่ำกว่า (นานา) ในข้อมูลของคุณในแบบที่มีความสัมพันธ์ 0 ระหว่างมิติพื้นฐาน N ยกตัวอย่างเช่นวงกลมของจุดเกี่ยวกับต้นกำเนิดหรือรูปคลื่นเท่าที่เห็นนี่ PCA จะไม่เลือกสิ่งนี้ แต่จะใช้วิธีอื่น

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


6

หากตัวแปร N ทั้งหมดตั้งฉากแบบมุมฉากการลดขนาดจะลดลงเล็กน้อย เช่นในR

set.seed(123)
x1 <- rnorm(100)
x2 <- rnorm(100)
x3 <- rnorm(100)
x4 <- rnorm(100)
x5 <- rnorm(100)
x6 <- rnorm(100)
x7 <- rnorm(100)
x8 <- rnorm(100)
x9 <- rnorm(100)
x10 <- rnorm(100)

df1 <- cbind(x1,x2,x3,x4,x5,x6,x7,x8,x9,x10)

pcsol <- princomp(df1)
loadings(pcsol)

ในสาระสำคัญ "orthogonal" หมายถึง "ที่มีขนาดเล็กที่สุดแล้ว"


2
คุณมีคำสะกดผิดเล็กน้อยใน "orthongonal"
Silverfish

6
@Silverfish, Orthonคือ "มนุษย์ระดับความสูงปานกลางที่มีผมสีบลอนด์ยาวและผิวสีแทนสวมรองเท้าสีน้ำตาลแดง" แม้ว่าคุณอาจถูกต้องในปีเตอร์ที่มีความหมายแตกต่างกัน
ttnphns

4
มันมีค่าชี้ให้เห็นคำตอบนี้ขึ้นอยู่กับวิธีการปรับขนาดตัวแปร? หากมีตัวแปรความแปรปรวนสูงและต่ำและเราทำ PCA บนเมทริกซ์ความแปรปรวนร่วมแบบไม่สัมพันธ์กันจะมีองค์ประกอบความแปรปรวนต่ำที่สามารถลดลงได้ ทำให้การเปลี่ยนแปลงเล็กน้อยต่อไปนี้: x1<-rnorm(100, sd=0.1)และมีความแตกต่างกันโดยเฉพาะอย่างยิ่งถ้าเรามองไปที่pcsol <- princomp(df1, cor=FALSE) summary(pcsol)(ฉันไม่ได้บอก COV เป็นวิธีการที่ดีกว่าครเพียงว่ามันเป็นไปได้.)
สีเงิน

ฉันพิมพ์ผิดขอบคุณ ยังเป็นจุดที่ดีเกี่ยวกับการปรับขนาด
Peter Flom

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