Pandalarda tabakalı örnekleme (örneklerle)
Araştırmacılar genellikle bir popülasyondanörnekler alır ve bu örnekteki verileri, bir bütün olarak popülasyon hakkında sonuçlar çıkarmak için kullanır.
Yaygın olarak kullanılan bir örnekleme yöntemi, bir popülasyonun gruplara ayrıldığı ve her gruptan belirli sayıda üyenin örneğe dahil edilmek üzere rastgele seçildiği tabakalı rastgele örneklemedir .
Bu eğitimde Python’da katmanlı rastgele örnekleme gerçekleştirmek için iki yöntem açıklanmaktadır.
Örnek 1: Sayımlar kullanılarak katmanlı örnekleme
2 farklı takımdan 8 basketbol oyuncusunun verilerini içeren aşağıdaki panda DataFrame’e sahip olduğumuzu varsayalım:
import pandas as pd #createDataFrame df = pd.DataFrame({'team': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'], 'position': ['G', 'G', 'F', 'G', 'F', 'F', 'C', 'C'], 'assists': [5, 7, 7, 8, 5, 7, 6, 9], 'rebounds': [11, 8, 10, 6, 6, 9, 6, 10]}) #view DataFrame df team position assists rebounds 0 A G 5 11 1 A G 7 8 2 A F 7 10 3 A G 8 6 4 B F 5 6 5 B F 7 9 6 B C 6 6 7 B C 9 10
Aşağıdaki kod, her takımdan örneğe dahil edilecek 2 oyuncuyu rastgele seçerek katmanlı rastgele örneklemenin nasıl gerçekleştirileceğini gösterir:
df. groupby ('team', group_keys= False ). apply ( lambda x: x.sample (2)) team position assists rebounds 0 A G 5 11 3 A G 8 6 6 B C 6 6 5 B F 7 9
Tabakalı örneğe her takımdan iki oyuncunun dahil edildiğini unutmayın.
Örnek 2: Oranları Kullanarak Tabakalı Örnekleme
Yine 2 farklı takımdan 8 basketbolcunun verilerini içeren aşağıdaki panda DataFrame’e sahip olduğumuzu varsayalım:
import pandas as pd #createDataFrame df = pd.DataFrame({'team': ['A', 'A', 'B', 'B', 'B', 'B', 'B', 'B'], 'position': ['G', 'G', 'F', 'G', 'F', 'F', 'C', 'C'], 'assists': [5, 7, 7, 8, 5, 7, 6, 9], 'rebounds': [11, 8, 10, 6, 6, 9, 6, 10]}) #view DataFrame df team position assists rebounds 0 A G 5 11 1 A G 7 8 2 A F 7 10 3 A G 8 6 4 B F 5 6 5 B F 7 9 6 B C 6 6 7 B C 9 10
DataFrame’deki 8 oyuncudan 6’sının (%75) A Takımında ve 8 oyuncudan 2’sinin (%25) B Takımında olduğunu unutmayın.
Aşağıdaki kod, her takımdan örnekteki oyuncuların oranının daha büyük DataFrame’deki her takımdan oyuncuların oranıyla eşleşeceği şekilde katmanlı rastgele örneklemenin nasıl gerçekleştirileceğini gösterir:
import numpy as np #define total sample size desired N = 4 #perform stratified random sampling df. groupby ('team', group_keys= False ). apply ( lambda x: x. sample (int(np. rint (N* len (x)/ len (df))))). sample (frac=1). reset_index (drop= True ) team position assists rebounds 0 B F 7 9 1 B G 8 6 2 B C 6 6 3 A G 7 8
Katmanlı örnekteki A Takımı oyuncularının oranının (%25) daha büyük DataFrame’deki A Takımı oyuncularının oranıyla eşleştiğini unutmayın.
Benzer şekilde, katmanlı örnekteki B Takımı oyuncularının oranı (%75), daha büyük DataFrame’deki B Takımı oyuncularının oranıyla eşleşiyor.
Ek kaynaklar
Aşağıdaki eğitimlerde pandalar kullanılarak diğer örnek türlerinin nasıl seçileceği açıklanmaktadır:
Pandalarda küme örneklemesi nasıl gerçekleştirilir?
Pandalar arasında sistematik örnekleme nasıl yapılır?