लगभग सभी विश्लेषण कार्यों में जो मैंने कभी किया है, उसका उपयोग करता हूं:
set.seed(42)
यह हिचहाइकर की गैलेक्सी के लिए एक श्रद्धांजलि है । लेकिन मैं सोच रहा हूं कि क्या मैं एक ही बीज का बार-बार उपयोग करके पूर्वाग्रह पैदा कर रहा हूं।
लगभग सभी विश्लेषण कार्यों में जो मैंने कभी किया है, उसका उपयोग करता हूं:
set.seed(42)
यह हिचहाइकर की गैलेक्सी के लिए एक श्रद्धांजलि है । लेकिन मैं सोच रहा हूं कि क्या मैं एक ही बीज का बार-बार उपयोग करके पूर्वाग्रह पैदा कर रहा हूं।
जवाबों:
RNG किसी भी अच्छे होने पर कोई पूर्वाग्रह नहीं है। हमेशा एक ही बीज का उपयोग करके, हालांकि, आप अपने कैरियर में प्रदर्शन करने वाले सभी सिमुलेशन के बीच एक मजबूत अंतरनिर्भरता का निर्माण करते हैं। यह एक असामान्य प्रकार का जोखिम पैदा करता है।
हर बार एक ही बीज का उपयोग करके, या तो आपको हमेशा एक अच्छा अच्छा छद्म आयामी अनुक्रम मिल रहा है और आपके सभी काम अच्छी तरह से या - बहुत कम लेकिन गैर-शून्य संभावना के साथ हो रहे हैं - आप हमेशा एक बहुत खराब अनुक्रम का उपयोग कर रहे हैं और आपके सिमुलेशन नहीं हैं अंतर्निहित वितरण के प्रतिनिधि के रूप में आपको लगता है कि वे हो सकते हैं। या तो आपके सभी काम बहुत अच्छे हैं या यह सब बहुत घटिया है!
हर बार सही मायने में यादृच्छिक शुरुआती बीजों का उपयोग करने के साथ इसका विरोध करें। एक बार बहुत लंबे समय में जब आप यादृच्छिक मूल्यों का एक क्रम प्राप्त कर सकते हैं जो उस वितरण का प्रतिनिधि नहीं है जो आप मॉडलिंग कर रहे हैं, लेकिन अधिकांश समय आप ठीक होंगे। यदि आपने अपने स्वयं के काम (एक नए बीज के साथ) को पुन: पेश करने का प्रयास नहीं किया है, तो आपके करियर में एक या दो बार आपको भ्रामक परिणाम मिल सकते हैं, लेकिन जब आप ठीक होंगे, तब तक का अधिकांश हिस्सा।
एक सरल और स्पष्ट इलाज है: हमेशा, हमेशा दूसरे बीज के साथ पुनः आरंभ करके अपने काम की जांच करें। यह लगभग असंभव है कि दो बीज गलती से उसी तरह भ्रामक परिणाम देंगे।
दूसरी ओर, एक प्रसिद्ध "व्यक्तिगत बीज" होने में असाधारण योग्यता है: यह दुनिया को दिखाता है कि आप ईमानदार हो रहे हैं। सिमुलेशन के साथ झूठ बोलने के लिए एक धूर्त, सूक्ष्म तरीका उन्हें दोहराना है जब तक कि वे आपको एक पूर्वनिर्धारित परिणाम नहीं देते हैं। यहां R
"प्रदर्शित" करने के लिए एक कार्यशील उदाहरण है कि यहां तक कि एक उचित सिक्का आधे से अधिक समय के लिए भूमि के प्रमुख होने की संभावना है:
n.flips <- 100
seeds <- 1:10^3
#
# Run some preliminary simulations.
#
results <- sapply(seeds, function(seed) {
set.seed(seed)
mean(runif(n.flips) > 1/2)
})
#
# Now do the "real" simulation.
#
seed <- seeds[which.max(results)]
set.seed(seed)
x <- mean(runif(n.flips) > 1/2)
z <- (x - 1/2) * 2 * sqrt(n)
cat("Mean:", x, "Z:", z, "p-value:", pnorm(z, lower.tail=FALSE), "\n")
निहितार्थ आकर्षक और महत्वपूर्ण हो सकते हैं। उदाहरण के लिए, अगर मुझे पहले से पता था कि मैं किस तरह से एक यादृच्छिक डबल-ब्लाइंड नियंत्रित परीक्षण में भर्ती होऊंगा, और किस क्रम में (जिसे मैं विश्वविद्यालय के प्रोफेसर के रूप में नियंत्रित कर सकता हूं, जो कैप्टिव अंडरग्रेजुएट या लैब चूहों के एक समूह का परीक्षण कर रहा है), तो इससे पहले कि मैं एक बीज को खोजने के लिए सिमुलेशन के ऐसे सेट को चला सकता था जो छात्रों को मेरी पसंद के लिए जो कुछ भी करने की उम्मीद कर रहा था, उसे "पसंद" साबित करने के लिए पसंद करता है। मैं योजना बनाई आदेश और मेरे प्रयोगात्मक योजना में है कि बीज शामिल हो सकते हैं से पहलेप्रयोग का संचालन करना, जिससे एक ऐसी प्रक्रिया का निर्माण किया जा सके कि कोई भी महत्वपूर्ण समीक्षक कभी भी महाभियोग न ला सके - लेकिन फिर भी मेरे पक्ष में डेक खड़ी करना। (मेरा मानना है कि छद्म विज्ञान की पूरी शाखाएं हैं जो विश्वसनीयता हासिल करने के लिए इस चाल के कुछ प्रकार का उपयोग करती हैं। क्या आप विश्वास करेंगे कि मैंने वास्तव में कंप्यूटर को नियंत्रित करने के लिए ईएसपी का इस्तेमाल किया था! मैं इसे आपके साथ थोड़ी दूरी पर भी कर सकता हूं!)
कोई व्यक्ति जिसका डिफ़ॉल्ट बीज ज्ञात है वह इस खेल को नहीं खेल सकता है।
मेरा व्यक्तिगत बीज 17 है , मेरे पदों के एक बड़े अनुपात के रूप में (वर्तमान में 161 पदों में से 155 जो इस एक बीज का उपयोग करते हैं)। इसके R
साथ काम करने के लिए एक कठिन बीज है, क्योंकि (जैसा कि यह पता चला है) सबसे छोटे डेटासेट जो मैं इसके साथ बनाता हूं, उनमें एक मजबूत रूपरेखा है। यह एक बुरा लक्षण नहीं है ...।
R
का व्यवहार विशुद्ध रूप से आकस्मिक है।
जैसा कि ऊपर कहा गया है, एक अच्छा आरएनजी एक ही बीज के उपयोग से पूर्वाग्रह उत्पन्न नहीं करेगा। हालांकि, परिणामों के बीच एक संबंध होगा। (एक ही छद्म यादृच्छिक संख्या प्रत्येक गणना शुरू करेगा।) क्या यह मामला गणित का विषय नहीं है।
एक ही बीज का उपयोग करना कई बार ठीक होता है: डिबगिंग के लिए या जब आप जानते हैं कि आप सहसंबंधित परिणाम चाहते हैं।