Python'da BootStraps ile Çıkarım Analizine Giriş
Büyük ve temsili veri örnekleriyle ilgileniyorsanız, önyükleme çıkarım analizi sizin için uygun olabilir .
Geçen ay patronum şunu sordu: Kuzey Amerika'daki EN İYİ markalar için Instagram Makaralarının gerçek ortalama video görüntülemelerini bulabilir miyiz ?
Tek bir Reels örneğinin ortalama video görüntülemelerini ona geri bildirmek yanlış olur. Bu sorunları çözmek için olasılıksal olarak düşünmemiz gerekiyor …
Önyüklemeler kurtarmaya! Bu teknik, sınırlı sayıda örnek oluşturur; her örnek için bir özet istatistik (ortalama gibi) hesaplar; ve çözüm için bir aralık bulur . Geçmişte, 10.000 örnek elde etmek imkansız bir görev gibi geliyordu, ancak Python ile yolumuzu hackleyebiliriz.
Güven aralıklarının yanı sıra Bootstrap'leri anlamlılık testleri yapmak için kullanabiliriz . Bu gönderi, önyüklemeleri anlamak ve güven aralıkları oluşturmakla ilgilidir.
Neden Önyükleme?
Patronunuz size neden Bootstraps'i soruyorsa onlara şunu söyleyin:
- Bu, parametrik olmayan bir tekniktir, yani altta yatan bir dağılımı varsaymaz.
- Verilerin normalliği veya benzer varyans ile uğraşmamıza gerek yok
Önyükleme nedir?
"Önyükleme, istatistiksel çıkarım yapmak için yeniden örneklenmiş - değiştirmeli - verilerin kullanılmasıdır"
Hızlı bir Python örneği, kavramı açıklamak için benden daha iyi bir iş çıkarır:
import numpy as np
reel_views = [191, 145]
bootstrapped_video_views = np.random.choice(
reel_views
, size=len(reel_views)
)
print(f`the first sample: {bootstrapped_video_views}`)
--> the first sample: [191, 191]
print(f`the second sample: {bootstrapped_video_views}`)
--> the second sample: [145, 145]
print(f`the third sample: {bootstrapped_video_views}`)
--> the third sample: [191, 145]
Önyüklemeli Güven Aralıkları Nasıl Oluşturulur?
Güven aralıklarını kullanarak Bootstraps ile belirsizliği tahmin edebiliriz. Fikir, örnek popülasyonun gerçek ortalamasını içeren özet istatistik ( ortalama ) aralığını bulmaktır .
Verilerimizi yeniden örnekleyerek (video görüntülemeleri) ve ilgilenilen özet istatistiği (ortalama video görüntülemeleri) hesaplayarak bir önyükleme kopyası oluştururuz . Aşağıdaki kod şu şekilde okunur:
- Verilerimizden değiştirme ile rastgele seçerek yeni bir örnek oluşturur.
- Bu yeni örnekten özet istatistiği ( ortalama ) hesaplar ve saklar. Buna önyükleme kopyası denir
- 1. ve 2. adımları sınırlı sayıda tekrar eder (standart 10.000'dir)
- Saklanan 10.000 özet istatistiğin 2,5 ve 97,5 yüzdelik dilimlerini hesaplar
def draw_bs_reps(data: list, func: Callable, size: int = 10000) -> np.array:
"""
Draw bootstrap replicates. Generate n 1d bootstrap replicates. Typical size = 5 - 10K repetitions
"""
rng = np.random.default_rng(seed=42)
bs_sample = rng.choice(data, size=(size, len(data)))
bs_replicates = np.apply_along_axis(func, arr=bs_sample, axis=1)
return bs_replicates
reel_views = [191, 145, 198, 192, 1022, ...] # Big Representative Sample
bootstrap_replicates = draw_bs_reps(reel_views, np.mean)
conf_int = np.percentile(bootstrap_replicates, [2.5, 97.5])
print(f'95% Confidence Interval: {conf_int}')
--> `95% Confidence Interval: [137.9, 150.3]`
Sonuçlarınızı çizmek asla acıtmaz. Önyükleme kopyalarını çizerken ECDF'ler, KDE çizimleri veya histogramlar çizebiliriz. Benim için ECDF'ler ve KDE çizimleri, tüm veri noktalarını bindirmeye ihtiyaç duymadan çizdikleri için histogramlardan üstündür. Aşağıda, 10.000 önyükleme kopyasının tümünü çizen KDE bulunmaktadır:
Önyükleme ortalama kopyalarının %95'i mor çizgiler içindedir.
Geniş bir aralıkla sonuçlanırsanız, önyükleme kopyalarının sayısını artırmanın (örn. 20.000) aralığı daraltmayacağını unutmayın. Daha sıkı bir aralık istiyorsanız, tek seçeneğiniz daha büyük bir veri örneği toplamaktır.
Önyüklemeler harikadır ancak aykırı değerlerin etkisini azaltmanın ve daha dar bir aralık oluşturmanın tek yolu daha büyük bir veri örneği toplamaktır.
paketler
- Önyükleme güven aralıkları, belirsizliği tahmin etmemize yardımcı olur
- Bu tekniği kullanmak için büyük ve temsili bir örneğe ihtiyacımız var.
- Önyüklemeler sihirli bir şekilde daha fazla veriyi bir örneğe sıkıştıramaz
- Daha dar aralıklar üretmek için örneklem büyüklüğümüzü artırmamız gerekiyor.

![Bağlantılı Liste Nedir? [Bölüm 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































