Saya mencoba memahami perbedaan antara metode resampling yang berbeda (simulasi Monte Carlo, bootstrap parametrik, bootstrap non-parametrik, jackknifing, validasi silang, tes pengacakan, dan tes permutasi) dan implementasinya dalam konteks saya sendiri menggunakan R.
Katakanlah saya memiliki situasi berikut - Saya ingin melakukan ANOVA dengan variabel Y ( Yvar
) dan variabel X ( Xvar
). Xvar
bersifat kategoris. Saya tertarik pada hal-hal berikut:
(1) Signifikansi nilai-p - tingkat penemuan palsu
(2) efek ukuran Xvar
level
Yvar <- c(8,9,10,13,12, 14,18,12,8,9, 1,3,2,3,4)
Xvar <- c(rep("A", 5), rep("B", 5), rep("C", 5))
mydf <- data.frame (Yvar, Xvar)
Bisakah Anda menjelaskan kepada saya perbedaan sampling dengan contoh-contoh yang dikerjakan secara eksplisit bagaimana metode resampling ini bekerja?
Suntingan: Ini adalah usaha saya:
Bootstrap 10 sampel bootstrap, jumlah sampel sampel dengan penggantian, berarti sampel dapat diulang
boot.samples <- list()
for(i in 1:10) {
t.xvar <- Xvar[ sample(length(Xvar), length(Xvar), replace=TRUE) ]
t.yvar <- Yvar[ sample(length(Yvar), length(Yvar), replace=TRUE) ]
b.df <- data.frame (t.xvar, t.yvar)
boot.samples[[i]] <- b.df
}
str(boot.samples)
boot.samples[1]
Permutasi: 10 sampel permutasi, jumlah sampel sampel tanpa penggantian
permt.samples <- list()
for(i in 1:10) {
t.xvar <- Xvar[ sample(length(Xvar), length(Xvar), replace=FALSE) ]
t.yvar <- Yvar[ sample(length(Yvar), length(Yvar), replace=FALSE) ]
b.df <- data.frame (t.xvar, t.yvar)
permt.samples[[i]] <- b.df
}
str(permt.samples)
permt.samples[1]
Simulasi Monte Caro
Saya tidak yakin tentang semua persyaratan di atas dan apakah pengeditan saya di atas sudah benar. Saya memang menemukan beberapa informasi tentang jacknife tetapi saya tidak bisa menjinakkannya dengan situasi saya.
sumber
Jawaban:
Kita dapat menemukan berbagai metode Resampling , atau secara longgar disebut metode " simulasi ", yang bergantung pada resampling atau pengocokan sampel. Mungkin ada perbedaan pendapat sehubungan dengan terminologi yang tepat, tetapi diskusi berikut mencoba untuk menggeneralisasi dan menyederhanakan apa yang tersedia dalam literatur yang sesuai:
Metode resampling digunakan dalam (1) memperkirakan presisi / akurasi statistik sampel melalui penggunaan subset data (misalnya Jackknifing) atau menggambar secara acak dengan penggantian dari satu set titik data (misalnya bootstrap) (2) Saling menukar label pada titik data saat melakukan signifikansi tes ( tes permutasi, juga disebut tes eksak, tes pengacakan, atau tes pengacakan ulang) (3) Memvalidasi model dengan menggunakan subset acak (bootstrap, validasi silang) (lihat wikipedia: metode resampling )
BOOTSTRAPING
" Bootstrapping adalah metode statistik untuk memperkirakan distribusi sampling dari estimator dengan sampling dengan penggantian dari sampel asli". Metode ini memberikan ukuran akurasi (didefinisikan dalam hal bias , varians , interval kepercayaan , kesalahan prediksi atau ukuran lain semacam itu) untuk estimasi sampel.
Ide dasar bootstrap adalah bahwa kesimpulan tentang populasi dari data sampel ( sampel → populasi ) dapat dimodelkan dengan melakukan resampling data sampel dan melakukan inferensi pada (sampel ulang → sampel). Karena populasi tidak diketahui, kesalahan sebenarnya dalam statistik sampel terhadap nilai populasinya tidak dapat diketahui. Dalam bootstrap-samples, 'populasi' sebenarnya adalah sampel, dan ini dikenal; maka kualitas kesimpulan dari data sampel ulang → sampel 'benar' dapat diukur. "lihat wikipedia
Dalam masalah univariat, biasanya dapat diterima untuk menguji ulang pengamatan individu dengan penggantian ("case resampling"). Di sini kami mengubah sampel data dengan penggantian, dan ukuran sampel ulang harus sama dengan ukuran set data asli.
Dalam masalah regresi, resampling kasus mengacu pada skema sederhana resampling kasus individu - sering baris data yang ditetapkan dalam masalah regresi, variabel penjelas sering diperbaiki, atau setidaknya diamati dengan kontrol lebih dari variabel respon. Juga, kisaran variabel penjelas mendefinisikan informasi yang tersedia dari mereka. Oleh karena itu, untuk menguji ulang kasus berarti setiap sampel bootstrap akan kehilangan beberapa informasi (lihat Wikipedia ). Jadi akan logis untuk mengambil sampel baris data secara adil
Yvar
.Anda dapat melihat beberapa kasus berulang karena kami mengambil sampel dengan penggantian.
" Bootstrap parametrik - model parametrik dipasang pada data, sering kali dengan kemungkinan maksimum, dan sampel angka acak diambil dari model terpasang ini . Biasanya sampel yang diambil memiliki ukuran sampel yang sama dengan data asli. Kemudian kuantitas, atau perkiraan Yang menarik, dihitung dari data ini. Proses pengambilan sampel ini diulang berkali-kali seperti pada metode bootstrap lainnya. Penggunaan model parametrik pada tahap sampling metodologi bootstrap mengarah ke prosedur yang berbeda dari yang diperoleh dengan menerapkan teori statistik dasar. untuk inferensi untuk model yang sama. "(lihat Wikipedia ). Berikut ini adalah bootstrap parametrik dengan asumsi distribusi normal dengan parameter mean dan standar deviasi.
Ada varian lain dari bootstrap, silakan baca halaman wikipedia atau buku statis yang bagus tentang pemasangan kembali.
JACKNIFE
"Pengukur jackknife dari suatu parameter ditemukan dengan secara sistematis meninggalkan setiap pengamatan dari dataset dan menghitung estimasi dan kemudian menemukan rata-rata dari perhitungan ini. Diberikan sampel ukuran N, estimasi jackknife ditemukan dengan menggabungkan estimasi dari setiap
N − 1
estimasi dalam sampel. " lihat: wikipedia Berikut ini menunjukkan cara jackknifeYvar
."bootstrap reguler dan jackknife, perkirakan variabilitas suatu statistik dari variabilitas statistik itu antara subsampel, daripada dari asumsi parametrik . Untuk jackknife yang lebih umum, jackknife pengamatan penghapusan-m, bootstrap dapat dilihat sebagai acak aproksimasi itu. Keduanya menghasilkan hasil numerik yang sama, itulah sebabnya masing-masing dapat dilihat sebagai aproksimasi yang lain. " Lihat pertanyaan ini di Bootstrap vs Jacknife.
UJI RANDOMISASI
"Dalam uji parametrik, kami secara acak mengambil sampel dari satu atau lebih populasi. Kami membuat asumsi tertentu tentang populasi tersebut, paling umum bahwa mereka terdistribusi normal dengan varian yang sama. Kami membuat hipotesis nol yang dibingkai dalam hal parameter, seringkali dalam bentuk m1 -m2 = 0. Kami menggunakan statistik sampel kami sebagai perkiraan parameter populasi yang sesuai, dan menghitung statistik uji (seperti saat tes). Misalnya: dalam uji t Student untuk perbedaan dalam cara ketika varians tidak diketahui, tetapi dianggap menjadi sama. Hipotesis yang menarik adalah bahwa
H0: m1 = m2
. Salah satu hipotesis alternatif akan dinyatakan sebagai:HA: m1 < m2
. Diberikan dua sampel yang diambil dari populasi 1 dan 2, dengan asumsi bahwa ini adalah populasi yang terdistribusi normal dengan varian yang sama, dan bahwa sampel diambil secara independen dan acak dari setiap populasi, maka statistik yang distribusinya diketahui dapat dielaborasi untuk diujiH0
.Salah satu cara untuk menghindari asumsi distribusi ini adalah pendekatan yang sekarang disebut statistik non - parametrik, peringkat - urutan, peringkat - suka, dan bebas - distribusi. Statistik bebas distribusi ini biasanya dikritik karena kurang "efisien" daripada tes analog berdasarkan asumsi populasi terdistribusi secara normal.
Pendekatan alternatif lain adalah pendekatan pengacakan - "proses penetapan peringkat secara acak untuk pengamatan terlepas dari pengetahuan seseorang yang sampelnya adalah anggota. Tes pengacakan memanfaatkan prosedur semacam itu, tetapi melakukannya dengan beroperasi pada pengamatan daripada gabungan pemeringkatan pengamatan. Karena alasan ini, distribusi statistik analog (jumlah pengamatan dalam satu sampel) tidak dapat dengan mudah ditabulasikan, meskipun secara teoritis dimungkinkan untuk menyebutkan distribusi semacam itu "( lihat )
Tes pengacakan berbeda dari tes parametrik dalam hampir setiap hal. (1) Tidak ada persyaratan bahwa kami memiliki sampel acak dari satu atau lebih populasi — bahkan kami biasanya tidak mengambil sampel secara acak. (2) Kami jarang berpikir dalam hal populasi dari mana data berasal, dan tidak perlu berasumsi apa pun tentang normalitas atau homoseksualitas (3) Hipotesis nol kami tidak ada hubungannya dengan parameter, tetapi diucapkan agak samar-samar, seperti, misalnya, hipotesis bahwa perlakuan tidak berpengaruh pada kinerja peserta. (4) Karena kami tidak peduli dengan populasi, kami tidak peduli dengan memperkirakan (atau bahkan menguji) karakteristik populasi tersebut (5) Kami menghitung beberapa semacam statistik uji, namun kami tidak membandingkan statistik itu dengan distribusi yang diajukan. Sebagai gantinya, kami membandingkannya dengan hasil yang kami peroleh ketika kami berulang kali mengacak data di seluruh kelompok, dan menghitung statistik yang sesuai untuk setiap pengacakan. (6) Bahkan lebih dari tes parametrik, tes pengacakan menekankan pentingnya penugasan acak peserta untuk perawatan. "lihat .
Jenis uji pengacakan yang sangat populer adalah uji permutasi. Jika ukuran sampel kami adalah 12 dan 5, permutasi total yang mungkin adalah
C(12,5) = 792
. Jika ukuran sampel kami 10 dan 15 maka lebih dari 3,2 juta pengaturan akan mungkin. Ini adalah tantangan komputasi: Lalu bagaimana? Sampel . Ketika alam semesta dari pengaturan yang mungkin terlalu besar untuk disebutkan mengapa tidak mengambil sampel pengaturan dari alam semesta ini secara independen dan acak? Distribusi statistik uji pada seri sampel ini kemudian dapat ditabulasi, rata-rata dan variansnya dihitung, dan tingkat kesalahan yang terkait dengan perkiraan uji hipotesis.UJI PERMUTASI
Menurut wikipedia "Tes permutasi (juga disebut uji pengacakan , uji pengacakan ulang , atau tes eksak ) adalah jenis uji signifikansi statistik di mana distribusi statistik uji di bawah hipotesis nol diperoleh dengan menghitung semua nilai yang mungkin dari statistik uji di bawah penataan label pada titik data yang diamati. Tes permutasi ada untuk setiap statistik uji, terlepas dari apakah distribusinya diketahui atau tidak. Dengan demikian, kita selalu bebas memilih statistik yang paling membedakan antara hipotesis dan alternatif dan yang meminimalkan kerugian. "
Perbedaan antara permutasi dan bootstrap adalah bahwa sampel bootstraps dengan penggantian, dan sampel permutasi tanpa penggantian . Dalam kedua kasus, urutan waktu pengamatan hilang dan karenanya pengelompokan volatilitas hilang - dengan demikian memastikan bahwa sampel berada di bawah hipotesis nol dari pengelompokan volatilitas.
Permutasi selalu memiliki semua pengamatan yang sama, jadi mereka lebih seperti data asli dari sampel bootstrap. Harapannya adalah bahwa tes permutasi harus lebih sensitif daripada tes bootstrap. Permutasi merusak pengelompokan volatilitas tetapi tidak menambahkan variabilitas lainnya .
Lihat pertanyaan tentang permutasi vs bootstrap - "Tes permutasi terbaik untuk menguji hipotesis dan bootstrap yang terbaik untuk memperkirakan interval kepercayaan ".
Jadi untuk melakukan permutasi dalam hal ini kita bisa mengubah
replace = FALSE
contoh bootstrap di atas.Dalam hal lebih dari satu variabel, hanya memetik baris dan mengacak ulang urutan tidak akan membuat perbedaan karena data akan tetap sama. Jadi kami merombak variabel y. Sesuatu yang telah Anda lakukan, tetapi saya tidak berpikir kita tidak perlu perombakan ganda dari keduanya
x
dany variables
(seperti yang telah Anda lakukan).METODE MONTE CARLO
"Metode Monte Carlo (atau percobaan Monte Carlo) adalah kelas luas dari algoritma komputasi yang bergantung pada pengambilan sampel acak berulang untuk mendapatkan hasil numerik; biasanya seseorang menjalankan simulasi berkali-kali untuk mendapatkan distribusi entitas probabilistik yang tidak diketahui. Nama tersebut datang dari kemiripan teknik dengan tindakan bermain dan merekam hasil di kasino judi nyata. "lihat Wikipedia
"Dalam statistik terapan, metode Monte Carlo umumnya digunakan untuk dua tujuan:
(1) Untuk membandingkan statistik yang bersaing untuk sampel kecil dalam kondisi data realistis. Meskipun Tipe I kesalahan dan sifat kekuatan statistik dapat dihitung untuk data yang diambil dari distribusi teoritis klasik (misalnya, kurva normal, distribusi Cauchy) untuk kondisi asimptotik (yaitu, ukuran sampel yang tak terbatas dan efek perawatan yang sangat kecil), data nyata sering dilakukan tidak memiliki distribusi seperti itu.
(2) Untuk memberikan implementasi tes hipotesis yang lebih efisien daripada tes yang tepat seperti tes permutasi (yang sering tidak mungkin untuk dihitung) sementara lebih akurat daripada nilai-nilai kritis untuk distribusi asimptotik.
Metode Monte Carlo juga merupakan kompromi antara perkiraan pengacakan dan uji permutasi . Sebuah uji pengacakan perkiraan berdasarkan pada subset yang ditentukan dari semua permutasi (yang mencakup rumah tangga berpotensi besar yang permutasi telah dipertimbangkan). Pendekatan Monte Carlo didasarkan pada sejumlah tertentu dari permutasi yang ditarik secara acak ( bertukar kehilangan kecil dalam presisi jika permutasi digambar dua kali - atau lebih sering - untuk efisiensi tidak harus melacak permutasi yang telah dipilih ). "
Baik tes MC dan Permutasi kadang-kadang secara kolektif disebut tes pengacakan . Perbedaannya adalah di MC kita sampel sampel permutasi, bukan menggunakan semua kombinasi yang mungkin lihat .
VALIDASI SILANG
Gagasan di luar validasi silang adalah bahwa model harus diuji dengan data yang tidak digunakan agar sesuai dengan model. Validasi silang mungkin paling sering digunakan dalam konteks prediksi .
"Validasi silang adalah metode statistik untuk memvalidasi model prediktif. Himpunan-himpunan data digunakan untuk digunakan sebagai set validasi ; model sesuai dengan data yang tersisa (set pelatihan) dan digunakan untuk memprediksi set validasi. Rata-rata kualitas prediksi di set validasi menghasilkan ukuran keseluruhan dari akurasi prediksi.
Salah satu bentuk validasi silang meninggalkan pengamatan tunggal pada satu waktu; ini mirip dengan pisau lipat. Lain, cross-validasi K-fold, membagi data menjadi himpunan bagian K; masing-masing diberikan secara bergantian sebagai set validasi. "lihat Wikipedia . Validasi silang biasanya dilakukan dengan data kuantitatif. Anda dapat mengonversi kualitatif (data faktor) Anda menjadi kuantitatif entah bagaimana agar sesuai dengan model linier dan menguji model ini. Berikut ini sederhana strategi bertahan di mana 50% data digunakan untuk prediksi model sedangkan sisanya digunakan untuk pengujian. Mari kita asumsikan
Xvar
juga variabel kuantitatif.Tidak seperti tes bootstrap dan permutasi, dataset validasi silang untuk pelatihan dan pengujian berbeda. Gambar berikut menunjukkan ringkasan resampling dalam berbagai metode.
Semoga ini bisa membantu sedikit.
sumber
Inilah kontribusi saya.
Data
Monte Carlo
Saya melihat Monte Carlo sebagai metode untuk memperoleh distribusi variabel acak (hasil), yang merupakan hasil dari fungsi nontrivial dari variabel acak (input) lainnya. Saya tidak segera melihat tumpang tindih dengan analisis ANOVA saat ini, mungkin anggota forum lain dapat memberikan masukan mereka di sini.
Bootstrap
Tujuannya adalah untuk memiliki gagasan tentang ketidakpastian statistik yang dihitung dari sampel yang diamati. Sebagai contoh: kita dapat menghitung bahwa rata-rata sampel Yvar adalah 8,4, tetapi seberapa yakinkah kita dengan rata-rata populasi untuk Yvar? Caranya adalah dengan melakukan seolah-olah sampel adalah populasi, dan sampel berkali-kali dari populasi palsu itu.
Kami hanya mengambil sampel dan tidak menganggap distribusi parametrik. Ini adalah bootstrap nonparametrik . Jika Anda akan merasa nyaman dengan anggapan misalnya Xvar berdistribusi normal, Anda juga dapat mengambil sampel dari distribusi normal (
rnorm(...)
) menggunakan estimasi mean dan standar deviasi, ini akan menjadi bootstrap parametrik .Pengguna lain mungkin dapat memberikan aplikasi bootstrap sehubungan dengan ukuran efek
Xvar
level?Jackknifing
Jackknife tampaknya agak ketinggalan jaman. Hanya untuk kelengkapan, Anda dapat membandingkannya kurang lebih dengan bootstrap, tetapi strateginya ada di sini untuk melihat apa yang terjadi jika kita meninggalkan satu pengamatan (dan ulangi ini untuk setiap pengamatan).
Validasi silang
Dalam validasi silang, Anda membagi set data (biasanya besar) dalam satu set pelatihan dan set validasi, untuk melihat seberapa baik model estimasi Anda dapat memprediksi nilai-nilai dalam set validasi. Saya pribadi belum melihat aplikasi validasi silang ke ANOVA, jadi saya lebih suka menyerahkan bagian ini kepada orang lain.
Tes pengacakan / permutasi
Diperingatkan, terminologi tidak disetujui. Lihat Perbedaan antara uji Pengacakan dan uji Permutasi .
Hipotesis nol adalah bahwa tidak ada perbedaan antara populasi kelompok A, B dan C, jadi tidak masalah jika kita secara acak menukar label 15 nilai Xvar. Jika nilai F yang awalnya diamati (atau statistik lain) tidak setuju dengan yang diperoleh setelah menukar label secara acak, maka mungkin hal itu penting, dan hipotesis nol dapat ditolak.
Hati-hati dengan cara Anda menetapkan kembali label dalam hal desain yang rumit. Juga perhatikan bahwa dalam kasus varians yang tidak sama, hipotesis nol pertukaran dapat tidak benar di tempat pertama, jadi tes permutasi ini tidak akan benar.
Di sini kami tidak secara eksplisit memeriksa semua kemungkinan permutasi label, ini adalah estimasi nilai-P dari Monte Carlo . Dengan kumpulan data kecil Anda dapat melewati semua permutasi yang mungkin, tetapi kode-R di atas sedikit lebih mudah untuk dipahami.
sumber