คำถามติดแท็ก pca

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

1
ทำไม Daniel Wilks (2011) ถึงบอกว่าการถดถอยองค์ประกอบหลัก“ จะลำเอียง”?
ในวิธีการทางสถิติในวิทยาศาสตร์บรรยากาศ , Daniel Wilks ตั้งข้อสังเกตว่าการถดถอยเชิงเส้นหลายครั้งสามารถนำไปสู่ปัญหาได้หากมีความสัมพันธ์ที่แข็งแกร่งมากระหว่างตัวทำนาย (รุ่นที่ 3, หน้า 559-560): พยาธิสภาพที่สามารถเกิดขึ้นได้ในการถดถอยเชิงเส้นหลายครั้งคือชุดของตัวแปรทำนายที่มีความสัมพันธ์ซึ่งกันและกันอย่างรุนแรงอาจส่งผลให้การคำนวณความสัมพันธ์การถดถอยที่ไม่เสถียร ( ... ) จากนั้นเขาแนะนำการถดถอยองค์ประกอบหลัก: แนวทางในการแก้ไขปัญหานี้คือการแปลงตัวทำนายเป็นองค์ประกอบหลักของพวกเขาก่อนความสัมพันธ์ระหว่างที่เป็นศูนย์ จนถึงตอนนี้ดีมาก แต่ต่อไปเขาสร้างข้อความบางส่วนที่เขาไม่ได้อธิบาย (หรืออย่างน้อยก็ไม่มีรายละเอียดเพียงพอสำหรับฉันที่จะเข้าใจ): หากส่วนประกอบหลักทั้งหมดถูกเก็บรักษาไว้ในการถดถอยส่วนประกอบหลักแล้วจะไม่มีสิ่งใดได้รับจากกำลังสองน้อยที่สุดที่เป็นไปตามชุดตัวทำนายแบบเต็ม (.. ) และ: เป็นไปได้ที่จะแสดงการถดถอยหลัก - องค์ประกอบใหม่ในแง่ของตัวทำนายดั้งเดิม แต่ผลลัพธ์โดยทั่วไปจะเกี่ยวข้องกับตัวแปรตัวทำนายดั้งเดิมทั้งหมดแม้ว่าจะมีการใช้ตัวทำนายองค์ประกอบหลักเพียงหนึ่งหรือสามตัวเท่านั้น การถดถอยที่สร้างขึ้นใหม่นี้จะลำเอียงแม้ว่าบ่อยครั้งที่ความแปรปรวนน้อยกว่ามากส่งผลให้ MSE โดยรวมมีขนาดเล็กลง ฉันไม่เข้าใจสองประเด็นนี้ แน่นอนถ้าส่วนประกอบหลักทั้งหมดยังคงอยู่เราจะใช้ข้อมูลเดียวกันกับตอนที่เราใช้ตัวทำนายในพื้นที่ดั้งเดิม อย่างไรก็ตามปัญหาของความสัมพันธ์ซึ่งกันและกันจะถูกลบออกโดยการทำงานในพื้นที่องค์ประกอบหลัก เราอาจยังมีกำลังมากเกินไป แต่นั่นเป็นปัญหาเดียวหรือไม่ ทำไมไม่มีอะไรได้รับ? ประการที่สองแม้ว่าเราจะตัดทอนส่วนประกอบหลัก (อาจเป็นการลดเสียงรบกวนและ / หรือเพื่อป้องกันการโอเวอร์โหลด) ทำไมและวิธีนี้นำไปสู่การถดถอยที่สร้างใหม่แบบเอนเอียง? ลำเอียงในทางใด? แหล่งที่มาของหนังสือ: Daniel S. Wilks, วิธีการทางสถิติในวิทยาศาสตร์บรรยากาศ, รุ่นที่สาม, 2011. ชุดธรณีฟิสิกส์สากลเล่มที่ 100, …
13 regression  pca  bias 

1
การลดขนาดแบบมีผู้สอน
ฉันมีชุดข้อมูลซึ่งประกอบด้วยตัวอย่างที่มีป้ายกำกับ 15K (จาก 10 กลุ่ม) ฉันต้องการนำการลดขนาดมาใช้เป็น 2 มิติโดยคำนึงถึงความรู้เกี่ยวกับฉลาก เมื่อฉันใช้เทคนิคการลดขนาดที่ไม่ได้รับอนุญาต "มาตรฐาน" เช่น PCA พล็อตกระจายดูเหมือนจะไม่มีส่วนเกี่ยวข้องกับฉลากที่รู้จัก สิ่งที่ฉันกำลังมองหามีชื่อหรือไม่? ฉันต้องการอ่านการอ้างอิงของการแก้ปัญหา

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

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

1
วิธีการตีความโหลด PCA?
ในขณะที่อ่านเกี่ยวกับ PCA ฉันเจอคำอธิบายต่อไปนี้: สมมติว่าเรามีชุดข้อมูลที่แต่ละจุดข้อมูลแสดงถึงคะแนนของนักเรียนคนเดียวในแบบทดสอบคณิตศาสตร์แบบทดสอบฟิสิกส์แบบทดสอบความเข้าใจในการอ่านและแบบทดสอบคำศัพท์ เราพบสององค์ประกอบหลักแรกซึ่งจับ 90% ของความแปรปรวนในข้อมูลและตีความภาระของพวกเขา เราสรุปได้ว่าองค์ประกอบหลักแรกแสดงถึงความสามารถทางวิชาการโดยรวมและองค์ประกอบที่สองแสดงถึงความแตกต่างระหว่างความสามารถเชิงปริมาณและความสามารถทางวาจา ข้อความระบุว่าการโหลด PC1 และ PC2 คือสำหรับ PC1 และ( 0.5 , 0.5 , - 0.5 , - 0.5 )สำหรับ PC2 และให้คำอธิบายต่อไปนี้:( 0.5 , 0.5 , 0.5 , 0.5 )(0.5,0.5,0.5,0.5)(0.5, 0.5, 0.5, 0.5)( 0.5 , 0.5 , - 0.5 , - 0.5 )(0.5,0.5,−0.5,−0.5)(0.5, 0.5, -0.5, …
13 pca 

3
การนำ PCA มาใช้อย่างเป็นขั้นเป็นตอนโดยใช้บทช่วยสอนของ Lindsay Smith
ฉันทำงานใน R ผ่านการสอน PCA ที่ยอดเยี่ยมโดย Lindsay I Smithและติดอยู่ในขั้นตอนสุดท้าย สคริปต์ R ด้านล่างพาเราขึ้นสู่สเตจ (บนหน้า 19) ซึ่งข้อมูลต้นฉบับถูกสร้างขึ้นใหม่จาก (เอกพจน์ในกรณีนี้) ส่วนประกอบหลักซึ่งควรให้พล็อตเส้นตรงตามแนวแกน PCA1 (ซึ่งเป็นข้อมูล มีเพียง 2 มิติส่วนที่สองกำลังถูกลบโดยเจตนา) d = data.frame(x=c(2.5,0.5,2.2,1.9,3.1,2.3,2.0,1.0,1.5,1.1), y=c(2.4,0.7,2.9,2.2,3.0,2.7,1.6,1.1,1.6,0.9)) # mean-adjusted values d$x_adj = d$x - mean(d$x) d$y_adj = d$y - mean(d$y) # calculate covariance matrix and eigenvectors/values (cm = cov(d[,1:2])) #### outputs ############# …
13 r  pca 

2
การเลือกส่วนประกอบ PCA ที่แยกกลุ่ม
ฉันมักใช้ในการวิเคราะห์ข้อมูลหลายตัวแปรโดยใช้ PCA (ข้อมูล omics ที่มีตัวแปรนับแสนและตัวอย่างหลายสิบหรือหลายร้อย) ข้อมูลมักมาจากการทดลองกับตัวแปรอิสระหลายหมวดหมู่ที่กำหนดกลุ่มและฉันมักจะต้องผ่านองค์ประกอบบางอย่างก่อนที่ฉันจะสามารถหาคนที่แสดงการแยกระหว่างกลุ่มที่น่าสนใจ ฉันได้ค้นพบวิธีการดั้งเดิมในการค้นหาส่วนประกอบที่แบ่งแยกเช่นนั้นและฉันสงสัยว่า ขอบเขตนี้สมเหตุสมผล / สมเหตุสมผลและ ไม่ว่าจะมีวิธีที่ดีกว่าในการบรรลุเป้าหมายเดียวกัน โปรดทราบว่านี่คือการสำรวจ ก่อนที่จะโน้มน้าวใจคนอื่นฉันต้องการโน้มน้าวตัวเอง ถ้าฉันเห็นว่ามีส่วนประกอบที่แยกความแตกต่างของกลุ่มผลประโยชน์ (เช่นการควบคุมกับการรักษา) อย่างชัดเจนแม้ว่าพวกเขาจะรับผิดชอบส่วนย่อยของความแปรปรวนของการตอบสนองฉันก็เชื่อว่ามันเป็นผลมาจากการพูด การเรียนรู้ นี่คือแนวทางของฉัน ฉันจะใช้ชุดข้อมูลตัวอย่าง "metabo" จาก pca3d ใน R แนวคิดคือการประเมินความแปรปรวนของแต่ละองค์ประกอบที่สามารถอธิบายได้โดยตัวแปรอิสระ สำหรับสิ่งนี้ฉันคำนวณแบบจำลองอย่างง่ายสำหรับแต่ละองค์ประกอบและใช้R2R2R^2เป็นตัวชี้วัดในการสั่งซื้อส่วนประกอบจาก "ที่น่าสนใจที่สุด" ถึง "น่าสนใจน้อยที่สุด" require( pca3d ) # data on metabolic profiles of TB patients and controls data( metabo ) # first column is the …

3
วิธีการคำนวณส่วนประกอบหลักหมุน varimax ใน R?
ฉันวิ่ง PCA เมื่อวันที่ 25 ตัวแปรและเลือกด้านบน 7 prcompเครื่องคอมพิวเตอร์ใช้ prc <- prcomp(pollutions, center=T, scale=T, retx=T) ฉันได้ทำการหมุน varimax กับส่วนประกอบเหล่านั้นแล้ว varimax7 <- varimax(prc$rotation[,1:7]) และตอนนี้ฉันต้องการ varimax หมุนข้อมูลที่หมุน PCA (เนื่องจากไม่ได้เป็นส่วนหนึ่งของวัตถุ varimax - เฉพาะเมทริกซ์การโหลดและเมทริกซ์การหมุน) ฉันอ่านว่าการทำเช่นนี้คุณคูณทรานสปอนของเมทริกซ์การหมุนโดยทรานสโพสของข้อมูลดังนั้นฉันจะทำสิ่งนี้: newData <- t(varimax7$rotmat) %*% t(prc$x[,1:7]) แต่นั่นก็ไม่สมเหตุสมผลเนื่องจากขนาดของเมทริกซ์ทรานส์ข้างต้นคือคูณและตามลำดับดังนั้นฉันจะเหลือเมทริกซ์เพียงแถวแทนที่จะเป็นแถว ... ไม่มีใครรู้ สิ่งที่ฉันทำผิดที่นี่หรือสิ่งสุดท้ายของฉันควรเป็นอย่างไร ฉันต้องเปลี่ยนกลับในภายหลังไหม?7×77×77\times 77 169337×169337×169337 \times 16933777169331693316933
13 r  pca  factor-rotation 

2
สำหรับเมทริกซ์แบบสุ่ม SVD ไม่ควรอธิบายอะไรเลยหรือ ผมทำอะไรผิดหรือเปล่า?
ถ้าฉันสร้างเมทริกซ์ 2 มิติที่ประกอบด้วยข้อมูลสุ่มทั้งหมดฉันคาดว่าส่วนประกอบ PCA และ SVD จะไม่อธิบายอะไรเลย แต่ดูเหมือนว่าคอลัมน์ SVD แรกจะปรากฏขึ้นเพื่ออธิบาย 75% ของข้อมูล วิธีนี้สามารถเป็นไปได้จะเป็นอย่างไร? ผมทำอะไรผิดหรือเปล่า? นี่คือพล็อต: นี่คือรหัส R: set.seed(1) rm(list=ls()) m <- matrix(runif(10000,min=0,max=25), nrow=100,ncol=100) svd1 <- svd(m, LINPACK=T) par(mfrow=c(1,4)) image(t(m)[,nrow(m):1]) plot(svd1$d,cex.lab=2, xlab="SVD Column",ylab="Singluar Value",pch=19) percentVarianceExplained = svd1$d^2/sum(svd1$d^2) * 100 plot(percentVarianceExplained,ylim=c(0,100),cex.lab=2, xlab="SVD Column",ylab="Percent of variance explained",pch=19) cumulativeVarianceExplained = cumsum(svd1$d^2/sum(svd1$d^2)) * 100 plot(cumulativeVarianceExplained,ylim=c(0,100),cex.lab=2, …
13 r  pca  svd 

3
องค์ประกอบของ PCA แสดงถึงความแปรปรวนจริง ๆ หรือไม่? พวกเขาสามารถรวมมากกว่า 100% ได้หรือไม่
"การเรียนรู้ของเครื่องสำหรับแฮ็กเกอร์" ของ O'Reilly กล่าวว่าองค์ประกอบหลักแต่ละรายการแสดงถึงเปอร์เซ็นต์ของความแปรปรวน ฉันได้อ้างอิงส่วนที่เกี่ยวข้องของหน้าด้านล่าง (บทที่ 8, p.207) เมื่อพูดกับผู้เชี่ยวชาญคนอื่นพวกเขาตกลงกันว่าเป็นเปอร์เซ็นต์ อย่างไรก็ตาม 24 องค์ประกอบรวมถึง 133.2095% นั่นเป็นอย่างไร เมื่อเราเชื่อมั่นว่าเราสามารถใช้ PCA ได้เราจะทำเช่นนั้นใน R อย่างไร อีกครั้งนี้เป็นสถานที่ที่ R ส่อง: PCA ทั้งหมดสามารถทำได้ในหนึ่งบรรทัดของรหัส เราใช้ฟังก์ชัน princomp เพื่อเรียกใช้ PCA: pca <- princomp(date.stock.matrix[,2:ncol(date.stock.matrix)]) หากเราเพียงพิมพ์ pca ลงใน R เราจะเห็นข้อมูลสรุปอย่างย่อขององค์ประกอบหลัก: Call: princomp(x = date.stock.matrix[, 2:ncol(date.stock.matrix)]) Standard deviations: Comp.1 Comp.2 Comp.3 Comp.4 Comp.5 Comp.6 Comp.7 …
13 r  pca 

2
ฉันสามารถทำ PCA โดยใช้มาตรการซ้ำเพื่อลดข้อมูลได้หรือไม่
ฉันมีการทดลอง 3 ครั้งต่อสัตว์ 87 ตัวในแต่ละบริบทของ 2 (ข้อมูลที่หายไปบางส่วนไม่มีข้อมูลที่ขาดหายไป = 64 สัตว์) ในบริบทที่ฉันมีมาตรการที่เฉพาะเจาะจงจำนวนมาก (เวลาที่จะป้อนจำนวนครั้งที่กลับมาเพื่อที่อยู่อาศัยและอื่น ๆ ) ดังนั้นฉันต้องการที่จะพัฒนา 2-3 คะแนนพฤติกรรมคอมโพสิตที่อธิบายพฤติกรรมในบริบทที่ (เรียกพวกเขาC1, C2, C3) ฉันต้องการสิ่งC1นั้นซึ่งมีความหมายเหมือนกันในการทดลองทั้ง 3 และ 87 สัตว์เพื่อที่ฉันจะได้ทำการถดถอยเพื่อตรวจสอบผลกระทบของอายุเพศสายเลือดและสัตว์แต่ละตัวที่มีต่อพฤติกรรม จากนั้นฉันต้องการตรวจสอบC1ความเกี่ยวข้องกับคะแนนพฤติกรรมในบริบทอื่น ๆ ภายในอายุที่เฉพาะเจาะจง (ณ วันที่ 1 กิจกรรมในบริบทที่ 1 ทำนายกิจกรรมในบริบทที่ 2 ได้หรือไม่) หากนี่ไม่ใช่การวัดซ้ำ PCA จะทำงานได้ดี - ทำ PCA ในหลายมาตรการของบริบทจากนั้นใช้ PC1, PC2 ฯลฯ เพื่อตรวจสอบความสัมพันธ์ (Spearman correlations) ระหว่าง …

5
การลดขนาด SVD สำหรับอนุกรมเวลาที่มีความยาวต่างกัน
ฉันกำลังใช้การลดค่าเอกพจน์เป็นเทคนิคการลดขนาด ให้Nเวกเตอร์ของมิติDความคิดคือการแสดงคุณสมบัติในพื้นที่แปลงของมิติ uncorrelated ซึ่งรวมส่วนใหญ่ของข้อมูลของข้อมูลใน eigenvector ของพื้นที่นี้ในลำดับความสำคัญลดลง ตอนนี้ฉันกำลังพยายามใช้ขั้นตอนนี้กับข้อมูลอนุกรมเวลา ปัญหาคือว่าบางส่วนไม่ได้มีความยาวเท่ากันดังนั้นฉันจึงไม่สามารถสร้างnum-by-dimเมทริกซ์และใช้ SVD ได้ ความคิดแรกของฉันคือการวางเมทริกซ์ด้วยเลขศูนย์ด้วยการสร้างnum-by-maxDimเมทริกซ์และเติมช่องว่างด้วยศูนย์ แต่ฉันไม่แน่ใจว่านั่นเป็นวิธีที่ถูกต้องหรือไม่ คำถามของฉันคือคุณจะใช้วิธี SVD ในการลดมิติข้อมูลเป็นอนุกรมเวลาที่มีความยาวต่างกันได้อย่างไร หรือมีวิธีการอื่นที่คล้ายคลึงกันของการเป็นตัวแทน eigenspace มักจะใช้กับอนุกรมเวลา? ด้านล่างเป็นส่วนหนึ่งของรหัส MATLAB เพื่อแสดงแนวคิด: X = randn(100,4); % data matrix of size N-by-dim X0 = bsxfun(@minus, X, mean(X)); % standarize [U S V] = svd(X0,0); % SVD variances = diag(S).^2 / (size(X,1)-1); % …

3
การเพิ่มประสิทธิภาพ PCA นูนหรือไม่
ฟังก์ชั่นวัตถุประสงค์ของการวิเคราะห์องค์ประกอบหลัก (PCA) จะลดการผิดพลาดในการฟื้นฟูใน L2 บรรทัดฐาน (ดูหัวข้อ 2.12 นี่อีกมุมมองหนึ่งพยายามที่จะเพิ่มความแปรปรวนในการฉายนอกจากนี้เรายังมีการโพสต์ที่ยอดเยี่ยมที่นี่:.. เป็นฟังก์ชันวัตถุประสงค์ของ PCA อะไร ? ) คำถามของฉันคือการเพิ่มประสิทธิภาพ PCA นูนหรือไม่ (ฉันพบการสนทนาที่นี่แต่หวังว่าใครบางคนสามารถให้หลักฐานที่ดีเกี่ยวกับ CV)

1
แพคเกจ GBM กับ Caret ใช้ GBM
ฉันเคยใช้การจูนโมเดลcaretแต่แล้วก็รันโมเดลอีกครั้งโดยใช้gbmแพ็คเกจ ฉันเข้าใจว่าcaretแพ็กเกจที่ใช้gbmและเอาต์พุตควรเหมือนกัน อย่างไรก็ตามการทดสอบการทำงานอย่างรวดเร็วโดยใช้data(iris)แสดงความแตกต่างในรูปแบบประมาณ 5% โดยใช้ RMSE และ R ^ 2 เป็นตัวชี้วัดการประเมินผล ฉันต้องการค้นหาประสิทธิภาพของแบบจำลองที่ดีที่สุดโดยใช้caretแต่เรียกใช้อีกครั้งgbmเพื่อใช้ประโยชน์จากแผนการพึ่งพาบางส่วน รหัสด้านล่างสำหรับการทำซ้ำ คำถามของฉันจะเป็น: 1) เหตุใดฉันจึงเห็นความแตกต่างระหว่างแพ็คเกจทั้งสองนี้ถึงแม้ว่าพวกเขาจะเหมือนกัน (ฉันเข้าใจว่าพวกมันสุ่ม แต่ 5% ค่อนข้างแตกต่างกันมากโดยเฉพาะอย่างยิ่งเมื่อฉันไม่ได้ใช้ชุดข้อมูลที่ดีirisสำหรับการสร้างแบบจำลองของฉัน) . 2) มีข้อดีหรือข้อเสียในการใช้ทั้งสองแพคเกจหรือไม่ 3) ไม่เกี่ยวข้อง: การใช้irisชุดข้อมูลที่ดีที่สุดinteraction.depthคือ 5 แต่สูงกว่าที่ฉันได้อ่านควรจะใช้สูงสุดfloor(sqrt(ncol(iris)))ซึ่งควรจะเป็น 2 นี่เป็นกฎง่ายๆหรือเข้มงวดหรือไม่? library(caret) library(gbm) library(hydroGOF) library(Metrics) data(iris) # Using caret caretGrid <- expand.grid(interaction.depth=c(1, 3, 5), n.trees = (0:50)*50, shrinkage=c(0.01, 0.001), n.minobsinnode=10) metric …

1
PCA และคะแนนองค์ประกอบขึ้นอยู่กับการผสมผสานของตัวแปรต่อเนื่องและไบนารี
ฉันต้องการใช้ PCA กับชุดข้อมูลซึ่งประกอบด้วยตัวแปรชนิดผสม (ต่อเนื่องและไบนารี) เพื่อแสดงขั้นตอนฉันวางตัวอย่างที่ทำซ้ำได้น้อยที่สุดใน R ด้านล่าง # Generate synthetic dataset set.seed(12345) n <- 100 x1 <- rnorm(n) x2 <- runif(n, -2, 2) x3 <- x1 + x2 + rnorm(n) x4 <- rbinom(n, 1, 0.5) x5 <- rbinom(n, 1, 0.6) data <- data.frame(x1, x2, x3, x4, x5) # Correlation matrix …
13 r  pca 

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