สมมติว่าฉันมีชุดข้อมูล -dimensional ซึ่งมีมิติอยู่มุมฉาก (มีความสัมพันธ์เป็นศูนย์)N
มีประโยชน์ใด ๆ ในแง่ของ:
- การแสดง
- การแสดง (เพื่อประสิทธิภาพลักษณนาม)
- หรือเกณฑ์อื่น ๆ
ทำการลดขนาดข้อมูลได้อย่างไร?
สมมติว่าฉันมีชุดข้อมูล -dimensional ซึ่งมีมิติอยู่มุมฉาก (มีความสัมพันธ์เป็นศูนย์)N
มีประโยชน์ใด ๆ ในแง่ของ:
ทำการลดขนาดข้อมูลได้อย่างไร?
คำตอบ:
ฉันต้องการชี้แจงความคิดเห็นที่ฉันทิ้งไว้ภายใต้คำตอบของ @ 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
หมายเหตุ: ระยะเวลาที่ใช้คุยกันถึงกรณีที่ตัวแปรไม่ได้รับการลดความแปรปรวนของหน่วย - นั่นคือการใช้ความแปรปรวนร่วมมากกว่าเมทริกซ์สหสัมพันธ์ - ไม่ควรนำมาใช้เป็นข้อบ่งชี้ว่าวิธีการนี้มีความสำคัญมากกว่าและไม่แน่นอน จะดีกว่า". ความสมมาตรของสถ
คุณอาจลองวิธีลดขนาดเชิงเส้นที่ไม่ใช่แบบเชิงเส้นมากกว่าเช่นวิธีการฝังเชิงเส้นในพื้นที่, laplacian eigenmaps หรือ t-SNE
เป็นไปได้อย่างสมบูรณ์แบบที่จะมีมิติย่อยต่ำกว่า (นานา) ในข้อมูลของคุณในแบบที่มีความสัมพันธ์ 0 ระหว่างมิติพื้นฐาน N ยกตัวอย่างเช่นวงกลมของจุดเกี่ยวกับต้นกำเนิดหรือรูปคลื่นเท่าที่เห็นนี่ PCA จะไม่เลือกสิ่งนี้ แต่จะใช้วิธีอื่น
การดูวิธีการดังกล่าวเป็นสิ่งที่น่าสนใจเป็นพิเศษและเป็นเรื่องธรรมดาสำหรับการสร้างภาพข้อมูลและการวิเคราะห์ข้อมูลเชิงสำรวจ สำหรับการใช้งานภายในตัวจําแนกหรือรุ่นอื่น ๆ คุณจะต้องจํากัดตัวเองกับวิธีการฝึกอบรมและการทดสอบที่ไม่รวมวิธีการเหล่านี้มากมาย หากนี่คือความสนใจหลักของคุณคุณควรพิจารณาวิธีการสำหรับการเตรียมการล่วงหน้าที่ไม่ได้รับการดูแลและวิศวกรรมฟีเจอร์ (ภายใต้การดูแล)
หากตัวแปร 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" หมายถึง "ที่มีขนาดเล็กที่สุดแล้ว"
x1<-rnorm(100, sd=0.1)
และมีความแตกต่างกันโดยเฉพาะอย่างยิ่งถ้าเรามองไปที่pcsol <- princomp(df1, cor=FALSE)
summary(pcsol)
(ฉันไม่ได้บอก COV เป็นวิธีการที่ดีกว่าครเพียงว่ามันเป็นไปได้.)