Sampling och punktskattningar

Sampling i Python

James Chapman

Curriculum Manager, DataCamp

Uppskatta Frankrikes befolkning

En karta över Frankrike.

En folkräkning frågar varje hushåll hur många personer som bor där.

Sampling i Python

Frankrike har många invånare

En karta över Frankrike med personikoner.

Folkräkningar är väldigt dyra!

Sampling i Python

Sampling av hushåll

En karta över Frankrike med personikoner, varav några är markerade.

Billigare att fråga ett litet antal hushåll och använda statistik för att uppskatta befolkningen

Att arbeta med en delmängd av hela populationen kallas sampling

Sampling i Python

Population vs. urval

Populationen är den fullständiga datamängden

  • Behöver inte syfta på personer
  • Vanligtvis känner man inte till hela populationen

 

Urvalet är den delmängd av data som du beräknar på

Sampling i Python

Datamängd för kaffebetyg

total_cup_points variety country_of_origin aroma flavor aftertaste body balance
90.58 NA Ethiopia 8.67 8.83 8.67 8.50 8.42
89.92 Other Ethiopia 8.75 8.67 8.50 8.42 8.42
... ... ... ... ... ... ... ...
73.75 NA Vietnam 6.75 6.67 6.5 6.92 6.83

 

  • Varje rad representerar 1 kaffe
  • 1338 rader
  • Vi behandlar detta som populationen
Sampling i Python

Poäng vs. smak: population

pts_vs_flavor_pop = coffee_ratings[["total_cup_points", "flavor"]]
      total_cup_points  flavor
0                90.58    8.83
1                89.92    8.67
2                89.75    8.50
3                89.00    8.58
4                88.83    8.50
...                ...     ...
1333             78.75    7.58
1334             78.08    7.67
1335             77.17    7.33
1336             75.08    6.83
1337             73.75    6.67

[1338 rows x 2 columns]
Sampling i Python

Poäng vs. smak: urval på 10 rader

pts_vs_flavor_samp = pts_vs_flavor_pop.sample(n=10)
      total_cup_points  flavor
1088             80.33    7.17
1157             79.67    7.42
1267             76.17    7.33
506              83.00    7.67
659              82.50    7.42
817              81.92    7.50
1050             80.67    7.42
685              82.42    7.50
1027             80.92    7.25
62               85.58    8.17

[10 rows x 2 columns]
Sampling i Python

Sampling i Python för Series

  • Använd .sample() för pandas DataFrames och Series
cup_points_samp = coffee_ratings['total_cup_points'].sample(n=10)
1088    80.33
1157    79.67
1267    76.17
...     ... 
685     82.42
1027    80.92
62      85.58
Name: total_cup_points, dtype: float64
Sampling i Python

Populationsparametrar och punktskattningar

En populationsparameter är en beräkning gjord på populationsdatamängden

import numpy as np
np.mean(pts_vs_flavor_pop['total_cup_points'])
82.15120328849028

En punktskattning eller stickprovsstatistik är en beräkning gjord på urvalsdatamängden

np.mean(cup_points_samp)
81.31800000000001
Sampling i Python

Punktskattningar med pandas

pts_vs_flavor_pop['flavor'].mean()
7.526046337817639
pts_vs_flavor_samp['flavor'].mean()
7.485000000000001
Sampling i Python

Nu kör vi en övning!

Sampling i Python

Preparing Video For Download...