मैं एचएमएम मॉडल चयन के लिए बीआईसी का उपयोग करना चाहता हूं:
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 होना सामान्य है?