बताएं कि कैसे `eigen` एक मैट्रिक्स को निष्क्रिय करने में मदद करता है


13

मेरा प्रश्न एक अभिकलन तकनीक में शोषण से संबंधित है geoR:::.negloglik.GRFया geoR:::solve.geoR

एक रैखिक मिश्रित मॉडल सेटअप में: जहां और क्रमशः तय और यादृच्छिक प्रभाव हैं। इसके अलावा,

Y=Xβ+Zb+e
βbΣ=cov(Y)

प्रभावों का आकलन करते समय, गणना करने की आवश्यकता होती है जो सामान्य रूप से कुछ का उपयोग करके किया जा सकता है , लेकिन कभी-कभी लगभग गैर-अक्षम है, इसलिए चाल को नियोजित करें

(XΣ1X)1XΣ1Y
solve(XtS_invX,XtS_invY)(XΣ1X)geoR
t.ei=eigen(XtS_invX)
crossprod(t(t.ei$vec)/sqrt(t.ei$val))%*%XtS_invY

( geoR:::.negloglik.GRFऔर geoR:::.solve.geoR) में देखा जा सकता है कि कौन सी मात्रा में डीमॉस्पोज़िंग कहाँ और इसलिए

(XΣ1X)=ΛDΛ1
Λ=Λ1
(XΣ1X)1=(D1/2Λ1)(D1/2Λ1)

दो सवाल:

  1. यह ईजन अपघटन कैसे inverting में मदद करता है ?(XΣ1X)
  2. क्या कोई अन्य व्यवहार्य विकल्प है (जो मजबूत और स्थिर है)? (उदा। qr.solveया chol2inv?)

जवाबों:


15

1) eigendecomposition वास्तव में इतना मदद नहीं करता है। यह निश्चित रूप से एक चोलेसी कारक की तुलना में अधिक संख्यात्मक रूप से स्थिर है, जो तब मददगार होता है जब आपका मैट्रिक्स अशिक्षित / लगभग एकवचन / उच्च स्थिति संख्या वाला हो। तो तुम eigendecomposition उपयोग कर सकते हैं और यह आपको दे देंगे एक आपकी समस्या का हल। लेकिन इसकी कोई कम गारंटी नहीं है कि यह सही समाधान होगा। ईमानदारी से, एक बार जब आप स्पष्ट रूप से , तो नुकसान पहले ही हो चुका होता है। बनाने सिर्फ मामले को बदतर बना देता है। ईगेंडेकोम्पोजिशन आपको लड़ाई जीतने में मदद करेगा, लेकिन युद्ध निश्चित रूप से हार गया है।ΣXTΣ1X

2) आपकी समस्या की बारीकियों को जाने बिना, मैं यही करूंगा। सबसे पहले, पर एक चोल्स्की फैक्टराइज़ेशन करें ताकि । फिर पर एक क्यू फैक्टराइज़ेशन करें ताकि । कृपया आगे के प्रतिस्थापन का उपयोग करके गणना सुनिश्चित करें - स्पष्ट रूप से उल्टा न करें । तो फिर आपको मिलता है: यहां से, आप किसी भी राइट हैंड साइड को हल कर सकते हैं। मगर फिर से,ΣΣ=LLTL1XL1X=QRL1XL

XTΣ1X=XT(LLT)1X=XTLTL1X=(L1X)T(L1X)=(QR)TQR=RTQTQT=RTR
R(या )। आवश्यक के रूप में आगे और पीछे के प्रतिस्थापन का उपयोग करें।RTR

BTW, मैं आपके समीकरण के दाहिने हाथ की ओर उत्सुक हूं। आपने लिखा है कि यह । क्या आप सुनिश्चित हैं कि यह ? क्योंकि अगर ऐसा होता, तो आप दाहिने हाथ की तरफ एक समान चाल का उपयोग कर सकते थे: और तब आप जब आप : XTΣYXTΣ1Y

XTΣ1Y=XT(LLT)1Y=XTLTL1Y=(L1X)TL1Y=(QR)TL1Y=RTQTL1Y
β
XTΣ1Xβ=XTΣ1YRTRβ=RTQTL1YRβ=QTL1Yβ=R1QTL1Y
Rअंतिम चरण के लिए, है ना? यह सिर्फ एक पिछड़ा प्रतिस्थापन है। :-)

धन्यवाद। यह एक उपयोगी प्रतिक्रिया है। बस स्पष्ट होने के लिए, क्या आपका चोल / qr विकल्प युद्ध जीतने में मदद करने वाला है? या सिर्फ इस खेल को जीतने से बेहतर है कि eigen क्या करता है?
qoheleth

यह एक कठिन सवाल का जवाब है। मुझे विश्वास है कि चोल्स्की और क्यूआर फैक्टरिबिलिटी के संयोजन से आपको बेहतर उत्तर (और तेज़ उत्तर) मिलेगा । क्या यह सही उत्तर है वास्तव में समस्या के स्रोत पर निर्भर करता है। इस मामले में, 2 संभावित स्रोत हैं। या तो के स्तंभ लगभग रैखिक रूप से निर्भर हैं या एकवचन के पास पहुंच रहे हैं। जब आप बनाते हैं , तो ये समस्याएं एक दूसरे को बढ़ाती हैं। चोल्स्की + क्यूआर दृष्टिकोण इन समस्याओं में से किसी को कम नहीं करता (और नहीं कर सकता), लेकिन यह स्थिति को खराब होने से रोकता है। XΣXTΣ1X
बिल वोस्नर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.