मार्कोव मॉडल में मापदंडों की संख्या


12

मैं एचएमएम मॉडल चयन के लिए बीआईसी का उपयोग करना चाहता हूं:

BIC = -2*logLike + num_of_params * log(num_of_data)

तो मैं एचएमएम मॉडल में मापदंडों की संख्या कैसे गिनूं। एक साधारण 2-अवस्था HMM पर विचार करें, जहाँ हमारे पास निम्नलिखित डेटा हैं:

data = [1 2 1 1 2 2 2 1 2 3 3 2 3 2 1 2 2 3 4 5 5 3 3 2 6 6 5 6 4 3 4 4 4 4 4 4 3 3 2 2];
model = hmmFit(data, 2, 'discrete');
model.pi = 0.6661    0.3339;
model.A = 
    0.8849    0.1151
    0.1201    0.8799
model.emission.T = 
    0.2355    0.5232    0.2259    0.0052    0.0049    0.0053
    0.0053    0.0449    0.2204    0.4135    0.1582    0.1578
logLike = hmmLogprob(model,data);
logLike =  -55.8382

तो मै समझता हूँ कि:

Nparams = size(model.A,2)*(size(model.A,2)-1) + 
          size(model.pi,2)-1) + 
          size(model.emission.T,1)*(size(model.emission.T,2)-1)
Nparams = 13

तो अंत में हमारे पास है:

BIC = -2*logLike + num_of_params*log(length(x))
BIC = 159.6319

मुझे एक समाधान मिला है, जहाँ num_of_params(सरल मार्कोव मॉडल के लिए) फॉर्मूला दिखता है:

Nparams = Num_of_states*(Num_of_States-1) - Nbzeros_in_transition_matrix

तो सही समाधान क्या है? क्या मुझे संक्रमण या उत्सर्जन मैट्रिक्स में कुछ शून्य संभावनाओं को ध्यान में रखना होगा?

==== अद्यतन 07.15.2011 ==== के बाद से

मुझे लगता है कि मैं डेटा आयाम के प्रभाव पर कुछ स्पष्टीकरण प्रदान कर सकता हूं ("गॉसियन मिश्रण वितरण" उदाहरण का उपयोग करके)

X एक n-by-d मैट्रिक्स है जहाँ (n-row प्रेक्षणों के अनुरूप हैं; d- कॉलम वेरिएबल्स (एनडिमेंशन्स) के अनुरूप हैं।

X=[3,17 3,43
   1,69 2,94
   3,92 5,04
   1,65 1,79
   1,59 3,92
   2,53 3,73
   2,26 3,60
   3,87 5,01
   3,71 4,83
   1,89 3,30 ];
[n d] = size(X); 
n = 10; d =2;

मॉडल में जीएमएम के लिए निम्न पैरामीटर होंगे:

nParam = (k_mixtures – 1) + (k_mixtures * NDimensions ) + k_mixtures * Ndimensions  %for daigonal covariance matrices
nParam = (k_mixtures – 1) + (k_mixtures * NDimensions ) + k_mixtures * NDimensions * (NDimensions+1)/2; %for full covariance matrices

यदि हम X को 1-आयामी डेटा के रूप में मानते हैं num_of_data = (n*d), तो हमारे पास है , इसलिए 2-आयामी डेटा के लिए हमारे पास है num_of_data = n

2-आयामी डेटा: nParam = 11; logLike = -11.8197; बीआईसी = 1.689

1-आयामी डेटा: nParam = 5; logLike = -24.8753; बीआईसी = -34.7720

एचएमएम के साथ मेरा बहुत कम व्यवहार है। क्या (5000, 6000 और अधिक मापदंडों) के साथ HMM होना सामान्य है?


क्या आपके पास BIC का उपयोग करने का औचित्य है? यह उचित धारणाओं के साथ नहीं तो भयानक रूप से गलत परिणाम दे सकता है।
सनकूलसु

@suncoolsu, औचित्य के बारे में आपका क्या मतलब है? मुझे बी-स्कोरिंग के आधार पर के-क्लस्टर्स (जीएमएम मॉडल) चयन पर कुछ उदाहरण मिले हैं। संभवतः मैंने विभिन्न इनपुट डेटा (आयाम) के साथ दो मॉडलों की तुलना करने के साथ गलत उदाहरण प्रदान किया है।
सर्गेई

1
मेरा मतलब केवल BIC का उपयोग करना था यदि धारणा, मॉडल मॉडल में सही मॉडल है , उचित है। हो सकता है कि यह आपके मामले में उचित हो। मैं आपसे सहमत हूं कि लोग AIC की तरह BIC का उपयोग करते हैं, लेकिन दोनों बहुत अलग चीजें हैं!
सनकूलू

नमस्ते, यह एक देर से टिप्पणी है और आशा है कि आप अभी भी सक्रिय हैं, लेकिन एक मॉडल में मापदंडों की संख्या प्राप्त करने का सबसे अच्छा तरीका क्या है?
मैसफेनिक्स

जवाबों:


7

सवाल यह है कि क्या संक्रमण मैट्रिक्स और / या उत्सर्जन मैट्रिक्स में आपके कुछ मापदंडों को शुरू करने के लिए तय किया गया है। आपकी गणनाएँ (मापदंडों की संख्या) सही लगती हैं। यदि आप किसी कारण से 2 राज्य मॉडल के बजाय एक 3 राज्य मॉडल चाहते हैं और यह तय करते हैं कि राज्य 1 से 3 और 3 से 1 तक संक्रमण की अनुमति नहीं है (तो 0 संभावना है) तो आपको इसे गणना में ध्यान में रखना होगा। मापदंडों की संख्या।


क्या मुझे डेटा आयाम को ध्यान में रखना होगा? क्या size(data)होगा अगर 2x100
सर्गेई

@ सेर्गेई, मैंने केवल अपने उत्तर में मापदंडों की संख्या की गणना को देखा। पूर्णता के लिए मुझे विचार करना चाहिए कि डेटा सेट के "आकार" की गणना कैसे करें, क्योंकि आप बीआईसी में रुचि रखते हैं। ईमानदार होने के लिए, मैंने केवल स्वतंत्र डेटा के लिए BIC की व्युत्पत्ति देखी है, लेकिन मेरा अनुमान है कि डेटा का सही "आकार" डेटा श्रृंखला की लंबाई है। मुझे यकीन नहीं है कि आपके आकार का 2x100 होने का क्या मतलब है। यदि आप उस पर टिप्पणी करना चाहते हैं, तो आपको अधिक सटीक विवरण देना होगा कि डेटा को 2 द्वारा 100 मैट्रिक्स के रूप में कैसे एन्कोड किया गया है।
NRH

उत्तर के लिए धन्यवाद, मुझे लगता है कि मैं बीआईसी पर डेटा आयाम के प्रभाव को समझता हूं, कृपया मेरे अपडेट को देखें
सर्गेई

क्या मुझे बाएँ-दाएँ (बाक़ी) HMM मॉडल (त्रिकोणीय संक्रमण मैट्रिक्स के साथ) में मापदंडों की संख्या घटानी है? क्या यह (5000, 6000 और अधिक मापदंडों) के साथ HMM होना सामान्य है?
सर्गेई

4

जब हम मॉडल चयन BIC में नि: शुल्क मापदंडों की संख्या की गणना कर रहे हैं, तो इसका मतलब है कि यह केवल ट्रांसस्टिशन और उत्सर्जन मैट्रिस में शून्य की संख्या है। उदाहरण के लिए, जब संक्रमण मैट्रिक्स में एक शून्य होता है-इसका मतलब यह है कि इसकी कोई संभावना नहीं है कि एक निश्चित स्थिति अगले (संक्रमण मैट्रिक्स द्वारा परिभाषित) के रूप में चलती है। यह है कि कैसे BIC एक HMM के लिए राज्यों के इष्टतम का चयन करता है। हालांकि, केवल इंटिअल, ट्रांज़िशन और एमिशन मेट्रिसेस के आकार का उपयोग करके मुफ्त मापदंडों की संख्या प्राप्त करना भ्रामक है

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