में 2 आयामों के लिए एक बहुविकल्पीय गाऊशियन संभावना घनत्व समारोह को कार्यान्वित करना मैं सी ++ में एक बहुविकल्पीय गॉसियन की संभाव्यता घनत्व समारोह को लागू करने पर काम कर रहा हूं, और मैं आयाम> 2 के मामलों को सर्वोत्तम तरीके से कैसे संभालना है, इस पर अटक गया हूं।सी ++
एक गाऊसी की पीडीएफ
जहां (ए) 'या' 'मैट्रिक्स' एक्स के सभी तत्वों से मतलब घटाकर द्वारा बनाई गई की पक्षांतरित का प्रतिनिधित्व करता है के रूप में लिखा जा सकता है। इस समीकरण में, के हमारे आयामों की संख्या है, और सिग्मा कॉन्वर्सिस मैट्रिक्स का प्रतिनिधित्व करता है, जो एक के एक्स के मैट्रिक्स है। अंत में, | एक्स | का अर्थ है मैट्रिक्स एक्स
अनौपचारिक मामले में, पीडीएफ लागू करना मामूली है। यहां तक कि बिवारिएट (के = 2) मामले में, यह मामूली है। हालांकि, जब हम दो आयामों से आगे जाते हैं, तो कार्यान्वयन बहुत कठिन होता है।
द्विचर मामले में, हम होगा
जहां रो
के x और y के बीच संबंध है, सहसंबंध बराबर के साथ इस मामले में, मैं पहले समीकरण को लागू करने के लिए Eigen::Matrix<double, Eigen::Dynamic, Eigen::Dynamic>
का उपयोग कर सकते हैं, या केवल ईजिन के सरलीकृत रैखिक बीजगणित इंटरफ़ेस से लाभान्वित किए बिना, दूसरी समीकरण का उपयोग करके स्वयं सब कुछ की गणना कर सकते हैं।
मल्टीवेरिएट मामले पर एक प्रयास शायद
मेरे सवालों के साथ मल्टीवेरिएट मामले
को उपरोक्त समीकरणों का विस्तार करके शुरू होगा के लिए मेरे विचार कर रहे हैं:
- एन-आयामी सरणी के लिए
boost::multi_array
का उपयोग करने के लिए उचित/सलाह दी जाएगी, या क्या मुझे इसके बजाय ईजिन का लाभ उठाने का प्रयास करना चाहिए? - क्या मेरे पास univariate/bivariate मामलों, के लिए अलग-अलग फ़ंक्शन होना चाहिए या क्या मुझे बूस्ट :: multi_array (या उपयुक्त विकल्प) का उपयोग करके इसे बहुविकल्पीय मामले में समझा जाना चाहिए?
ओओफ! खैर, आपने अभी तक क्या प्रयास किया है? : डी –
यहां उचित प्रतिक्रिया मैट्रिक्स संचालन का समर्थन करने वाली संख्यात्मक लाइब्रेरी का उपयोग करने के लिए है। क्या यूब्लास/लापैक इसे प्रदान नहीं करता है? किसी भी दर पर, 'multi_array' (या कुछ भी स्वयं निर्मित) का उपयोग करना शायद * अच्छा * नहीं है। –