GWAS डेटा सेट के PCA प्रोजेक्शन में बच्चे अपने माता-पिता को एक साथ खींचने का प्रबंधन कैसे करते हैं?


9

प्रत्येक से समन्वयित iid के साथ 10,000-आयामी स्थान में 20 यादृच्छिक अंक लें एन(0,1)। उन्हें 10 जोड़े ("जोड़े") में विभाजित करें और डेटासेट में प्रत्येक जोड़ी ("एक बच्चा") का औसत जोड़ें। फिर परिणामी 30 बिंदुओं पर पीसीए करें और पीसी 1 बनाम पीसी 2 प्लॉट करें।

एक उल्लेखनीय बात होती है: प्रत्येक "परिवार" उन बिंदुओं का एक समूह बनाता है जो सभी एक साथ पास होते हैं। बेशक हर बच्चा मूल 10,000-आयामी स्थान में अपने माता-पिता में से प्रत्येक के करीब है, इसलिए कोई यह उम्मीद कर सकता है कि वह पीसीए अंतरिक्ष में भी माता-पिता के करीब हो। हालांकि, पीसीए स्पेस में माता-पिता की प्रत्येक जोड़ी एक साथ करीब है, भले ही मूल स्थान में वे सिर्फ यादृच्छिक बिंदु हैं!

पीसीए प्रोजेक्शन में बच्चे माता-पिता को एक साथ खींचने का प्रबंधन कैसे करते हैं?

यहाँ छवि विवरण दर्ज करें

किसी को चिंता हो सकती है कि यह किसी तरह से इस तथ्य से प्रभावित है कि बच्चों के पास माता-पिता की तुलना में कम आदर्श है। इससे कोई फर्क नहीं पड़ता: अगर मैं बच्चों को पैदा करता हूं(एक्स+y)/2 कहाँ पे एक्स तथा yमाता-पिता के बिंदु हैं, तो उनके पास माता-पिता के समान आदर्श होंगे। लेकिन मैं अभी भी पीसीए अंतरिक्ष में गुणात्मक रूप से एक ही घटना का निरीक्षण करता हूं:

यहाँ छवि विवरण दर्ज करें

यह सवाल एक खिलौना डेटा सेट का उपयोग कर रहा है, लेकिन यह एक जीनोम-वाइड एसोसिएशन स्टडी (जीडब्ल्यूएएस) से निर्धारित वास्तविक दुनिया के आंकड़ों में जो मैंने देखा है, उससे प्रेरित है, जहां आयाम एकल-न्यूक्लियोटाइड पॉलीमॉर्फिज्म (एसएनपी) हैं। इस डेटा सेट में माता-पिता-बच्चे की तिकड़ी थी।


कोड

%matplotlib notebook

import numpy as np
import matplotlib.pyplot as plt
np.random.seed(1)

def generate_families(n = 10, p = 10000, divide_by = 2):
    X1 = np.random.randn(n,p)    # mothers
    X2 = np.random.randn(n,p)    # fathers
    X3 = (X1+X2)/divide_by       # children
    X = []
    for i in range(X1.shape[0]):
        X.extend((X1[i], X2[i], X3[i]))
    X = np.array(X)

    X = X - np.mean(X, axis=0)
    U,s,V = np.linalg.svd(X, full_matrices=False)
    X = U @ np.diag(s)
    return X

n = 10
plt.figure(figsize=(4,4))
X = generate_families(n, divide_by = 2)
for i in range(n):
    plt.scatter(X[i*3:(i+1)*3,0], X[i*3:(i+1)*3,1])
plt.tight_layout()
plt.savefig('families1.png')

plt.figure(figsize=(4,4))
X = generate_families(n, divide_by = np.sqrt(2))
for i in range(n):
    plt.scatter(X[i*3:(i+1)*3,0], X[i*3:(i+1)*3,1])
plt.tight_layout()
plt.savefig('families2.png')

1
इतने उच्च आयाम में एक यादृच्छिक असंबद्ध डेटा के सभी डेटा बिंदु अंतरिक्ष के कोनों में स्थित होते हैं और अंकों के बीच की दूरी लगभग समान होती है। यदि आप एक बिंदु का चयन करते हैं और एक दूसरे के साथ एक आधा रास्ता बिंदु (औसत) बनाकर टाई करते हैं, तो आप उनके बीच इस प्रकार एक क्लस्टर बना चुके हैं: आपने पहले बताई गई दूरी की तुलना में अलग-अलग छोटी दूरी पेश की है।
tnnphns

1
हां, मैं समझता हूं कि 20 मूल बिंदु एक-दूसरे से कम या ज्यादा समान हैं। और यह स्पष्ट है कि बच्चे किसी भी दो माता-पिता की तुलना में अपने माता-पिता के करीब हैं। हालांकि मुझे अभी भी कुछ नहीं मिला है, इसलिए माता-पिता पीसीए प्रोजेक्शन में पास हो गए ...
अमीबा

क्या आपने किसी दो यादृच्छिक आयामों पर प्रोजेक्ट करने की कोशिश की? तुम्हें क्या मिला?
ttnphns

1
मेरा अंतर्ज्ञान यह होगा: अंक के ट्रिपल पीसी 1-2 सबसेट के लिए लंबवत बवासीर के रूप में अनुमानित हैं। इस प्रकार इस विमान की स्थिति को अधिकतम विचरण के लिए परिभाषित किया गया है । आप देखते हैं, आपको केंद्र से दूर मोड के साथ मल्टीमॉडल डेटा मिला है (क्योंकि अंक 10K मंद में सभी पेरिफेरल हैं), इस तरह के एक बादल, एक डंबल की तरह, मुख्य पीसी को खींचने की कोशिश करेंगे ताकि ये भारी क्षेत्रों को छेद दें , और इसलिए त्रिकोणीय के लिए लंबवत।
tnnphns

1
खोज, btw समस्या के लिए शिक्षाप्रद है कि PCA (PCoA) एक MDS के रूप में बहुत अच्छा नहीं है क्योंकि यह परियोजनाओं को इंगित करता है और सीधे दूरियों को प्रदर्शित नहीं करता है। एक पुनरावृत्ति एमडीएस उन "समूहों" का उत्पादन करने की उम्मीद करेगा जो बहुत कम डिग्री पर हों।
ttnphns

जवाबों:


8

उपरोक्त टिप्पणियों में @ttnphns के साथ चर्चा के दौरान, मैंने महसूस किया कि 10 से कम परिवारों के साथ एक ही घटना देखी जा सकती है। तीन परिवार ( n=3मेरे कोड स्निपेट में) एक समबाहु त्रिभुज के कोनों में मोटे तौर पर दिखाई देते हैं। वास्तव में, यह केवल दो परिवारों ( n=2) पर विचार करने के लिए पर्याप्त है : वे पीसी 1 के साथ अलग हो जाते हैं, प्रत्येक परिवार को एक बिंदु पर मोटे तौर पर अनुमानित किया जाता है।

दो परिवारों के मामले को प्रत्यक्ष रूप से देखा जा सकता है। 10,000-आयामी अंतरिक्ष में मूल चार बिंदु लगभग ऑर्थोगोनल हैं और 4-आयामी उप-क्षेत्र में रहते हैं। इसलिए वे 4-सिम्प्लेक्स बनाते हैं। केंद्रित करने के बाद, वे एक नियमित टेट्राहेड्रॉन का निर्माण करेंगे जो 3 डी में एक आकार है। यहाँ है कि यह कैसा दिखता है:

* यहाँ छवि विवरण दर्ज करें *

बच्चों को जोड़े जाने से पहले, PC1 कहीं भी इंगित कर सकता है; कोई पसंदीदा दिशा नहीं है। हालांकि, दो बच्चों को दो विपरीत किनारों के केंद्र में तैनात किए जाने के बाद, PC1 उनके माध्यम से सही हो जाएगा! छह बिंदुओं की यह व्यवस्था @ttnphns द्वारा "डम्बल" के रूप में वर्णित की गई थी:

इस तरह के एक बादल, एक डम्बल की तरह, मुख्य पीसी को खींचने के लिए इतना है कि ये भारी क्षेत्रों को छेदते हैं

ध्यान दें कि एक नियमित टेट्राहेड्रोन के विपरीत किनारे एक दूसरे के लिए ऑर्थोगोनल हैं और अपने केंद्रों को जोड़ने वाली रेखा के लिए भी ऑर्थोगोनल हैं। इसका मतलब है कि प्रत्येक परिवार को पीसी 1 पर एक एकल बिंदु पर पेश किया जाएगा।

शायद कम सहज रूप से, अगर दो बच्चों के द्वारा बढ़ाया जाता है 2कारक उन्हें माता-पिता के समान आदर्श देने के लिए, फिर वे टेट्राहेड्रॉन के "स्टिक आउट" करेंगे, जिसके परिणामस्वरूप पीसी 1 प्रक्षेपण दोनों माता-पिता एक साथ ध्वस्त हो गए और बच्चा आगे भी अलग हो रहा है। यह मेरे प्रश्न में दूसरे आंकड़े में देखा जा सकता है: प्रत्येक परिवार के पास अपने माता-पिता वास्तव में पीसी 1 / पीसी 2 प्लेन (EVEN THOUGH THEY are UNRELATED!) के करीब हैं, और उनका बच्चा थोड़ा अलग है।


3
उत्कृष्ट दृश्य! Mom1-Child1-Dad1 एक डिस्क या पैनकेक है, और मोम 2-चाइल्ड 2-डैड 2 एक अन्य है, जो बिमोडल क्लाउड का है। यह PC1 को आकर्षित करता है, प्रक्षेपण के विचरण को अधिकतम करने के लिए, दोनों "परिवारों" को अपनी माँ-बच्चे-पिता की पंक्तियों के लिए मौखिक रूप से छेदने के लिए। नतीजतन, प्रत्येक परिवार एक बिंदु (इस उदाहरण में एक बच्चा) में प्रोजेक्ट करता है, और हमारे पास दो परिवार हैं जो दो बहुत तंग हैं, प्रक्षेपण में एक दूसरे समूहों से दूर हैं।
ttnphns

1
आपने चित्र खींचने के लिए किस कार्यक्रम का उपयोग किया?
ttnphns

4
व्हाइटबोर्ड, व्हाइटबोर्ड मार्कर और एक स्मार्टफोन कैमरा :-)
अमीबा
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.