आप अपने डेटा को बाइवेरेट मार्कोव चेन के संदर्भ में सोच सकते हैं। आपके पास दो भिन्न चर हैंएक्स महिलाओं के लिए और Y पुरुषों के लिए, जो परिवर्तनों की स्टोकेस्टिक प्रक्रिया का वर्णन करते हैं एक्स तथा Y समय पर टीचार अलग-अलग राज्यों में से एक। द्वारा निरूपित करते हैंएक्सटी - 1 , आई→एक्सटी , जे के लिए संक्रमण एक्स से टी - 1 सेवा टी समय, से मैं-से से जे—सथ अवस्था। इस स्थिति में, किसी अन्य राज्य में समय में संक्रमण पूर्व स्थिति में सशर्त हैएक्स और मेंY:
पीआर (एक्सटी - 1 , आई→एक्सटी , जे) = पीआर (एक्सटी , जे|एक्सटी - 1 , आई,Yटी - 1 , के)पीआर (Yटी - 1 , एच→Yटी , के) = पीआर (Yटी , एच|Yटी - 1 , के,एक्सटी - 1 , आई)
संक्रमण संभावनाओं की गणना करके और बाद में संभावनाओं को सामान्य करके संक्रमण संभावनाओं की गणना आसानी से की जा सकती है:
states <- c("absent", "present", "attack", "threat")
# data is stored in 3-dimensional array, initialized with
# a very small "default" non-zero count to avoid zeros.
female_counts <- male_counts <- array(1e-16, c(4,4,4), list(states, states, states))
n <- length(male_seq)
for (i in 1:n) {
male_counts[female_seq[i-1], male_seq[i-1], male_seq[i]] <- male_counts[female_seq[i-1], male_seq[i-1], male_seq[i]] + 1
female_counts[male_seq[i-1], female_seq[i-1], female_seq[i]] <- female_counts[male_seq[i-1], female_seq[i-1], female_seq[i]] + 1
}
male_counts/sum(male_counts)
female_counts/sum(female_counts)
सीमांत संभावनाओं का उपयोग करके इसे आसानी से अनुकरण किया जा सकता है:
male_sim <- female_sim <- "absent"
for (i in 2:nsim) {
male_sim[i] <- sample(states, 1, prob = male_counts[female_sim[i-1], male_sim[i-1], ])
female_sim[i] <- sample(states, 1, prob = female_counts[male_sim[i-1], female_sim[i-1], ])
}
ऐसे सिमुलेशन का परिणाम नीचे दिया गया है।
इसके अलावा, इसका उपयोग एक-कदम-आगे की भविष्यवाणी करने के लिए किया जा सकता है:
male_pred <- female_pred <- NULL
for (i in 2:n) {
curr_m <- male_counts[female_seq[i-1], male_seq[i-1], ]
curr_f <- female_counts[male_seq[i-1], female_seq[i-1], ]
male_pred[i] <- sample(names(curr_m)[curr_m == max(curr_m)], 1)
female_pred[i] <- sample(names(curr_f)[curr_f == max(curr_f)], 1)
}
आपके द्वारा प्रदत्त डेटा पर 69-86% सटीकता के साथ:
> mean(male_seq == male_pred, na.rm = TRUE)
[1] 0.8611111
> mean(female_seq == female_pred, na.rm = TRUE)
[1] 0.6944444
यदि संक्रमण बेतरतीब ढंग से हुआ, तो संक्रमण संभावनाएं असतत समान वितरण का पालन करेंगी। यह एक प्रमाण नहीं है , लेकिन एक साधारण मॉडल का उपयोग करके अपने डेटा के बारे में सोचने के तरीके के रूप में काम कर सकता है।