सांख्यिकीय सिमुलेशन की व्याख्या


10

मैं सांख्यिकीविद् नहीं हूं। इसलिए, यदि कोई हो, तो कृपया मेरे दोषों को सहन करें।

क्या आप सरल तरीके से समझाएंगे कि अनुकरण कैसे किया जाता है? मुझे पता है कि यह सामान्य वितरण से कुछ यादृच्छिक नमूना चुनता है और अनुकरण के लिए उपयोग करता है। लेकिन, स्पष्ट रूप से समझ में नहीं आता है।


11
अनुकरण क्या ?! :-)
चेर

वास्तव में नाइटपैकिंग, लेकिन कभी-कभी प्रश्न पूछने वाले को हतोत्साहित कर रहे हैं, और यह एक ऐसा मामला है।
अमित

1
@phaedrus क्या यह मेरी मंशा पर टिप्पणी है? यदि हां, तो क्या आप बता सकते हैं कि आपने उपरोक्त प्रश्न से क्या समझा?
चेर

जवाबों:


27

आंकड़ों में, सिमुलेशन का उपयोग किसी विधि के प्रदर्शन का आकलन करने के लिए किया जाता है, आमतौर पर जब सैद्धांतिक पृष्ठभूमि की कमी होती है। सिमुलेशन के साथ, सांख्यिकीविद सच्चाई को जानता और नियंत्रित करता है

सिमुलेशन का उपयोग कई स्थितियों में लाभप्रद रूप से किया जाता है। इसमें नमूना वितरण का अनुभवजन्य अनुमान प्रदान करना, सांख्यिकीय प्रक्रियाओं में मान्यताओं के गलत निर्धारण का अध्ययन करना, परिकल्पना परीक्षणों में शक्ति का निर्धारण करना आदि शामिल हैं।

सिमुलेशन अध्ययनों को बहुत कठोरता के साथ डिज़ाइन किया जाना चाहिए। बर्टन एट अल। (2006) ने अपने पेपर ' मेडिकल स्टडीज में सिमुलेशन स्टडीज का डिज़ाइन ' में एक बहुत अच्छा अवलोकन दिया । संदर्भों की एक विस्तृत विविधता में आयोजित सिमुलेशन अध्ययन मिल सकता है।

सरल उदाहरण उदाहरण रैखिक मॉडल पर विचार करें

y=μ+βx+ϵ

जहां एक द्विआधारी covariate (है x = 0 या एक्स = 1 ), और ε ~ एन ( 0 , σ 2 ) । आर में सिमुलेशन का उपयोग करते हुए, हम देखते हैं किxx=0x=1ϵN(0,σ2)

E(β^)=β.
> #------settings------
> n <- 100            #sample size                          
> mu <- 5             #this is unknown in practice                         
> beta <- 2.7         #this is unknown in practice
> sigma <- 0.15       #this is unknown in practice
> #--------------------
> 
> #------set the seed so that this example can be replicated------
> set.seed(937)
> #---------------------------------------------------------------
>
> #------generate 1000 data sets and store betaHat------
> betaHat <- numeric(1000)
> for(i in 1:1000)
+ {
+     #generate the binary covariate --> n Bernoulli trials
+   x <- sample(x=c(0, 1), size=n, replace=TRUE, prob=c(0.5, 0.5))
+     #generate the errors
+   epsilon <- rnorm(n=n, mean=0, sd=sigma)
+     #form the response variable      
+   y <- mu + beta * x + epsilon 
+     #the ith generated data set
+   data_i <- data.frame(y=y, x=x)
+     #fit the model
+   mod <- lm(y~x, data=data_i)
+     #store the estimate of beta
+   betaHat[i] <- as.numeric(coef(mod)[2])     
+ }    
> #-----------------------------------------------------
> 
> #------E(betaHat) = beta?------
> mean(betaHat)
[1] 2.698609
> #------------------------------

नोट : ऊपर संदर्भित पेपर के लिए संपादक को एक पत्र है


9

सबसे पहले, आँकड़ों में कई, कई अलग-अलग प्रकार के सिमुलेशन, और आसपास के क्षेत्रों में और भी बहुत कुछ है। बस "सिमुलेशन" कहना "मॉडल" के रूप में उपयोगी है - यह कहना है, बिल्कुल भी नहीं।

आपके बाकी सवालों के आधार पर, मेरा अनुमान है कि आप मोंटे कार्लो सिमुलेशन का मतलब लेंगे, लेकिन यहां तक ​​कि थोड़ा अस्पष्ट भी। मूल रूप से, क्या होता है आप बार-बार एक कृत्रिम आबादी पर कुछ सांख्यिकीय विश्लेषण करने के लिए एक वितरण (यह सामान्य होने की आवश्यकता नहीं है) से नमूने आकर्षित करते हैं, लेकिन ज्ञात, यादृच्छिक गुणों के साथ।

इस का उद्देश्य दो श्रेणियों में गिरता है:

क्या मेरी विधि X को संभाल सकती है? : अनिवार्य रूप से, आप कई यादृच्छिक आबादी की एक श्रृंखला को ज्ञात "सही" उत्तर के साथ जोड़ रहे हैं, यह देखने के लिए कि क्या आपकी नई तकनीक आपको सही उत्तर देती है। एक मूल उदाहरण के रूप में, आपको बताएंगे कि आपने क्या विकसित किया है जो आपको लगता है कि दो चर, X और Y के बीच संबंध को मापने का एक नया तरीका है। आप दो चर का अनुकरण करेंगे जहां Y का मान X के मान पर निर्भर है, साथ में कुछ यादृच्छिक शोर। उदाहरण के लिए, Y = 0.25x + शोर। फिर आप X के कुछ यादृच्छिक मूल्यों के साथ एक आबादी का निर्माण करेंगे, Y के कुछ मान जो कि 0.25x + एक यादृच्छिक संख्या थी, संभवतः कई हजारों बार, और फिर यह दर्शाते हैं कि, औसतन, आपकी नई तकनीक एक संख्या को बाहर निकालती है ठीक से पता चलता है कि Y = 0.25x है।

क्या होता है जब? मौजूदा अध्ययन के लिए सिमुलेशन को संवेदनशीलता विश्लेषण के रूप में किया जा सकता है। उदाहरण के लिए, मैंने कहा है कि मैंने एक कोहार्ट अध्ययन चलाया है, लेकिन मुझे पता है कि मेरा एक्सपोज़र माप बहुत अच्छा नहीं है। यह गलत तरीके से मेरे 30% विषयों को वर्गीकृत करता है, जब उन्हें नहीं होना चाहिए, और मेरे विषयों के 10% को अप्रकाशित के रूप में वर्गीकृत करता है जब ऐसा नहीं होना चाहिए। समस्या यह है कि मेरे पास बेहतर परीक्षा नहीं है, इसलिए मुझे नहीं पता कि कौन सा है।

मैं अपनी जनसंख्या लेता हूं, और प्रत्येक उजागर विषय को स्विच करने का 30% मौका देता हूं, और प्रत्येक अनएक्सपोज्ड विषय को उजागर करने के लिए स्विच करने का 10% मौका देता हूं। फिर मैं हजारों नई आबादी बनाऊंगा, जो यह निर्धारित करेगा कि कौन से विषय स्विच करते हैं, और मेरे विश्लेषण को फिर से चलाते हैं। उन परिणामों की श्रेणी मुझे इस बात का एक अच्छा अनुमान देगी कि अगर मैं सही ढंग से सभी को वर्गीकृत कर सकता था तो मेरा अध्ययन परिणाम कितना बदल सकता है।

बेशक, हमेशा की तरह, अधिक से अधिक जटिलता, बारीकियों और सिमुलेशन के लिए उपयोगिता, आप कितना खोदना चाहते हैं, इस पर निर्भर करता है।


1. तो क्या आप अपने जवाब में समझाया मोंटे कार्लो सिमुलेशन है? 2. क्या अन्य प्रकार के सिमुलेशन (मोंटे-कार्लो के अलावा) जो आंकड़ों में उपयोग किए जाते हैं?
vasili111

5

सिमुलेशन का उपयोग सैद्धांतिक स्थितियों के तहत वास्तविक प्रक्रियाओं को देखने के लिए भी किया जा सकता है, जहां उन प्रक्रियाओं में नॉनलाइनियर इनपुट होते हैं। उदाहरण के लिए, एक निर्माण फर्म में रुचि हो सकती है कि क्या एक अतिरिक्त उत्पादन लाइन को जोड़ना लागत प्रभावी है, कॉल सेंटर में ऑपरेटरों के लिए कॉल को रूट करने के तरीके में रुचि हो सकती है और कॉल करने वालों के लिए समय दर को कम करने के लिए एक आपातकालीन विभाग हो सकता है रोस्टर स्टाफ़ और रोगियों को स्थानांतरित करने के लिए सबसे अच्छे तरीके से रुचि रखें, या एक शिपिंग पोर्ट अपने कंटेनर संचालन को लेआउट करने के लिए सबसे कुशल तरीके से दिलचस्पी ले सकता है। इन प्रक्रियाओं को मॉडल करने के लिए असतत घटना सिमुलेशन का उपयोग किया जा सकता है, और कोई सवाल "टाइप करें" तो जवाब देने के लिए मापदंडों को समायोजित कर सकता है।

सिमुलेशन में रुचि का एक अन्य क्षेत्र जटिल प्रणाली है। विशेष रूप से सामाजिक विज्ञान में, एजेंट-आधारित सिमुलेशन एक दिलचस्प प्रकार का अनुकरण है जो अधिक समर्थकों को इकट्ठा करना शुरू कर रहा है। एजेंट आधारित सिमुलेशन में, एजेंटों (जैसे व्यक्तिगत लोगों) को व्यक्तित्व जैसे गुण दिए जाते हैं और एक दूसरे के साथ बातचीत करते हैं, इसलिए यह एक अराजकता प्रणाली को मॉडल करता है। एजेंट-आधारित सिमुलेशन आसपास के एजेंटों के एक दूसरे पर प्रभाव को देखता है, और प्रभाव-पर-ए-दूरी को शामिल किया जा सकता है। जबकि मैंने खुद कोई एजेंट-आधारित सिमुलेशन नहीं किया है, मैंने इसे समय के साथ एक प्रागैतिहासिक समुदाय में जनसंख्या आकार के भौगोलिक प्रसार जैसे मॉडल प्रणालियों के लिए उपयोग किया है।


क्या आप कुछ उदाहरण प्रदान कर सकते हैं?
vasili111

मुझे यकीन नहीं है कि आप कुछ उदाहरणों से क्या मतलब है। मैंने अपने पहले पैराग्राफ में कुछ उदाहरण दिए।
मिशेल

2

x1,,xn

x1,,xn

F^n(x)=1ni=1nIxix
nFFEF[h(X)]ψ(X1,,Xn)F^n
σ^n2(x1,,xn)=1n+1i=1n(xix¯)2
σ2=varF(X)n x1,,xnF^n
β=σ^n2(x1,,xn)σ^n2(x1,,xn)

3
मेरा मानना ​​है कि बूटस्ट्रैपिंग विधि के पीछे दो आवश्यक अवधारणाओं को अलग करना उपयोगी है। बूटस्ट्रैप को एक अनुमानकर्ता को दूसरे (उम्मीद से बेहतर) अनुमान लगाने वाले को संशोधित करने के तरीके के रूप में सोचा जाना चाहिए। यह सैद्धांतिक रूप से, ठीक, और (कभी-कभी) बंद रूप में गणना की जा सकती है। सिमुलेशन बूटस्ट्रैप का एक अंतर्निहित हिस्सा नहीं है ! हालांकि, कई मामलों में अनुकरण के लिए एक प्राकृतिक और आसान तरीका है अनुमानित बूटस्ट्रैप आकलनकर्ता। हॉल, द बूटस्ट्रैप और एजगवर्थ विस्तार
whuber

1
E[β | sample]=[2/(n+1)]σ^n2(x1,,xn).
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.