Menu
CoddyTech

Daha Büyük Örneklemler, Daha Az Gürültü

Coddy'nin Machine Learning Journey'sinin Makine Öğrenimi için İstatistik bölümünün bir parçası. Ders 22 / 64.

Daha büyük örneklemler daha iyi tahminler sağlar, ama ne kadar daha iyi? İşte 25 alışveriş sepetinin ortalamalarından 1000 tanesi ve 100 sepetin ortalamalarından 1000 tanesi:

Her sepetteki ürün sayısının örneklem ortalamalarını gösteren, ikisi de 30'a yakın merkezlenmiş iki çan eğrisi. Gri renkteki 25 sepetin ortalamaları yaklaşık 20 ile 40 arasında yayılır; mavi renkteki 100 sepetin ortalamaları ise bunun yarısı genişliğinde bir çan oluşturur

sample_means her yayılımı ölçer. standart hata olan std / np.sqrt(n), simülasyon olmadan bunu tahmin eder:

for n in [25, 100]:
    spread = sample_means(baskets, n, 1000).std()
    print(n, np.round(spread, 2), np.round(baskets.std() / np.sqrt(n), 2))

Bu, şunu yazdırır:

25 3.43 3.45
100 1.72 1.72

Dört kat veri, gürültünün yarısı: karekökün etkisi budur. 400 örnek üzerinde test edilen bir modelin puanı, 100 örnek üzerindekinden iki kat daha kesindir.

challenge icon

Görev

Orta

bags, bir değirmenin 5000 un çuvalının gram cinsinden ağırlıklarını tutar. Kalite kontrolü her saat bir örneklemi tartar; program kabul ettiği standart hatayı okur.

  1. Standart hatası bags.std() / np.sqrt(n) en fazla bu değere eşit olan en küçük n'i bulun: 1'den başlayın, değer çok büyük olduğu sürece 1 ekleyin.
  2. Kontrol edin: sample_means ile elde edilen 300 örneklem ortalamasının std değerini bulun.
  3. Aşağıdaki gibi, 2 ondalık basamakla yazdırın.

Başka bir değirmen için ve 2.5 değeriyle:

Bags to weigh: 24
Standard error: 2.46 g
Simulated spread: 2.37 g

Kendin dene

import numpy as np

target = float(input())

# Aşağıdaki satırları değiştirmeyin: her un torbasının gram cinsinden ağırlığı
rng = np.random.default_rng(22)
bags = np.round(rng.normal(500, 8, size=5000), 1)


# Sample Means Vary bölümündeki fonksiyonunuz: count örneklemin ortalamaları
def sample_means(data, size, count):
    means = []
    for i in range(count):
        sample = rng.choice(data, size=size, replace=False)
        means.append(sample.mean())
    return np.array(means)


# Kodunuzu aşağıya yazın
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Makine Öğrenimi için İstatistik bölümündeki tüm dersler

Kendi başına pratik yap: Online Python derleyicisi