Penjelasan simulasi statistik

10

Saya bukan ahli statistik. Jadi, tolong tahan dengan kesalahan saya jika ada.

Bisakah Anda jelaskan secara sederhana bagaimana simulasi dilakukan? Saya tahu bahwa itu mengambil beberapa sampel acak dari distribusi normal dan digunakan untuk simulasi. Tapi, jangan mengerti dengan jelas.

Ingin tahu
sumber
11
Mensimulasikan apa ?! :-)
chl
Benar-benar mengolok-olok, tetapi kadang-kadang pertanyaan mengecilkan hati si penanya, dan ini adalah salah satu kasusnya.
amit
1
@ phaedrus Apakah ini komentar atas kehendak saya? Jika demikian, dapatkah Anda menjelaskan apa yang Anda pahami dari pertanyaan di atas?
chl
Pertanyaan CV ini mungkin juga menarik: Menggunakan simulasi komputer untuk lebih memahami konsep statistik di tingkat pascasarjana .
gung - Reinstate Monica

Jawaban:

27

Dalam statistik, simulasi digunakan untuk menilai kinerja suatu metode, biasanya ketika ada kekurangan latar belakang teoritis. Dengan simulasi, ahli statistik mengetahui dan mengendalikan kebenaran .

Simulasi digunakan secara menguntungkan dalam sejumlah situasi. Ini termasuk memberikan estimasi empiris dari distribusi sampling, mempelajari kesalahan spesifikasi asumsi dalam prosedur statistik, menentukan kekuatan dalam tes hipotesis, dll.

Studi simulasi harus dirancang dengan banyak ketelitian. Burton et al. (2006) memberikan gambaran yang sangat bagus dalam makalah mereka ' Desain studi simulasi dalam statistik medis '. Studi simulasi yang dilakukan dalam berbagai situasi dapat ditemukan dalam referensi.

Contoh ilustrasi sederhana Pertimbangkan model linier

y=μ+βx+ϵ

di mana adalah kovariat biner ( x = 0 atau x = 1 ), dan ϵ N ( 0 , σ 2 ) . Menggunakan simulasi dalam R, mari kita periksa ituxx=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
> #------------------------------

Catatan : Ada surat kepada editor untuk makalah yang dirujuk di atas.

okram
sumber
9

Pertama-tama, ada banyak, berbagai jenis simulasi dalam statistik, dan bahkan lebih banyak lagi di bidang sekitarnya. Hanya mengatakan "Simulasi" sama bermanfaatnya dengan mengatakan "Model" - artinya, tidak banyak sama sekali.

Berdasarkan sisa pertanyaan Anda, saya akan menebak maksud Anda simulasi Monte Carlo, tetapi bahkan itu sedikit kabur. Pada dasarnya, apa yang terjadi adalah Anda berulang kali mengambil contoh dari sebuah distribusi (tidak perlu normal) untuk melakukan beberapa analisis statistik pada populasi buatan dengan diketahui, tapi acak, sifat.

Tujuan dari ini cenderung terbagi dalam dua kategori:

Bisakah Metode Saya Menangani X? : Pada dasarnya, Anda mensimulasikan serangkaian populasi acak dengan jawaban "benar" yang diketahui untuk melihat apakah teknik baru Anda memberi Anda jawaban yang benar. Sebagai contoh dasar, katakanlah Anda telah mengembangkan apa yang Anda pikir merupakan cara baru untuk mengukur korelasi antara dua variabel, X dan Y. Anda akan mensimulasikan dua variabel di mana nilai Y tergantung pada nilai X, bersama dengan beberapa suara acak. Misalnya, Y = 0,25x + noise. Anda kemudian akan membuat populasi dengan beberapa nilai acak X, beberapa nilai Y yang 0,25x + angka acak, kemungkinan ribuan kali, dan kemudian menunjukkan bahwa, rata-rata, teknik baru Anda memuntahkan angka yang benar menunjukkan bahwa Y = 0,25x.

Apa Yang Terjadi Jika? Simulasi dapat dilakukan sebagai analisis sensitivitas untuk studi yang ada. Katakanlah misalnya saya sudah menjalankan studi kohort, tapi saya tahu pengukuran eksposur saya tidak terlalu baik. Itu secara tidak benar mengklasifikasikan 30% dari subjek saya yang terpapar ketika seharusnya tidak, dan mengklasifikasikan 10% dari subyek saya sebagai tidak terpapar ketika seharusnya tidak. Masalahnya adalah, saya tidak memiliki tes yang lebih baik, jadi saya tidak tahu yang mana.

Saya akan mengambil populasi saya, dan memberi setiap subjek 30% peluang untuk beralih ke yang tidak terpapar, dan setiap subjek yang tidak terpapar peluang 10% untuk beralih ke yang terpapar. Saya kemudian akan membuat ribuan populasi baru, secara acak menentukan subyek yang beralih, dan menjalankan kembali analisis saya. Kisaran hasil-hasil itu akan memberi saya perkiraan yang baik tentang seberapa banyak hasil studi saya dapat berubah jika saya bisa mengklasifikasikan semua orang dengan benar.

Tentu saja, seperti biasa, kompleksitas yang lebih besar, nuansa dan kegunaan untuk simulasi, tergantung pada seberapa banyak Anda ingin menggali.

Fomite
sumber
1. Jadi apa yang Anda jelaskan dalam jawaban Anda adalah simulasi Monte-Carlo? 2. Apakah ada jenis simulasi lain (selain Monte-Carlo) yang digunakan dalam statistik?
vasili111
5

Simulasi juga dapat digunakan untuk melihat proses nyata dalam kondisi teoritis, di mana proses tersebut memiliki input nonlinier. Sebagai contoh, sebuah perusahaan manufaktur mungkin tertarik pada apakah menambahkan jalur produksi tambahan efektif biaya, pusat panggilan mungkin tertarik dengan cara merutekan panggilan di sekitar operator untuk mengurangi waktu-dalam-antrian dan tarif balk untuk penelepon, departemen darurat mungkin tertarik pada cara terbaik untuk membuat daftar staf dan memindahkan pasien, atau pelabuhan pengiriman mungkin tertarik dengan cara yang paling efisien untuk mengatur operasi wadahnya. Simulasi kejadian diskrit dapat digunakan untuk memodelkan proses ini, dan seseorang dapat menyesuaikan parameter untuk menjawab pertanyaan tipe "bagaimana jika".

Bidang lain yang menarik dalam simulasi adalah sistem yang kompleks. Khususnya dalam ilmu sosial, simulasi berbasis agen adalah jenis simulasi yang menarik yang mulai mengumpulkan lebih banyak pendukung. Dalam simulasi berbasis agen, agen (misalnya orang individu) diberi atribut seperti kepribadian dan berinteraksi satu sama lain, sehingga memodelkan sistem kacau. Simulasi berbasis agen melihat efek agen di sekitarnya satu sama lain, dan efek pada jarak dapat dimasukkan. Sementara saya belum melakukan simulasi berbasis agen sendiri, saya telah melihatnya digunakan untuk memodelkan sistem seperti penyebaran geografis ukuran populasi dalam komunitas prasejarah seiring waktu.

Michelle
sumber
Bisakah Anda memberikan beberapa contoh?
vasili111
Saya tidak yakin apa yang Anda maksudkan dengan beberapa contoh. Saya memberikan beberapa contoh di paragraf pertama saya.
Michelle
2

x1,...,xn

x1,...,xn

F^n(x)=1nsaya=1nsayaxsayax
nFFEF[h(X)]ψ(X1,...,Xn)F^n
σ^n2(x1,...,xn)=1n+1saya=1n(xsaya-x¯)2
σ2=varF(X)n x1,...,xnF^n
β=σ^n2(x1,...,xn)-σ^n2(x1,...,xn)
Xi'an
sumber
3
Saya percaya akan berguna untuk memisahkan dua konsep penting di balik metode bootstrap. Bootstrap itu sendiri harus dianggap sebagai cara memodifikasi estimator untuk menghasilkan estimator lain (semoga lebih baik). Ini dapat dihitung secara teoritis, tepat, dan (kadang-kadang) dalam bentuk tertutup. Simulasi bukan merupakan bagian yang tidak terpisahkan dari bootstrap! Namun, dalam banyak kasus, simulasi adalah cara alami dan mudah untuk memperkirakan penduga bootstrap. Lihat pengantar dan bab 1 di Hall, The Bootstrap dan Edgeworth Expansion.
Whuber
1
E[β | Sampel]=-[2/(n+1)]σ^n2(x1,...,xn).