ฉันสามารถใช้ CLR (การแปลงอัตราส่วนบันทึกเป็นศูนย์กลาง) เพื่อเตรียมข้อมูลสำหรับ PCA ได้หรือไม่


13

ฉันกำลังใช้สคริปต์ มันเป็นบันทึกหลัก ฉันมี dataframe ซึ่งแสดงองค์ประกอบต่าง ๆ ในคอลัมน์ที่มีความลึกที่กำหนด (ในคอลัมน์แรก) ฉันต้องการทำ PCA ด้วยและสับสนเกี่ยวกับวิธีการมาตรฐานที่ฉันต้องเลือก

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

data_f_clr<- clr(data_f)
data_pca <- prcomp(data_f, center = TRUE, scale. = TRUE)

https://stat.ethz.ch/R-manual/R-devel/library/stats/html/prcomp.html

สเกลอธิบายเพื่อปรับสเกลข้อมูลดังนั้นจึงมีความแปรปรวนของหน่วย เนื่องจากข้อมูลของฉันมีขนาดแตกต่างกันมากนั่นคือสิ่งที่ฉันต้องการฉันจึงคิด ปัญหาคือว่าฉันได้รับการแก้ไขที่แตกต่างกันเมื่อฉันใช้รหัสด้านบนหรือเมื่อฉันข้ามclr()(ซึ่งทำให้ผลลัพธ์ที่ต้องการมากขึ้น) แต่ฉันต้องการที่จะรู้ว่าทำไมการclr()รบกวนในกรณีนี้คืออะไร?


2
สำหรับผู้ใช้ที่ไม่ใช่ R เช่นฉันมันอาจจะมีประโยชน์ในการอธิบายสิ่งที่clr....
Dougal

3
แน่นอน CLR เปลี่ยนวิธีแก้ปัญหา - ทำไมคุณจะใช้ขั้นตอนนี้อีก? บางทีคุณควรถามวิธีกำหนดวิธีการที่ดีกว่า มีการโพสต์ที่มีประโยชน์ที่จะพบได้โดยการค้นหาเว็บไซต์ของเราเป็นสำหรับ CLR ในการตอบคำถามที่เกี่ยวข้องฉันได้เตรียมภาพประกอบที่อาจช่วยคุณได้
whuber

1
คำตอบอย่างรวดเร็วคือคุณสามารถทำอะไรก็ได้ที่คุณต้องการด้วยข้อมูลก่อน PCA ไม่มีการแก้ไขกฎหมายหรือสูตรอาหารที่ควบคุมสิ่งนี้ บางคนยืนยันว่า PCA (ไม่มีการหมุน) เป็นมาตราส่วนคงที่ในขณะที่คนอื่น ๆ ยืนยันว่าผลลัพธ์ของ PCA นั้นมีความไวสูงต่อขนาด แต่ถ้าคุณหมุนผลลัพธ์ของ PCA กฎของ thumb-pre-PCA จะทำให้เป็นมาตรฐานเช่นCLRหรือการกำหนดมาตรฐานให้เท่ากับ = 0 และ SD = 1 การอภิปรายที่ดีของCLRอยู่ในการวิเคราะห์ส่วนแบ่งการตลาดในหนังสือของ Lee Cooper ( anderson.ucla.edu/faculty/lee.cooper/MCI_Book/BOOKI2010.pdf ) ซึ่งเชื่อมโยงกับการวิเคราะห์องค์ประกอบ
Mike Hunter

2
@D จอห์นสันฉันค้นหาไฟล์ PDF ที่เชื่อมโยงกับคำต่าง ๆ ใน CLR และการแปลงอัตราส่วนบันทึกเป็นศูนย์กลาง แต่ไม่พบอะไรเลย ฉันทำอะไรผิด? ไม่มีดัชนีในเวอร์ชันนั้น แต่ส่วนหัวของส่วนนั้นดูไม่สดใสและการอ้างอิงไม่รวม John Aitchison ที่เสนอการเปลี่ยนแปลงนี้สำหรับข้อมูลองค์ประกอบ อ้างอิงหน้าการสนทนาภายใต้ชื่อนั้นหรือชื่ออื่น ๆ ที่ชื่นชม
Nick Cox

1
ดังที่ได้กล่าวไปแล้วไม่มีดัชนีในเวอร์ชันที่คุณเชื่อมโยงดังนั้นโปรดยกโทษให้ฉันหากไม่ได้ปรึกษา ขอบคุณสำหรับคำหลัก "log-centering" ซึ่งฉันค้นหาการสนทนาของสัตว์ร้ายที่แตกต่างกันไม่ใช่การแปลงอัตราส่วนการบันทึกเป็นศูนย์กลางซึ่งหัวข้อนี้เป็นเรื่องเกี่ยวกับ @whuber ได้ให้ลิงก์ไปยังการอภิปรายในเว็บไซต์นี้แล้ว กุญแจสำคัญคือสำหรับข้อมูลองค์ประกอบที่มีสัดส่วนเพิ่มเป็น 1 มีความต้องการและขอบเขตสำหรับการแปลงสภาพแบบรวมเป็นพื้นที่อื่น คุณพลาดคำว่า "อัตราส่วน" ตามที่ชี้ไปยังแนวคิดที่แตกต่างจากที่คุณรู้จัก
Nick Cox

คำตอบ:


6

คุณอาจประสบปัญหาบางอย่างกับ vanilla PCA ในพิกัด CLR มีสองปัญหาที่สำคัญเกี่ยวกับข้อมูลองค์ประกอบ:

  • พวกเขาไม่เคร่งครัดเชิงลบ
  • พวกเขามีข้อ จำกัด

การแปลงองค์ประกอบแบบต่างๆแก้ปัญหาหนึ่งหรือทั้งสองอย่าง โดยเฉพาะอย่างยิ่ง CLR แปลงข้อมูลของคุณโดยบันทึกอัตราส่วนระหว่างความถี่ที่สังเกตได้xและค่าเฉลี่ยเรขาคณิตของพวกเขาG(x)เช่น

x^={log(x1G(x)),,log(xnG(x))}={log(x1)log(G(x)),,log(xn)log(G(x))}

ลองพิจารณาดู

log(G(x))=log(exp[1ni=1nlog(xi)])=E[log(x)]

นี้มีประสิทธิภาพหมายความว่า Σ

x^=[log(x)E[log(x)]]=0

กล่าวอีกนัยหนึ่ง CLR ลบข้อ จำกัด ช่วงค่า (ซึ่งดีสำหรับบางแอปพลิเคชัน) แต่ไม่ได้ลบข้อ จำกัด ผลรวมในเมทริกซ์ความแปรปรวนร่วมเอกพจน์ซึ่งแบ่งได้อย่างมีประสิทธิภาพ (M) ANOVA / การถดถอยเชิงเส้น / ... และทำให้ PCA อ่อนไหวต่อค่าผิดปกติ (เนื่องจากการประมาณค่าความแปรปรวนร่วมที่แข็งแกร่งต้องใช้เมทริกซ์แบบเต็มอันดับ) เท่าที่ฉันรู้การแปลงองค์ประกอบทั้งหมดนั้นมีเพียง ILR เท่านั้นที่จัดการกับปัญหาทั้งสองโดยไม่มีข้อสมมติฐานที่สำคัญ แม้ว่าสถานการณ์จะซับซ้อนขึ้นเล็กน้อย SVD ของ CLR พิกัดช่วยให้คุณมีพื้นฐานมุมฉากในพื้นที่ ILR (พิกัด ILR ครอบคลุม hyperplane ใน CLR) ดังนั้นการประมาณค่าความแปรปรวนของคุณจะไม่แตกต่างกันระหว่าง ILR และ CLR (ที่แน่นอนแน่นอนเพราะ ILR และ CLR เป็น isometries บน เริม) อย่างไรก็ตามมีวิธีการประเมินความแปรปรวนร่วมที่มีประสิทธิภาพในพิกัด ILR [2]

อัปเดตฉัน

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

In [1]: import numpy as np

In [2]: from scipy.stats import linregress

In [3]: from scipy.stats.mstats import gmean

In [4]: def clr(x):
   ...:     return np.log(x) - np.log(gmean(x))
   ...: 

In [5]: nsamples = 100

In [6]: samples = np.random.multivariate_normal(
   ...:     mean=[100]*3, cov=np.eye(3)*100, size=nsamples
   ...: ).T

In [7]: transformed = clr(samples)

In [8]: np.corrcoef(transformed)
Out[8]: 
array([[ 1.        , -0.59365113, -0.49087714],
       [-0.59365113,  1.        , -0.40968767],
       [-0.49087714, -0.40968767,  1.        ]])

In [9]: linregress(transformed[0], transformed[1])
Out[9]: LinregressResult(
   ...:     slope=-0.5670, intercept=-0.0027, rvalue=-0.5936, 
   ...:     pvalue=7.5398e-11, stderr=0.0776
   ...: )

อัปเดต II

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

... biplot การประพันธ์[หมายเหตุ: อ้างอิงถึง PCA]มีข้อดีหลายประการเกี่ยวกับแผนการประสานงานหลัก (PCoA) สำหรับการวิเคราะห์ diversity- ความหลากหลาย ผลลัพธ์ที่ได้มีความเสถียรมากเมื่อข้อมูลเป็นชุดย่อย (Bian et al., 2017) ซึ่งหมายความว่าการวิเคราะห์เชิงสำรวจไม่ได้เกิดจากความสัมพันธ์ที่ขาดหายไปของข้อมูลหรือจากการกระจัดกระจายมากเกินไป (Wong et al., 2016; Morton et al., 2017)

Gloor et al., 2017

อัปเดต III

การอ้างอิงเพิ่มเติมเกี่ยวกับงานวิจัยที่ตีพิมพ์ (ฉันขอบคุณ @Nick Cox สำหรับคำแนะนำเพื่อเพิ่มการอ้างอิงเพิ่มเติม):

  1. ข้อโต้แย้งเกี่ยวกับการใช้ CLR สำหรับ PCA
  2. ข้อโต้แย้งเกี่ยวกับการใช้ CLR สำหรับวิธีอิงตามสหสัมพันธ์
  3. รู้เบื้องต้นเกี่ยวกับ ILR

2
เมทริกซ์ความแปรปรวนร่วมเอกพจน์ไม่เป็นปัญหาสำหรับ PCA!
kjetil b halvorsen

@kjetilbhalvorsen แน่นอน PCA ต่อ se ไม่จำเป็นต้องใช้เมทริกซ์ในการจัดอันดับแบบเต็ม เทคนิคการพูดเมทริกซ์ความแปรปรวนร่วมเอกพจน์จะส่งผลให้มีค่าลักษณะเฉพาะอย่างน้อยหนึ่งค่า . แต่คนมักจะใช้ PCA ในการสำรวจแหล่งที่มาของความแปรปรวนซึ่งเป็นที่ที่เตะ compositionality ในที่เหตุผลที่ผมได้รับค่อนข้างระมัดระวังกับคำพูดของฉัน: "... อย่างมีประสิทธิภาพแบ่ง PCA / ... ในหลายบอบบางวิธีการ"
อีไล Korvigo

ดังนั้นคุณหมายถึงว่าเนื่องจากความแปลกประหลาดอย่างหนึ่งไม่สามารถคำนวณจำนวนความแปรปรวนที่อธิบายต่อองค์ประกอบได้ นอกจากนั้นยังสามารถทำการ PCA เพื่อลดขนาด สิ่งนี้มีผลกระทบต่อ ANOVA / การถดถอยเชิงเส้นอย่างไร
Archie

1
+1 เพราะคำตอบนั้นน่าสนใจมาก มันไม่ได้ไปโดยไม่มีการวิจารณ์แม้ว่า ดูเหมือนคุณ (สำหรับฉันโง่) ไม่ได้อธิบายอย่างแม่นยำว่าทำไมการทำ PCA กับข้อมูลที่มีองค์ประกอบหรือการแปลง clr นั้นไม่เหมาะสม "ในวิธีที่ละเอียดอ่อน" นอกจากนี้คุณกำลังให้รหัสหลาม แต่ไม่ได้ผลลัพธ์ คุณสามารถแสดงและแสดงความคิดเห็นผลลัพธ์ได้หรือไม่? ในที่สุดคุณสามารถทิ้งลิงค์เกี่ยวกับ ILR transfotm เพื่ออ่านได้หรือไม่?
ttnphns

1
@ttnphns 1) ตามที่ฉันเขียนไว้ในความคิดเห็น CLR ไม่ได้ลบความแปรปรวนของแหล่งที่มาของความแปรปรวนที่ได้รับการแนะนำโดยการปิดคอมโพสิตที่มีผลต่อการวิเคราะห์ข้อมูลเชิงสำรวจ: การประมาณค่าความแปรปรวนร่วมที่แข็งแกร่ง 2) ฉันไม่แน่ใจว่าฉันทำตามทำไมคุณพูดว่าไม่มีผลลัพธ์: นั่นคือเซสชัน Python แบบโต้ตอบที่มีอินพุตและเอาต์พุต (เช่นผลลัพธ์); 3) ฉันได้เพิ่มการอ้างอิงสำหรับ ILR
Eli Korvigo

5

ใช่คุณสามารถและในความเป็นจริงคุณควรเมื่อข้อมูลของคุณเป็นองค์ประกอบ

บทวิจารณ์จากสาขาวิชาจุลชีววิทยาสามารถพบได้ที่นี่ซึ่งเป็นแรงบันดาลใจให้ใช้การแปลง CLR ตามด้วย PCA เพื่อวิเคราะห์ชุดข้อมูล microbiome (ซึ่งเป็นคำจำกัดความขององค์ประกอบ): https://www.frontiersin.org/articles/10.3389/fmicb .2017.02224


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

@EliKorvigo ความคิดเห็นนั้นอาจได้รับการก่อตั้งขึ้นมาอย่างดี แต่ด้วยตัวของมันเองมันไม่ได้เป็นประโยชน์ หากคุณสามารถชี้ไปที่คำวิจารณ์ที่เผยแพร่หรืออย่างน้อยคำวิจารณ์นั้นจะเปลี่ยนรูปภาพ
Nick Cox

@NickCox แน่ใจว่ามีกระดาษโดยFilzmoser และ Hron มันไม่ได้เป็นคำวิจารณ์โดยตรงของกระดาษดังกล่าว แต่มันโต้แย้งว่าการใช้ CLR สำหรับการวิเคราะห์ความสัมพันธ์ในขณะที่กระดาษดังกล่าวแนะนำเครื่องมือที่ใช้ CLR
Eli Korvigo

@ NickCox ฉันต้องการเน้นย้ำถึงความเคารพอย่างลึกซึ้งต่อดร. Pawlowsky-Glahn และ Dr. Egozcue ผู้เขียนบทความสองคนสุดท้ายที่กล่าวถึงโดย Archie ในความเป็นจริงพวกเขาได้รับการแนะนำ ILR บกพร่องอยู่ CLR ของ(Egozcue และ Pawlowsky-Glahn, 2003) หมายถึง CLR ที่พวกเขาเขียน: "อย่างไรก็ตามอ้างอิงฉากในสเปซที่ไม่ได้รับในลักษณะที่ตรงไปตรงมา"
Eli Korvigo

Pawlowsky-Glahn และ Egozcue รัฐใน "ข้อมูล Compositional และการวิเคราะห์ของพวกเขา: การแนะนำ" (2006) ที่สัมประสิทธิ์ clr "มีข้อได้เปรียบบางอย่าง: การแสดงออกเป็นสมมาตรในชิ้นส่วนและพิกัดเหล่านี้ลดการคำนวณระยะทาง Aitchison เป็นระยะทางธรรมดา มีประโยชน์ในการคำนวณ bi-plots (... ) "
jO
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.