ฉันกำลังอ่านกระดาษที่ผู้เขียนทิ้งตัวแปรหลายตัวเนื่องจากมีความสัมพันธ์สูงกับตัวแปรอื่น ๆ ก่อนทำ PCA จำนวนตัวแปรทั้งหมดประมาณ 20
สิ่งนี้ให้ประโยชน์ใด ๆ หรือไม่? ดูเหมือนว่าค่าใช้จ่ายสำหรับฉันเป็น PCA ควรจัดการสิ่งนี้โดยอัตโนมัติ
ฉันกำลังอ่านกระดาษที่ผู้เขียนทิ้งตัวแปรหลายตัวเนื่องจากมีความสัมพันธ์สูงกับตัวแปรอื่น ๆ ก่อนทำ PCA จำนวนตัวแปรทั้งหมดประมาณ 20
สิ่งนี้ให้ประโยชน์ใด ๆ หรือไม่? ดูเหมือนว่าค่าใช้จ่ายสำหรับฉันเป็น PCA ควรจัดการสิ่งนี้โดยอัตโนมัติ
คำตอบ:
สิ่งนี้ตีความตามคำใบ้ที่ลึกซึ้งซึ่งให้ไว้ในความคิดเห็นโดย @ttnphns
การติดตัวแปรที่สัมพันธ์กันเกือบจะเพิ่มการมีส่วนร่วมของปัจจัยพื้นฐานทั่วไปของพวกเขาไปยัง PCA เราสามารถเห็นสิ่งนี้ได้ในเชิงเรขาคณิต พิจารณาข้อมูลเหล่านี้ในระนาบ XY ซึ่งแสดงเป็น cloud point:
มีความสัมพันธ์กันเล็กน้อยความแปรปรวนร่วมประมาณเท่ากันและข้อมูลอยู่กึ่งกลาง: PCA (ไม่ว่าจะดำเนินการอย่างไร) จะรายงานสององค์ประกอบที่เท่ากันโดยประมาณ
ให้เราขว้างตัวแปรที่สามเท่ากับบวกกับข้อผิดพลาดแบบสุ่มจำนวนเล็กน้อย เมทริกซ์สหสัมพันธ์ของแสดงสิ่งนี้ด้วยค่าสัมประสิทธิ์เส้นทแยงมุมขนาดเล็กยกเว้นระหว่างแถวที่สองและสามกับคอลัมน์ (และ ):
เราได้แทนที่จุดเดิมทั้งหมดในแนวตั้งแล้วยกภาพก่อนหน้าออกจากระนาบของหน้า หลอกจุด 3D เมฆนี้พยายามที่จะแสดงให้เห็นถึงการยกด้วยมุมมองมุมมองด้านข้าง (ขึ้นอยู่กับชุดข้อมูลที่แตกต่างกันแม้ว่าจะสร้างในลักษณะเดียวกับก่อน):
จุดเริ่มต้นอยู่ในระนาบสีน้ำเงินและยกขึ้นเป็นจุดสีแดง แกนดั้งเดิมชี้ไปทางขวา การเอียงที่เกิดขึ้นยังยืดจุดออกไปตามทิศทางของ YZด้วยซึ่งจะช่วยเพิ่มความแปรปรวนให้กับพวกเขาเป็นสองเท่า ดังนั้น PCA ของข้อมูลใหม่เหล่านี้จะยังคงระบุองค์ประกอบหลักที่สำคัญสองประการ แต่ตอนนี้หนึ่งในนั้นจะมีการแปรปรวนของอีกสองครั้ง
นี้ความคาดหวังทางเรขาคณิตเป็น borne R
ออกมาพร้อมกับการจำลองบางส่วนใน สำหรับวันนี้ผมซ้ำ "ยก" ขั้นตอนโดยการสร้างสำเนาใกล้ collinear ของตัวแปรที่สองสองสามครั้งที่สี่และห้าตั้งชื่อพวกเขาผ่านX_5นี่คือเมทริกซ์กระจายที่แสดงว่าตัวแปรสี่ตัวสุดท้ายมีความสัมพันธ์กันอย่างไร:
PCA ใช้ความสัมพันธ์ (แม้ว่ามันจะไม่สำคัญสำหรับข้อมูลเหล่านี้) โดยใช้ตัวแปรสองตัวแรกจากนั้นก็สาม, ... และสุดท้ายห้า ฉันแสดงผลลัพธ์โดยใช้พล็อตการมีส่วนร่วมขององค์ประกอบหลักต่อความแปรปรวนทั้งหมด
เริ่มแรกด้วยตัวแปรสองตัวที่ไม่เกี่ยวข้องกันเกือบทั้งหมดการมีส่วนร่วมเกือบเท่ากัน (มุมซ้ายบน) หลังจากเพิ่มตัวแปรหนึ่งตัวที่สัมพันธ์กับตัวที่สอง - เหมือนกับในภาพประกอบทางเรขาคณิต - ยังมีองค์ประกอบหลักสองอย่างเท่านั้นส่วนหนึ่งจะมีขนาดใหญ่เป็นสองเท่า (องค์ประกอบที่สามสะท้อนให้เห็นถึงการขาดความสัมพันธ์ที่สมบูรณ์แบบมันวัด "ความหนา" ของก้อนเมฆคล้ายแพนเค้กใน Scatterplot 3D) หลังจากเพิ่มตัวแปรอีกตัวที่มีความสัมพันธ์ ( ) ส่วนประกอบแรกตอนนี้ประมาณสามในสี่ของทั้งหมด ; หลังจากเพิ่มหนึ่งในห้าองค์ประกอบแรกเกือบสี่ในห้าของทั้งหมด ในทั้งสี่กรณีส่วนประกอบหลังจากที่สองน่าจะถูกพิจารณาว่าไม่สำคัญโดยขั้นตอนการวินิจฉัย PCA ส่วนใหญ่ ในกรณีสุดท้ายคือหนึ่งองค์ประกอบหลักที่ควรพิจารณา
เราสามารถเห็นได้แล้วว่าอาจจะมีข้อดีในการทิ้งตัวแปรที่คิดว่าเป็นการวัดความหมายพื้นฐาน (แต่ "แฝง") ของชุดของตัวแปรเนื่องจากการรวมตัวแปรที่มีความซ้ำซ้อนสามารถทำให้ PCA เน้นการมีส่วนร่วมมากเกินไป ไม่มีอะไรถูกต้องทางคณิตศาสตร์ (หรือผิด) เกี่ยวกับขั้นตอนดังกล่าว; เป็นการเรียกการตัดสินใจตามวัตถุประสงค์การวิเคราะห์และความรู้ของข้อมูล แต่ควรมีความชัดเจนอย่างมากว่าการตั้งค่าตัวแปรที่ทราบว่ามีความสัมพันธ์อย่างมากกับผู้อื่นสามารถมีผลกระทบอย่างมากต่อผลลัพธ์ PCA
นี่คือR
รหัส
n.cases <- 240 # Number of points.
n.vars <- 4 # Number of mutually correlated variables.
set.seed(26) # Make these results reproducible.
eps <- rnorm(n.vars, 0, 1/4) # Make "1/4" smaller to *increase* the correlations.
x <- matrix(rnorm(n.cases * (n.vars+2)), nrow=n.cases)
beta <- rbind(c(1,rep(0, n.vars)), c(0,rep(1, n.vars)), cbind(rep(0,n.vars), diag(eps)))
y <- x%*%beta # The variables.
cor(y) # Verify their correlations are as intended.
plot(data.frame(y)) # Show the scatterplot matrix.
# Perform PCA on the first 2, 3, 4, ..., n.vars+1 variables.
p <- lapply(2:dim(beta)[2], function(k) prcomp(y[, 1:k], scale=TRUE))
# Print summaries and display plots.
tmp <- lapply(p, summary)
par(mfrow=c(2,2))
tmp <- lapply(p, plot)
ฉันจะแสดงให้เห็นถึงกระบวนการและความคิดแบบเดียวกันกับที่ @whuber ทำ แต่มีแผนการโหลด - เนื่องจากการโหลดเป็นสาระสำคัญของผลลัพธ์ PCA
นี่คือสาม 3 การวิเคราะห์ ในครั้งแรกเรามีตัวแปรสองตัวคือและ (ในตัวอย่างนี้พวกมันไม่สัมพันธ์กัน) ในวินาทีที่เราเพิ่มซึ่งเกือบจะเป็นสำเนาของและดังนั้นจึงมีความสัมพันธ์กับมันอย่างยิ่ง ในไตรมาสที่สามเรายังคงเพิ่มในทำนองเดียวกันอีก 2 "สำเนา" ของมันและX_5
พล็อตของการโหลดของ 2 องค์ประกอบหลักแรกนั้นไป หนามแหลมสีแดงบนแปลงบอกความสัมพันธ์ระหว่างตัวแปรต่าง ๆ เพื่อให้พวงของหนามแหลมหลาย ๆ ตัวนั้นเป็นที่ซึ่งพบกลุ่มของตัวแปรที่มีความสัมพันธ์กันแน่น ส่วนประกอบเป็นเส้นสีเทา "ความแข็งแกร่ง" ที่สัมพันธ์กันขององค์ประกอบ (ขนาดของค่าลักษณะเฉพาะสัมพัทธ์) ถูกกำหนดโดยน้ำหนักของเส้น
ผลของการเพิ่ม "สำเนา" สามารถสังเกตได้:
ฉันจะไม่กลับสู่ศีลธรรมเพราะ @whuber ได้ทำไปแล้ว
การเพิ่ม ด้านล่างนี้เป็นรูปภาพบางส่วนที่ตอบสนองต่อความคิดเห็นของ @ whuber มันเป็นเรื่องเกี่ยวกับความแตกต่างระหว่าง "พื้นที่ว่าง" และ "พื้นที่ว่าง" และองค์ประกอบที่ปรับทิศทางตัวเองที่นี่และที่นั่น สาม bivariate PCAS การแสดง: แถวแรกวิเคราะห์ , แถวที่สองการวิเคราะห์และแถวที่สามrคอลัมน์ด้านซ้ายคือ scatterplots (ของข้อมูลที่เป็นมาตรฐาน) และคอลัมน์ด้านขวากำลังโหลดแผนการ
บน Scatterplot ความสัมพันธ์ระหว่างและนั้นแสดงผลเป็นรูปสี่เหลี่ยมผืนผ้าของเมฆ มุม (โคไซน์ของมัน) ระหว่างบรรทัดส่วนประกอบและบรรทัดตัวแปรคือองค์ประกอบไอเกนเวกเตอร์ที่สอดคล้องกัน Eigenvectors เหมือนกันในการวิเคราะห์ทั้งสาม (ดังนั้นมุมบนทั้ง 3 กราฟเหมือนกัน) [แต่มันเป็นความจริงที่ว่าด้วยแน่นอนว่า eigenvectors (และด้วยเหตุนี้มุม) เป็นเหตุผลทางทฤษฎี; เนื่องจากคลาวด์นั้นสมบูรณ์แบบ "รอบ" คู่ของเส้นแนวตั้งฉากใด ๆ ที่ผ่านจุดกำเนิดสามารถทำหน้าที่เป็นสององค์ประกอบ - แม้แต่และX 2 r = 0 X 1 X 2 สายตัวเองจะได้รับการเลือกให้เป็นส่วนประกอบ.] พิกัดของจุดข้อมูล (200 วิชา) ลงบนส่วนประกอบเป็นคะแนนองค์ประกอบและผลรวมของพวกเขาของสี่เหลี่ยมแบ่งด้วย 200-1 เป็นส่วนประกอบของeigenvalue
บนพล็อตการโหลดจุด (เวกเตอร์) คือตัวแปร พวกมันกระจายพื้นที่ซึ่งเป็น 2 มิติ (เพราะเรามี 2 จุด + จุดกำเนิด) แต่อันที่จริงลดลง 200 มิติ (จำนวนวัตถุ) "พื้นที่เรื่อง" นี่คือมุม (โคไซน์) ระหว่างเวกเตอร์สีแดงRเวกเตอร์มีความยาวหน่วยเท่ากันเนื่องจากข้อมูลได้มาตรฐาน องค์ประกอบแรกคือแกนมิติในพื้นที่นี้ซึ่งเร่งไปสู่การสะสมคะแนน ในกรณีที่มีเพียง 2 ตัวแปรมันจะเป็นเส้นแบ่งครึ่งระหว่างถึงX 1 X 2(แต่การเพิ่มตัวแปรตัวที่ 3 สามารถเบี่ยงเบนได้ แต่อย่างใด) มุม (โคไซน์) ระหว่างตัวแปรเวกเตอร์และสายองค์ประกอบความสัมพันธ์ระหว่างพวกเขาและเพราะเวกเตอร์ที่มีหน่วยความยาวและส่วนประกอบที่มีฉากนี้เป็นอะไรอย่างอื่นกว่าพิกัดที่โหลด ผลรวมของการโหลดแบบยกกำลังสองบนส่วนประกอบคือค่าลักษณะเฉพาะ (ส่วนประกอบเพียงแค่ตัวเองในพื้นที่หัวข้อนี้เพื่อขยายให้ใหญ่สุด)
Addition2 ในการเพิ่มดังกล่าวข้างต้นที่ผมกำลังพูดถึง "พื้นที่ตัวแปร" และ "พื้นที่เรื่อง" ราวกับว่าพวกเขาจะไม่เข้ากันด้วยกันเช่นน้ำและน้ำมัน ฉันต้องพิจารณาใหม่อีกครั้งและอาจบอกว่า - อย่างน้อยเมื่อเราพูดถึง PCA - ทั้งสองช่องว่างนั้น isomorphic ในตอนท้ายและด้วยเหตุนั้นเราจึงสามารถแสดงรายละเอียด PCA ได้อย่างถูกต้อง - จุดข้อมูลแกนตัวแปรแกนองค์ประกอบตัวแปรตาม คะแนน - บน biplot ที่ไม่มีการเรียงซ้อนเดียว
ด้านล่างคือ scatterplot (พื้นที่แปรปรวน) และพล็อตการโหลด (พื้นที่ส่วนประกอบซึ่งเป็นพื้นที่หัวเรื่องโดยกำเนิดทางพันธุกรรม) ทุกสิ่งที่สามารถแสดงในอันหนึ่งก็สามารถปรากฏที่อีกอันหนึ่งได้ รูปภาพเหมือนกันหมุนได้เพียง 45 องศา (และในกรณีนี้) ที่สัมพันธ์กัน นั่นคือ PCA ของตัวแปร v1 และ v2 (มาตรฐานดังนั้นจึงเป็นrที่ถูกวิเคราะห์) เส้นสีดำบนรูปภาพเป็นตัวแปรตามแกน เส้นสีเขียว / สีเหลืองเป็นส่วนประกอบตามแกน จุดสีฟ้าคือดาต้าคลาวด์ (หัวเรื่อง); จุดสีแดงคือตัวแปรที่แสดงเป็นจุด (เวกเตอร์)
The software was free to choose any orthogonal basis for that space, arbitrarily
นำไปใช้กับ round cloud ในพื้นที่ตัวแปร (เช่น scatterplot ข้อมูลเช่นภาพที่ 1 ในคำตอบของคุณ) แต่พล็อตการโหลดเป็นพื้นที่ที่มีตัวแปรที่ไม่ใช่กรณีเป็นจุด (เวกเตอร์)
หากไม่มีรายละเอียดจากรายงานของคุณฉันจะคาดเดาได้ว่าการยกเลิกตัวแปรที่มีความสัมพันธ์สูงนี้ทำเพื่อประหยัดพลังงานหรือภาระงาน ฉันไม่เห็นเหตุผลว่าทำไม PCA จะ 'แตก' สำหรับตัวแปรที่มีความสัมพันธ์สูง การฉายข้อมูลกลับไปยังฐานที่พบโดย PCA มีผลในการทำให้ข้อมูลขาวขึ้น (หรือทำให้สัมพันธ์กัน) นั่นคือจุดรวมที่อยู่เบื้องหลัง PCA
จากความเข้าใจของฉันตัวแปรที่สัมพันธ์กันก็โอเคเพราะ PCA เอาท์พุทเวกเตอร์ที่มีมุมฉาก
ขึ้นอยู่กับอัลกอริทึมของคุณ ตัวแปรที่มีความสัมพันธ์สูงอาจหมายถึงเมทริกซ์ที่มีเงื่อนไข หากคุณใช้อัลกอริทึมที่มีความอ่อนไหวกับมันอาจจะสมเหตุสมผล แต่ฉันกล้าบอกว่าอัลกอริทึมที่ทันสมัยส่วนใหญ่ที่ใช้ในการประเมินค่าลักษณะเฉพาะและค่าลักษณะเฉพาะนั้นมีความทนทานต่อสิ่งนี้ ลองลบตัวแปรที่มีความสัมพันธ์สูง ค่าลักษณะเฉพาะและ eigenvector เปลี่ยนไปมากหรือไม่? หากพวกเขาทำเช่นนั้นแล้วการปรับอากาศที่ไม่ดีอาจเป็นคำตอบ เนื่องจากตัวแปรที่มีความสัมพันธ์สูงไม่ได้เพิ่มข้อมูลการแบ่งแยก PCA จึงไม่ควรเปลี่ยนแปลง
ขึ้นอยู่กับวิธีการเลือกองค์ประกอบหลักที่คุณใช้ไม่ได้หรือไม่
ฉันมักจะใช้องค์ประกอบหลักการใด ๆ กับค่าลักษณะเฉพาะ> 1 ดังนั้นมันจะไม่ส่งผลกระทบต่อฉัน
และจากตัวอย่างข้างต้นแม้แต่วิธีการแปลงหินกรวดมักจะเลือกวิธีที่ถูกต้อง หากคุณให้ทั้งหมดก่อนที่ข้อศอก อย่างไรก็ตามถ้าคุณเพียงแค่เลือกองค์ประกอบหลักด้วยค่าลักษณะเฉพาะที่โดดเด่นคุณจะหลงทาง แต่นั่นไม่ใช่วิธีการใช้พล็อตหินกรวด!