Modul np.random dan percobaan Bernoulli
Anda dapat memandang percobaan Bernoulli sebagai pelemparan koin yang mungkin bias. Secara khusus, setiap lemparan koin memiliki probabilitas \(p\) untuk menghasilkan sisi gambar (success/berhasil) dan probabilitas \(1-p\) untuk menghasilkan sisi angka (failure/gagal). Pada latihan ini, Anda akan menulis sebuah fungsi untuk melakukan n percobaan Bernoulli, perform_bernoulli_trials(n, p), yang mengembalikan jumlah keberhasilan dari n percobaan Bernoulli, yang masing-masing memiliki probabilitas p untuk berhasil. Untuk melakukan setiap percobaan Bernoulli, gunakan fungsi rng.random(), yang mengembalikan angka acak antara nol dan satu.
Latihan ini adalah bagian dari kursus
Berpikir Statistis dengan Python (Bagian 1)
Petunjuk latihan
- Definisikan fungsi dengan tanda tangan
perform_bernoulli_trials(n, p).- Inisialisasi variabel penghitung
Trueyang merupakan keberhasilan percobaan Bernoulli,n_success, menjadi nol. - Tulis loop
fordi mana Anda melakukan satu percobaan Bernoulli pada setiap iterasi dan menambahkan jumlah keberhasilan jika hasilnyaTrue. Lakukanniterasi dengan melakukan perulangan atasrange(n).- Untuk melakukan percobaan Bernoulli, pilih sebuah angka acak antara nol dan satu menggunakan
rng.random(). Jika angka yang Anda pilih kurang darip, tambahkann_success(gunakan operator+= 1untuk melakukannya). Sebuah RNG sudah diinstansiasi sebagai variabelrngdan telah di-seed.
- Untuk melakukan percobaan Bernoulli, pilih sebuah angka acak antara nol dan satu menggunakan
- Fungsi mengembalikan jumlah keberhasilan
n_success.
- Inisialisasi variabel penghitung
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
def perform_bernoulli_trials(n, p):
"""Perform n Bernoulli trials with success probability p
and return number of successes."""
# Initialize number of successes: n_success
n_success = ____
# Perform trials
for i in ____:
# Choose random number between zero and one: random_number
# If less than p, it's a success so add one to n_success
if ____:
____
return n_success