Di hampir semua pekerjaan analisis yang pernah saya lakukan, saya menggunakan:
set.seed(42)
Ini adalah penghormatan bagi Hitchhiker's Guide to the Galaxy . Tapi saya bertanya-tanya apakah saya membuat bias dengan menggunakan benih yang sama berulang-ulang.
random-generation
Brandon Bertelsen
sumber
sumber
Jawaban:
Tidak ada bias jika RNG bagus. Namun, dengan selalu menggunakan seed yang sama, Anda menciptakan saling ketergantungan yang kuat di antara semua simulasi yang Anda lakukan dalam karier Anda. Ini menciptakan jenis risiko yang tidak biasa.
Dengan menggunakan seed yang sama setiap kali, baik Anda selalu mendapatkan urutan pseudorandom yang cukup bagus dan semua pekerjaan Anda berjalan dengan baik atau - dengan probabilitas sangat rendah tetapi tidak nol - Anda selalu menggunakan urutan yang sangat buruk dan simulasi Anda tidak sebagai perwakilan dari distribusi yang mendasarinya seperti yang Anda pikirkan. Entah semua pekerjaan Anda cukup bagus atau semuanya sangat buruk!
Bandingkan ini dengan menggunakan benih awal yang benar-benar acak setiap kali. Sekali dalam waktu yang sangat lama Anda mungkin mendapatkan urutan nilai acak yang tidak mewakili distribusi yang Anda modelkan, tetapi sebagian besar waktu Anda akan baik-baik saja. Jika Anda tidak pernah mencoba mereproduksi karya Anda sendiri (dengan benih baru), maka sekali atau dua kali dalam karir Anda, Anda mungkin mendapatkan hasil yang menyesatkan, tetapi sebagian besar waktu Anda akan baik-baik saja.
Ada obat sederhana dan jelas: Selalu, selalu periksa pekerjaan Anda dengan memulai kembali dengan seed lain. Hampir mustahil bahwa dua biji secara tidak sengaja akan memberikan hasil yang menyesatkan dengan cara yang sama.
Di sisi lain, ada manfaat luar biasa dalam memiliki "benih pribadi" yang terkenal: itu menunjukkan kepada dunia Anda jujur. Cara licik dan licik untuk berbohong dengan simulasi adalah mengulanginya sampai mereka memberi Anda hasil yang telah ditentukan. Berikut ini adalah
R
contoh kerja untuk "menunjukkan" bahwa koin yang adil pun kemungkinan besar akan mendarat lebih dari separuh waktu:Implikasinya bisa menarik dan penting. Misalnya, jika saya tahu sebelumnya siapa yang akan saya rekrut ke dalam uji coba terkontrol double-blind secara acak, dan dalam urutan apa (yang mungkin bisa saya kendalikan sebagai profesor universitas yang menguji sekelompok mahasiswa yang menjadi tawanan sarjana atau tikus lab), maka sebelumnya saya bisa menjalankan serangkaian simulasi untuk menemukan benih yang mengelompokkan siswa lebih yang saya sukai untuk mendukung apa pun yang saya harapkan untuk "membuktikan." Saya dapat memasukkan urutan yang direncanakan dan benih itu dalam rencana eksperimental saya sebelumnyamelakukan percobaan, dengan demikian menciptakan prosedur yang tidak bisa dilakukan oleh peninjau kritis - namun demikian, tumpukan tumpukan itu menguntungkan saya. (Saya percaya ada seluruh cabang pseudosain yang menggunakan beberapa varian trik ini untuk mendapatkan kredibilitas. Apakah Anda yakin saya benar-benar menggunakan ESP untuk mengendalikan komputer? Saya juga bisa melakukannya dari jarak dengan Anda!)
Seseorang yang benih default-nya diketahui tidak dapat memainkan game ini.
Unggulan pribadi saya adalah 17 , karena sebagian besar postingan saya membuktikan (saat ini 155 dari 161 posting yang menetapkan unggulan gunakan yang ini). Di
R
dalamnya adalah benih yang sulit untuk dikerjakan, karena (ternyata) sebagian besar dataset kecil yang saya buat dengannya memiliki pencilan yang kuat. Itu bukan karakteristik yang buruk ....sumber
R
Perilaku ini murni tidak disengaja.Seperti yang dinyatakan di atas, RNG yang baik tidak akan menghasilkan bias karena menggunakan benih yang sama. Namun, akan ada korelasi di antara hasilnya. (Nomor pseudo-acak yang sama akan memulai setiap perhitungan.) Apakah ini penting bukan masalah matematika.
Kadang-kadang menggunakan seed yang sama: untuk debugging atau ketika Anda tahu Anda ingin hasil yang berkorelasi.
sumber