Permutationstester

Grunderna i inferens med Python

Paul Savala

Assistant Professor of Mathematics

Permutationstester

Två grupper av små figurer, åtskilda från varandra, var och en i olika färger.

Grunderna i inferens med Python

Permutationstester

  • Blandar om urval
  • Observerar utfallet
  • Ser den observerade skillnaden ut som ett slumpmässigt utfall?

Små figurer som byts mot varandra.

Grunderna i inferens med Python

Permutationstester i SciPy

new_satisfaction = [94, 85, 79, 91, 82]
old_satisfcation = [90, 87, 77, 85, 82]

# Group together our data data = (new_satisfaction, old_satisfcation)
# Define our test statistic def statistic(x, y): return np.mean(x) - np.mean(y)
# Compute a permutation test for the difference in means stats.permutation_test(data, statistic, n_resamples=1000, vectorized=False, alternative='greater')
Grunderna i inferens med Python

Permutationstester för korrelation

Ett linjediagram med en röd och en blå linje. Linjerna är svagt korrelerade.

stats.pearsonr(red_data, blue_data)[0]
0.08
Grunderna i inferens med Python

Permutationstester för korrelation

data = (red_data, blue_data)

def statistic(x, y): return stats.pearsonr(x, y)[0]
res = stats.permutation_test(data, statistic, n_resamples=1000, vectorized=False, alternative='two-sided')
print(res.pvalue < 0.05)
False
Grunderna i inferens med Python

Permutationstester

 

  • Bygger en nollfördelning genom att slumpmässigt blanda om data
  • Testar signifikansen hos ett utfall

Bootstrapping

 

  • Bygger en sannolikhetsfördelning genom att slumpmässigt sampla data
  • Skapar ett konfidensintervall som visar de mest sannolika utfallen
Grunderna i inferens med Python

Nu kör vi en övning!

Grunderna i inferens med Python

Preparing Video For Download...