คำอธิบายของการจำลองทางสถิติ


10

ฉันไม่ใช่นักสถิติ ดังนั้นโปรดอดทนกับความผิดพลาดของฉันถ้ามี

คุณช่วยอธิบายด้วยวิธีง่ายๆได้ไหม ฉันรู้ว่ามันเลือกตัวอย่างสุ่มจากการแจกแจงแบบปกติและใช้สำหรับการจำลอง แต่ไม่เข้าใจอย่างชัดเจน


11
จำลองอะไร! :-)
chl

nitpicking แน่นอน แต่บางครั้งคำถามทำให้ผู้ถามหมดกำลังใจและนี่เป็นกรณีเช่นนั้น
amit

1
@phaedrus นี่คือความคิดเห็นต่อความตั้งใจของฉันหรือไม่ ถ้าเป็นเช่นนั้นคุณช่วยอธิบายสิ่งที่คุณเข้าใจจากคำถามข้างต้นได้ไหม
chl

คำถาม CV นี้ก็อาจจะเป็นที่น่าสนใจ: การใช้แบบจำลองคอมพิวเตอร์เพื่อให้เข้าใจแนวคิดทางสถิติที่ระดับบัณฑิตศึกษา
gung - Reinstate Monica

คำตอบ:


27

ในสถิติใช้การจำลองเพื่อประเมินประสิทธิภาพของวิธีการโดยทั่วไปเมื่อไม่มีพื้นฐานทางทฤษฎี ด้วยการจำลองสถิติรู้และการควบคุมความจริง

การจำลองใช้ประโยชน์อย่างมากในหลายสถานการณ์ ซึ่งรวมถึงการประเมินเชิงประจักษ์ของการแจกแจงตัวอย่างการศึกษาการสะกดผิดของสมมติฐานในกระบวนการทางสถิติการกำหนดอำนาจในการทดสอบสมมติฐาน ฯลฯ

การศึกษาสถานการณ์จำลองควรได้รับการออกแบบอย่างเข้มงวด เบอร์ตันและคณะ (2006) ให้ภาพรวมที่ดีมากในรายงานของพวกเขา ' การออกแบบการศึกษาเชิงจำลองในสถิติทางการแพทย์ ' การศึกษาแบบจำลองที่ดำเนินการในสถานการณ์ที่หลากหลายอาจพบได้ในเอกสารอ้างอิง

ตัวอย่างแบบง่าย พิจารณาแบบจำลองเชิงเส้น

Y=μ+β* * * *x+ε

ที่เป็นตัวแปรร่วมไบนารี ( x = 0หรือx = 1 ) และε ~ N ( 0 , σ 2 ) การใช้แบบจำลองใน R ให้เราตรวจสอบดูxx=0x=1ε~ยังไม่มีข้อความ(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. ดังนั้นสิ่งที่คุณอธิบายในคำตอบของคุณคือการจำลอง Monte-Carlo? 2. มีแบบจำลองอื่น ๆ (นอกเหนือจาก Monte-Carlo) ที่ใช้ในสถิติหรือไม่?
vasili111

5

การจำลองยังสามารถใช้เพื่อดูกระบวนการจริงภายใต้เงื่อนไขทางทฤษฎีที่กระบวนการเหล่านั้นมีอินพุตไม่เชิงเส้น ตัวอย่างเช่น บริษัท ผู้ผลิตอาจสนใจว่าการเพิ่มสายการผลิตพิเศษนั้นคุ้มค่าหรือไม่ศูนย์บริการอาจสนใจวิธีกำหนดเส้นทางการโทรไปยังผู้ปฏิบัติงานเพื่อลดอัตราเวลาเข้าคิวและการหยุดชะงักสำหรับผู้โทรแผนกฉุกเฉินอาจ มีความสนใจในวิธีที่ดีที่สุดในการบัญชีรายชื่อพนักงานและการถ่ายโอนผู้ป่วยหรือพอร์ตการจัดส่งสินค้าอาจมีความสนใจในวิธีที่มีประสิทธิภาพที่สุดในการจัดวางการดำเนินงานคอนเทนเนอร์ การจำลองเหตุการณ์แบบไม่ต่อเนื่องสามารถใช้เพื่อทำแบบจำลองกระบวนการเหล่านี้และสามารถปรับพารามิเตอร์เพื่อตอบคำถามประเภท "what if"

พื้นที่ที่น่าสนใจในการจำลองคือระบบที่ซับซ้อน โดยเฉพาะอย่างยิ่งในสังคมศาสตร์การจำลองโดยใช้ตัวแทนเป็นแบบจำลองที่น่าสนใจซึ่งเริ่มรวบรวมผู้สนับสนุนมากขึ้น ในการจำลองโดยใช้เอเจนต์ตัวแทน (เช่นบุคคลธรรมดา) จะได้รับคุณลักษณะเช่นบุคลิกภาพและมีปฏิสัมพันธ์ซึ่งกันและกันดังนั้นจึงเป็นแบบจำลองระบบที่วุ่นวาย การจำลองแบบเอเจนต์จะพิจารณาถึงผลกระทบของเอเจนต์โดยรอบซึ่งกันและกันและสามารถรวมเอฟเฟกต์ระยะทางได้ ในขณะที่ฉันยังไม่ได้ทำการจำลองโดยใช้ตัวแทน แต่ฉันได้เห็นว่ามันเคยใช้กับระบบจำลองเช่นการแพร่กระจายทางภูมิศาสตร์ของขนาดประชากรในชุมชนยุคก่อนประวัติศาสตร์เมื่อเวลาผ่านไป


คุณช่วยยกตัวอย่างได้ไหม
vasili111

ฉันไม่แน่ใจว่าตัวอย่างของคุณหมายถึงอะไร ฉันยกตัวอย่างบางส่วนในย่อหน้าแรก
มิเชล

2

x1,...,xn

x1,...,xn

F^n(x)=1nΣผม=1nผมxผมx
nFFEF[ชั่วโมง(X)]ψ(X1,...,Xn)F^n
σ^n2(x1,...,xn)=1n+1Σผม=1n(xผม-x¯)2
σ2=varF(X)n x1* * * *,...,xn* * * *F^n
β=σ^n2(x1* * * *,...,xn* * * *)-σ^n2(x1,...,xn)

3
ฉันเชื่อว่ามันมีประโยชน์ที่จะแยกแนวคิดที่สำคัญสองอย่างออกจากกันหลังจากวิธีการบูตสแตรป bootstrap ตัวเองควรจะคิดว่าเป็นวิธีการแก้ไขตัวประมาณเพื่อสร้างตัวประมาณตัวอื่น (หวังว่าดีกว่า) มันสามารถคำนวณได้ในเชิงทฤษฎีตรงและ (บางครั้ง) ในรูปแบบปิด การจำลองไม่ได้เป็นส่วนหนึ่งของ bootstrap! อย่างไรก็ตามในหลายกรณีการจำลองเป็นวิธีที่ง่ายและเป็นธรรมชาติในการประมาณค่าตัวบู๊ตสแตรป ดูบทนำและบทที่ 1 ใน Hall, The Bootstrap และ Edgeworth Expansion
whuber

1
E[β | ตัวอย่าง]=-[2/(n+1)]σ^n2(x1,...,xn).
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.