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?

Yorum ekle

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir