Просте випадкове та систематичне вибіркове дослідження

Sampling у Python

James Chapman

Curriculum Manager, DataCamp

Просте випадкове вибіркове дослідження

Рука дістає з жеребкувальної банки складений папірець.

Кульки лотереї котяться.

Sampling у Python

Просте випадкове відбирання кави

Кавові зерна, розташовані рядами й стовпцями.

Кавові зерна рядами й стовпцями, деякі з них заштриховані сірим.

Sampling у Python

Просте випадкове вибіркове дослідження в 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 у Python

Систематичне вибіркове дослідження

Кавові зерна, розташовані рядами й стовпцями.

Кавові зерна рядами й стовпцями; більшість заштриховано сірим, окрім тих, що на діагоналі.

Sampling у Python

Систематичне вибіркове дослідження — визначення інтервалу

sample_size = 5

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

print(interval)
267
Sampling у Python

Систематичне вибіркове дослідження — вибір рядків

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 у Python

Проблема систематичного відбору

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

Точкова діаграма оцінок післясмаку проти індексів.

Систематичне вибіркове дослідження безпечне лише якщо на цьому графіку немає закономірності

Sampling у Python

Як зробити систематичний відбір безпечним

shuffled = coffee_ratings.sample(frac=1)

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

Точкова діаграма оцінок післясмаку проти індексів після перемішування набору даних.

Перемішати рядки + систематичний відбір = просте випадкове вибіркове дослідження

Sampling у Python

Давайте потренуємось!

Sampling у Python

Preparing Video For Download...