Como realizar testes de hipóteses em python (com exemplos)
Um teste de hipótese é um teste estatístico formal que usamos para rejeitar ou não rejeitar uma hipótese estatística.
Este tutorial explica como realizar os seguintes testes de hipótese em Python:
- Um teste t de amostra
- Teste T de duas amostras
- Teste t de amostras pareadas
Vamos!
Exemplo 1: um exemplo de teste t em Python
Um teste t de uma amostra é usado para testar se a média de uma população é ou não igual a um determinado valor.
Por exemplo, digamos que queremos saber se o peso médio de uma determinada espécie de tartaruga é ou não de 310 libras.
Para testar isso, coletamos uma amostra aleatória simples de tartarugas com os seguintes pesos:
Peso : 300, 315, 320, 311, 314, 309, 300, 308, 305, 303, 305, 301, 303
O código a seguir mostra como usar a função ttest_1samp() na biblioteca scipy.stats para realizar um teste t de uma amostra:
import scipy.stats as stats #define data data = [300, 315, 320, 311, 314, 309, 300, 308, 305, 303, 305, 301, 303] #perform one sample t-test stats. ttest_1samp (a=data, popmean= 310 ) Ttest_1sampResult(statistic=-1.5848116313861254, pvalue=0.1389944275158753)
A estatística do teste t é -1,5848 e o valor p bicaudal correspondente é 0,1389 .
As duas hipóteses para este teste t em uma amostra específica são as seguintes:
- H 0 : µ = 310 (o peso médio desta espécie de tartaruga é 310 libras)
- HA : µ ≠310 (peso médio não é 310 libras)
Como o valor p do nosso teste (0,1389) é maior que alfa = 0,05, não conseguimos rejeitar a hipótese nula do teste.
Não temos evidências suficientes para dizer que o peso médio desta espécie específica de tartaruga seja diferente de 310 libras.
Exemplo 2: teste t de duas amostras em Python
Um teste t de duas amostras é usado para testar se as médias de duas populações são iguais ou não.
Por exemplo, suponhamos que queremos saber se o peso médio de duas espécies diferentes de tartarugas é igual ou não.
Para testar isso, coletamos uma amostra aleatória simples de tartarugas de cada espécie com os seguintes pesos:
Amostra 1 : 300, 315, 320, 311, 314, 309, 300, 308, 305, 303, 305, 301, 303
Amostra 2 : 335, 329, 322, 321, 324, 319, 304, 308, 305, 311, 307, 300, 305
O código a seguir mostra como usar a função ttest_ind() na biblioteca scipy.stats para executar estes dois exemplos de teste t:
import scipy. stats as stats #define array of turtle weights for each sample sample1 = [300, 315, 320, 311, 314, 309, 300, 308, 305, 303, 305, 301, 303] sample2 = [335, 329, 322, 321, 324, 319, 304, 308, 305, 311, 307, 300, 305] #perform two sample t-tests stats. ttest_ind (a=sample1, b=sample2) Ttest_indResult(statistic=-2.1009029257555696, pvalue=0.04633501389516516)
A estatística do teste t é –2,1009 e o valor p bicaudal correspondente é 0,0463 .
As duas suposições para este teste t específico de duas amostras são:
- H 0 : µ 1 = µ 2 (o peso médio entre as duas espécies é igual)
- HA : µ 1 ≠ µ 2 (o peso médio entre as duas espécies não é igual)
Como o valor p do teste (0,0463) é inferior a 0,05, rejeitamos a hipótese nula.
Isto significa que temos provas suficientes para dizer que o peso médio entre as duas espécies não é igual.
Exemplo 3: teste t de amostras emparelhadas em Python
Um teste t de amostras pareadas é usado para comparar as médias de duas amostras quando cada observação em uma amostra pode ser associada a uma observação na outra amostra.
Por exemplo, digamos que queremos saber se um determinado programa de treinamento é ou não capaz de aumentar o salto vertical máximo (em polegadas) de jogadores de basquete.
Para testar isso, podemos recrutar uma amostra aleatória simples de 12 jogadores de basquete universitário e medir cada um dos seus saltos verticais máximos. Depois podemos fazer com que cada jogador utilize o programa de treino durante um mês e depois medir novamente o seu salto vertical máximo no final do mês.
Os dados a seguir mostram a altura máxima do salto (em polegadas) antes e depois de usar o programa de treinamento para cada jogador:
Frente : 22, 24, 20, 19, 19, 20, 22, 25, 24, 23, 22, 21
Depois : 23, 25, 20, 24, 18, 22, 23, 28, 24, 25, 24, 20
O código a seguir mostra como usar a função ttest_rel() na biblioteca scipy.stats para realizar este teste t de amostras emparelhadas:
import scipy. stats as stats #define before and after max jump heights before = [22, 24, 20, 19, 19, 20, 22, 25, 24, 23, 22, 21] after = [23, 25, 20, 24, 18, 22, 23, 28, 24, 25, 24, 20] #perform paired samples t-test stats. ttest_rel (a=before, b=after) Ttest_relResult(statistic=-2.5289026942943655, pvalue=0.02802807458682508)
A estatística do teste t é –2,5289 e o valor p bicaudal correspondente é 0,0280 .
As duas suposições para este teste t de amostras pareadas específico são:
- H 0 : µ 1 = µ 2 (a altura média do salto antes e depois de usar o programa é igual)
- H A : µ 1 ≠ µ 2 (a altura média do salto antes e depois de usar o programa não é igual)
Como o valor p do teste (0,0280) é inferior a 0,05, rejeitamos a hipótese nula.
Isto significa que temos evidências suficientes para dizer que a altura média do salto antes e depois de usar o programa de treinamento não é igual.
Recursos adicionais
Você pode usar as seguintes calculadoras online para realizar vários testes t automaticamente:
Um exemplo de calculadora de teste t
Calculadora de teste t de duas amostras
Calculadora de teste t de amostras emparelhadas