Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Teste de Shapiro | Verificação de Normalidade
A Arte do Teste A/B
course content

Conteúdo do Curso

A Arte do Teste A/B

A Arte do Teste A/B

1. O que é teste A/B?
2. Verificação de Normalidade
3. Variações em Testes A/B
4. Teste T
5. U-Test

Teste de Shapiro

O Teste de Shapiro é um teste estatístico utilizado para testar a hipótese de uma distribuição normal. Ele compara a distribuição dos dados com uma distribuição normal.

A hipótese nula pressupõe que os dados estão distribuídos normalmente. Se o valor-p for inferior ao nível de significância (abaixo de 0,05), então a hipótese nula é rejeitada.

Nesse caso, podemos argumentar que os dados não estão distribuídos normalmente (a hipótese alternativa é aceita).

Vamos executar o Teste de Shapiro para as primeiras colunas dos grupos de controle e teste ao mesmo tempo:

1234567891011121314151617181920212223242526272829
# Import libraries import pandas as pd from scipy.stats import shapiro # Read .csv files df_control = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/c3b98ad3-420d-403f-908d-6ab8facc3e28/ab_control.csv', delimiter=';') df_test = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/c3b98ad3-420d-403f-908d-6ab8facc3e28/ab_test.csv', delimiter=';') # Do the Shapiro test for the control sample stat_control, p_control = shapiro(df_control['Impression']) print('Control group: ') print('Stat: %.4f, p-value: %.4f' % (stat_control, p_control)) # Define the distribution form if p_control > 0.05: print('Control group is likely to normal distribution') else: print('Control group is NOT likely to normal distribution') # Do the Shapiro test for the test sample stat_test, p_test = shapiro(df_test['Impression']) print('Test group: ') print('Stat: %.4f, p-value: %.4f' % (stat_test, p_test)) # Define the distribution form if p_test > 0.05: print('Control group is likely to normal distribution') else: print('Control group is NOT likely to normal distribution')
copy

Ótimo! Obtivemos dois resultados.

Quanto maior o valor da Estatística, mais evidências encontramos a favor de uma distribuição normal. O valor-p em ambos os grupos é alto (maior que 0,05), o que significa que aceitamos a hipótese nula.

Ambas as colunas são distribuídas normalmente.

Nota

Se tivermos mais de 5.000 observações, é melhor usar o teste de Kolmogorov-Smirnov. Seu uso é semelhante ao teste de Shapiro.

Podemos ter certeza de uma distribuição normal ao analisar os resultados do teste de Shapiro?

Selecione a resposta correta

Tudo estava claro?

Seção 2. Capítulo 7
We're sorry to hear that something went wrong. What happened?
some-alt