Menu
CoddyTech

Mungkinkah Ini Kebetulan?

Termasuk bagian Statistik untuk ML dalam perjalanan Machine Learning di Coddy. Pelajaran 43 dari 64.

Lima pembaca dengan font sans mengalahkan lima pembaca dengan font serif selama 6.6 detik. Jika font tidak mengubah apa pun, waktu mana pun bisa masuk ke kelompok mana pun. Acak untuk memperagakannya:

Sepuluh waktu membaca sebagai sel, lima dengan font serif berwarna biru dan lima dengan font sans berwarna oranye. Panah berlabel rng.permutation(pooled) mengarah ke sepuluh nilai yang sama dalam urutan campuran, terbagi menjadi kelompok serif palsu dengan rata-rata 48.4 dan kelompok sans palsu dengan rata-rata 49.8: selisih +1.4 detik yang terjadi secara kebetulan

rng.permutation(a) mengembalikan salinan yang diacak. Ulangi 1000 kali dan simpan setiap selisih palsu:

serif = np.array([52, 47, 58, 50, 55])
sans = np.array([45, 49, 41, 50, 44])
pooled = np.concatenate([serif, sans])
rng = np.random.default_rng(4)
diffs = []
for i in range(1000):
    shuffled = rng.permutation(pooled)
    diffs.append(shuffled[5:].mean() - shuffled[:5].mean())

Histogram 1000 selisih yang diacak, dari -7.8 hingga 7.8 detik dan menumpuk di sekitar 0, dengan garis merah untuk selisih sebenarnya, -6.6, di dekat tepi kiri

Kesenjangan peluang menumpuk di sekitar 0; nilai yang sebenarnya berada dekat tepi. Ini adalah uji permutasi.

Sebelum kamu yakin bahwa satu model mengungguli model lainnya, periksa apakah pengacakan jarang menghasilkan selisih sebesar itu.

challenge icon

Tantangan

Sedang

Anjing belajar duduk dengan dua cara: clicker dan treats menyimpan sesi setiap anjing. Kode awal membuat rng dan shuffles.

  1. Hitung selisih sebenarnya: rata-rata treats dikurangi rata-rata clicker.
  2. Gabungkan clicker lalu treats; acak sebanyak shuffles kali, pisahkan pada len(clicker), hitung setiap selisih palsu dengan urutan yang sama; jangan lakukan pengambilan acak lain.
  3. Cetak selisih sebenarnya, selisih palsu pertama, nilai terkecil, dan nilai terbesar, dengan 2 angka desimal.

Untuk anjing lain:

Real difference: 3.0
First shuffle: -1.0
Smallest shuffled: -3.33
Largest shuffled: 3.67

Coba sendiri

import numpy as np

# Jumlah sesi latihan yang dibutuhkan setiap anjing untuk mempelajari "sit"
clicker = np.array([9, 12, 8, 11, 10, 7, 13])
treats = np.array([14, 11, 15, 12, 16, 13])
# Jangan ubah baris-baris di bawah ini
rng = np.random.default_rng(12)
shuffles = 1000

# Tulis kodemu di bawah ini
quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Statistik untuk ML

Latihan sendiri: Compiler Python online