Enkelt slumpmässigt och systematiskt urval

Sampling i Python

James Chapman

Curriculum Manager, DataCamp

Enkelt slumpmässigt urval

En hand som plockar upp en vikt papperslapp ur en tombola.

Lotteriboll som rullar.

Sampling i Python

Enkelt slumpmässigt urval av kaffe

Kaffebönor arrangerade i rader och kolumner.

Kaffebönor arrangerade i rader och kolumner, varav några är gråtonade.

Sampling i Python

Enkelt slumpmässigt urval med pandas

coffee_ratings.sample(n=5, random_state=19000113)
     total_cup_points         variety country_of_origin  aroma  flavor  \
437             83.25            None          Colombia   7.92    7.75   
285             83.83  Yellow Bourbon            Brazil   7.92    7.50   
784             82.08            None          Colombia   7.50    7.42   
648             82.58         Caturra          Colombia   7.58    7.50   
155             84.58         Caturra          Colombia   7.42    7.67  

     aftertaste  body  balance  
437        7.25  7.83     7.58  
285        7.33  8.17     7.50  
784        7.42  7.67     7.42  
648        7.42  7.67     7.42  
155        7.75  8.08     7.83 
Sampling i Python

Systematiskt urval

Kaffebönor arrangerade i rader och kolumner.

Kaffebönor arrangerade i rader och kolumner, varav de flesta är gråtonade utom de på en diagonal linje.

Sampling i Python

Systematiskt urval – definiera intervallet

sample_size = 5

pop_size = len(coffee_ratings)
print(pop_size)
1338
interval = pop_size // sample_size

print(interval)
267
Sampling i Python

Systematiskt urval – välja rader

coffee_ratings.iloc[::interval]
      total_cup_points  variety country_of_origin  aroma  flavor  aftertaste  \
0                90.58     None          Ethiopia   8.67    8.83        8.67   
267              83.92     None          Colombia   7.83    7.75        7.58   
534              82.92  Bourbon       El Salvador   7.50    7.50        7.75   
801              82.00   Typica            Taiwan   7.33    7.50        7.17   
1068             80.50    Other            Taiwan   7.17    7.17        7.17   

      body  balance  
0     8.50     8.42  
267   7.75     7.75  
534   7.92     7.83  
801   7.50     7.33  
1068  7.17     7.25  
Sampling i Python

Problemet med systematiskt urval

coffee_ratings_with_id = coffee_ratings.reset_index()
coffee_ratings_with_id.plot(x="index", y="aftertaste", kind="scatter")
plt.show()

Spridningsdiagram över eftersmakspoäng mot index.

Systematiskt urval är bara säkert om vi inte ser något mönster i spridningsdiagrammet

Sampling i Python

Gör systematiskt urval säkert

shuffled = coffee_ratings.sample(frac=1)

shuffled = shuffled.reset_index(drop=True).reset_index()
shuffled.plot(x="index", y="aftertaste", kind="scatter") plt.show()

Spridningsdiagram över eftersmakspoäng mot index efter att datamängden blandats.

Radblandning + systematiskt urval är detsamma som enkelt slumpmässigt urval

Sampling i Python

Nu kör vi en övning!

Sampling i Python

Preparing Video For Download...