Testes de permutação

Fundamentos de Inferência em Python

Paul Savala

Assistant Professor of Mathematics

Testes de permutação

Dois grupos de pequenas figuras, separados entre si, cada um com cores diferentes.

Fundamentos de Inferência em Python

Testes de permutação

  • Embaralha as amostras
  • Observa o resultado
  • A diferença observada parece aleatória?

Pequenas figuras sendo trocadas entre si.

Fundamentos de Inferência em Python

Testes de permutação no 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')
Fundamentos de Inferência em Python

Testes de permutação para correlação

Um gráfico de linhas com uma linha vermelha e outra azul. As linhas são levemente correlacionadas.

stats.pearsonr(red_data, blue_data)[0]
0.08
Fundamentos de Inferência em Python

Testes de permutação para correlação

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
Fundamentos de Inferência em Python

Testes de permutação

 

  • Constrói uma distribuição nula ao embaralhar dados aleatoriamente
  • Testa a significância de um resultado

Bootstrapping

 

  • Constrói uma distribuição de probabilidade ao amostrar dados aleatoriamente
  • Cria um intervalo de confiança com resultados mais prováveis
Fundamentos de Inferência em Python

Vamos praticar!

Fundamentos de Inferência em Python

Preparing Video For Download...