यह समाधान प्रश्न में एक टिप्पणी में @Innuo द्वारा किए गए सुझाव को लागू करता है:
आप इस प्रकार अब तक देखे गए सभी डेटा से 100 या 1000 के आकार का एक समान नमूना रैंडम सबसेट बनाए रख सकते हैं। यह सेट और संबंधित "बाड़" को समय में अपडेट किया जा सकता है ।ओ ( 1 )
एक बार जब हम जानते हैं कि इस सबसेट को कैसे बनाए रखा जाए, तो हम ऐसे नमूने से आबादी के मतलब का अनुमान लगाने के लिए कोई भी तरीका चुन सकते हैं । यह एक सार्वभौमिक विधि है, जो कोई धारणा नहीं बनाता है, जो किसी भी इनपुट स्ट्रीम के साथ सटीकता के भीतर काम करेगा, जिसे मानक सांख्यिकीय नमूनाकरण सूत्रों का उपयोग करके भविष्यवाणी की जा सकती है। (सटीकता नमूना आकार के वर्गमूल के व्युत्क्रमानुपाती है।)
यह एल्गोरिथ्म डेटा एक नमूना आकार एक धारा के रूप में स्वीकार करता है , और नमूने की एक धारा को आउटपुट करता है जिसमें से प्रत्येक जनसंख्या का प्रतिनिधित्व करता है । विशेष रूप से, , (प्रतिस्थापन के बिना से आकार का एक सरल यादृच्छिक नमूना है ।x ( t ) , t = 1 , 2 , … ,मएस ( टी )एक्स( t ) = ( x ( 1 ) , x ( 2 ) , … , x ( t ) )1 ≤ i ≤ ts ( i )मएक्स( टी )
ऐसा होने के लिए, यह माना जाता है कि प्रत्येक -mentment सबटेट के में में के अनुक्रमित होने की समान संभावना है । इसका मतलब यह है कि का तात्पर्य है प्रदान की गई बराबर है ।म{ 1 , 2 , ... , टी }एक्सएस ( टी )x ( i ) , 1 ≤ मैं < टी ,एस ( टी )एम / टीt ≥ म
शुरुआत में हम केवल स्ट्रीम इकट्ठा करते हैं जब तक कि तत्वों को संग्रहीत नहीं किया जाता है। उस बिंदु पर केवल एक संभव नमूना है, इसलिए संभावना की स्थिति तुच्छ रूप से संतुष्ट है।म
एल्गोरिथ्म तब लेता है जब । अनिच्छा से मान लें कि लिए का एक सरल यादृच्छिक नमूना है । अनंतिम रूप से सेट । चलो एक समान यादृच्छिक चर (किसी भी पिछले निर्माण के लिए इस्तेमाल किया चर के स्वतंत्र होने )। यदि तो द्वारा यादृच्छिक रूप से चुने गए तत्व को बदलें । वह पूरी प्रक्रिया है!टी = एम + १एस ( टी )एक्स( टी )t > मs(t+1)=s(t)U(t+1)s(t)U(t+1)≤m/(t+1)sx(t+1)
स्पष्ट रूप से में होने की प्रायिकता । इसके अलावा, इंडक्शन परिकल्पना के अनुसार, में होने की प्रायिकता थी जब । प्रायिकता = इसे से हटा दिया जाएगा , शेष समता की इसकी संभावना को बताएगाx(t+1)m/(t+1)s(t+1)x(i)m/ts(t)i≤tm/(t+1)×1/m1/(t+1)s(t+1)
mt(1−1t+1)=mt+1,
बिल्कुल जरूरत के रूप में। प्रेरण द्वारा, तब, में की सभी समावेशी संभावनाएं सही हैं और यह स्पष्ट है कि उन समावेशन के बीच कोई विशेष संबंध नहीं है। यह साबित करता है कि एल्गोरिथ्म सही है।x(i)s(t)
एल्गोरिथ्म दक्षता है क्योंकि प्रत्येक चरण के अधिक से अधिक दो यादृच्छिक संख्या की गणना में और की एक सरणी के सबसे एक तत्व पर मूल्यों बदल दिया है। भंडारण की आवश्यकता ।O(1)mO(m)
इस एल्गोरिथ्म के लिए डेटा संरचना नमूना के होते हैं सूचकांक के साथ एक साथ जनसंख्या का है कि यह नमूने हैं। प्रारंभ में हम लेते हैं और लिए एल्गोरिथ्म के साथ आगे बढ़ते हैं यहाँ एक है अद्यतन करने के लिए कार्यान्वयन के साथ एक मूल्य के उत्पादन । (तर्क की भूमिका निभाता है और है । सूचकांक कॉल करने वाले को बनाए रखा जाएगा।)stX(t)s=X(m)t=m+1,m+2,….R
(s,t)x(s,t+1)n
tsample.size
mt
update <- function(s, x, n, sample.size) {
if (length(s) < sample.size) {
s <- c(s, x)
} else if (runif(1) <= sample.size / n) {
i <- sample.int(length(s), 1)
s[i] <- x
}
return (s)
}
इसे समझने और परखने के लिए, मैं माध्य के सामान्य (गैर-मजबूत) अनुमानक का उपयोग करूंगा और से अनुमानित माध्य की तुलना के वास्तविक माध्य (प्रत्येक चरण में देखा गया डेटा का संचयी सेट से करूँगा। )। मैंने कुछ कठिन इनपुट स्ट्रीम को चुना जो काफी सुचारू रूप से बदलता है लेकिन समय-समय पर नाटकीय छलांग लगाता है। का नमूना आकार काफी छोटा है, जिससे हमें इन भूखंडों में नमूना उतार-चढ़ाव देखने की अनुमति मिलती है।s(t)X(t)m=50
n <- 10^3
x <- sapply(1:(7*n), function(t) cos(pi*t/n) + 2*floor((1+t)/n))
n.sample <- 50
s <- x[1:(n.sample-1)]
online <- sapply(n.sample:length(x), function(i) {
s <<- update(s, x[i], i, n.sample)
summary(s)})
actual <- sapply(n.sample:length(x), function(i) summary(x[1:i]))
इस बिंदु पर मानों के online
इस चल रहे नमूने को बनाए रखते हुए उत्पन्न अनुमानों का अनुक्रम है, जबकि प्रत्येक क्षण में उपलब्ध सभी डेटा से उत्पन्न औसत अनुमानों का अनुक्रम है । साजिश डेटा (ग्रे में), (काले रंग में), और इस नमूने प्रक्रिया के दो स्वतंत्र अनुप्रयोगों (रंगों में) को दिखाती है । समझौता अपेक्षित नमूना त्रुटि के भीतर है:50actual
actual
plot(x, pch=".", col="Gray")
lines(1:dim(actual)[2], actual["Mean", ])
lines(1:dim(online)[2], online["Mean", ], col="Red")
माध्य के मजबूत आकलनकर्ताओं के लिए, कृपया हमारी साइट खोजें ग़ैरऔर संबंधित शर्तें। विचार के लायक संभावनाओं के बीच Winsorized साधन और एम-आकलनकर्ता हैं।