समस्या के मार्कोव श्रृंखला प्रतिनिधित्व का उपयोग करके किसी विशेष परिणाम की सटीक संभावना प्राप्त करना संभव है। श्रृंखला का निर्माण करने की बारीकियों में ब्याज की विशेषता पर निर्भर करता है, लेकिन मैं इसे कैसे करना है, इसके कुछ उदाहरण दूंगा।
मार्कोव श्रृंखला के माध्यम से सटीक संभावना: के परिणामों के एक असतत अनुक्रम पर विचार करें जहां अनुक्रम में परिणाम विनिमेय हैं, और मान लें कि हम लंबाई कुछ विकल्प में रुचि रखते हैं । के किसी भी मूल्य के लिए , चलो घटना है कि ब्याज की सबस्ट्रिंग होता हो, और घटना है कि पिछले होना परिणामों पहले कर रहे हैं की सबस्ट्रिंग में पात्रों ब्याज (लेकिन इससे अधिक नहीं)। हम इन घटनाओं का उपयोग ब्याज के संभावित राज्यों के निम्नलिखित विभाजन को देने के लिए करते हैं:A,T,C,GknWHaaa<kk+1
State 0State 1State 2State 3⋮State k−1State kW¯∩H0, W¯∩H1, W¯∩H2, W¯∩H3, ⋮W¯∩Hk−1,W.
चूंकि परिणामों के अनुक्रम को विनिमेय माना जाता है, इसलिए हमारे पास उनकी संभावित संभावनाओं पर स्वतंत्र परिणाम सशर्त होते हैं । ब्याज की आपकी प्रक्रिया को असतत समय मार्कोव श्रृंखलाओं के रूप में दर्शाया जा सकता है जो कि पर में शुरू होता है और एक संभावना मैट्रिक्स के अनुसार संक्रमण होता है जो ब्याज के विशेष विकल्प पर निर्भर करता है। संक्रमण मैट्रिक्स हमेशा एकθA+θT+θC+θG=1State 0n=0(k+1)×(k+1)मैट्रिक्स उपरोक्त राज्यों का उपयोग करके संक्रमण की संभावनाओं का प्रतिनिधित्व करता है। यदि ब्याज की प्रतिस्थापन नहीं हुई है, तो प्रत्येक संक्रमण या तो आपको प्रतिस्थापन के करीब एक कदम ला सकता है या यह आपको पिछली स्थिति में वापस सेट कर सकता है जो विशेष प्रतिस्थापन पर निर्भर करता है। एक बार जब सबस्टेशन पहुंच जाता है, तो यह श्रृंखला का एक अवशोषित अवस्था है, इस तथ्य का प्रतिनिधित्व करता है कि ब्याज की घटना हुई है।
उदाहरण के लिए, यदि ब्याज का विकल्प तो संक्रमण मैट्रिक्स है:AAAAAA
P=⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢1−θA1−θA1−θA1−θA1−θA1−θA0θA0000000θA0000000θA0000000θA0000000θA0000000θA1.⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥
इसके विपरीत, यदि ब्याज का विकल्प तो संक्रमण मैट्रिक्स है:ACTAGC
P=⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢1−θA1−θA−θC1−θA−θT1−θA1−θA−θC−θG1−θA−θC0θAθAθA0θAθA00θC00θC0000θT0000000θA0000000θG000000θC1.⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥
जैसा कि ऊपर देखा जा सकता है, संक्रमण मैट्रिक्स के निर्माण के लिए विशेष प्रतिस्थापन पर ध्यान देने की आवश्यकता होती है। एक गलत परिणाम आपको पिछली स्थिति में वापस स्ट्रिंग में सेट करता है जो ब्याज के विशेष विकल्प पर निर्भर करता है। एक बार ट्रांस्फ़ॉर्म मैट्रिक्स के निर्माण के बाद, के दिए गए मान के लिए श्रृंखला में सबस्ट्रिंग होने की संभावना । (यह संभावना सभी लिए शून्य है ।)nP(W|n)={Pn}0,kn<k
आर में यह प्रोग्रामिंग: आप इसे एक फ़ंक्शन के रूप में प्रोग्राम कर सकते हैं R
जो मार्कोव चेन के लिए संक्रमण मैट्रिक्स और कुछ वांछित परीक्षणों तक अपनी शक्तियों का एक सरणी उत्पन्न करता है। तब आप ब्याज के के मूल्य के लिए उपयुक्त संक्रमण संभावना पढ़ सकते हैं । ऐसा करने के लिए यहां कुछ कोड का एक उदाहरण दिया गया है:n
#Create function to give n-step transition matrix for n = 1...N
#We will use the example of the substring of interest "AAAAAA"
#a is the probability of A
#t is the probability of T
#c is the probability of C
#g is the probability of G
#N is the last value of n
PROB <- function(N,a,t,c,g) { TOT <- a+t+c+g;
a <- a/TOT;
t <- t/TOT;
c <- c/TOT;
g <- g/TOT;
P <- matrix(c(1-a, a, 0, 0, 0, 0, 0,
1-a, 0, a, 0, 0, 0, 0,
1-a, 0, 0, a, 0, 0, 0,
1-a, 0, 0, 0, a, 0, 0,
1-a, 0, 0, 0, 0, a, 0,
1-a, 0, 0, 0, 0, 0, a,
0, 0, 0, 0, 0, 0, 1),
nrow = 7, ncol = 7,
byrow = TRUE);
PPP <- array(0, dim = c(7,7,N));
PPP[,,1] <- P;
for (n in 2:N) { PPP[,,n] <- PPP[,,n-1] %*% P; }
PPP }
#Calculate probability for N = 100 for equiprobable outcomes
N <- 100;
a <- 1/4;
t <- 1/4;
c <- 1/4;
g <- 1/4;
PROB(N,a,t,c,g)[1,7,N];
[1] 0.01732435
जैसा कि आप इस गणना से देख सकते हैं, को में बदलने योग्य परिणामों के साथ घटिया होने की संभावना । किसी विशेष सबस्ट्रिंग और दिए गए परीक्षणों की संख्या का उपयोग करने के लिए यह सिर्फ एक उदाहरण है, लेकिन ब्याज के अन्य पदार्थों के संबंध में संभावनाएं प्राप्त करने के लिए यह भिन्न हो सकता है।AAAAAAn=1000.01732435