Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Violino e Gráficos de Enxame | Variações em Testes A/B
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

bookViolino e Gráficos de Enxame

Sobre gráficos de violino

Vamos falar sobre variâncias amostrais. A medida de dispersão é bem visualizada pelo gráfico de violino.

Ele é similar em uso ao boxplot. Considere um exemplo da vida real. Vamos comparar os dados sobre rendas anuais nos EUA e no Canadá em 2020:

O gráfico nos mostra que eles estão bastante próximos.

O ponto branco no centro do gráfico indica a mediana da distribuição.

A parte mais espessa da linha representa o primeiro quantil (inferior) e o terceiro quantil (superior). Qualquer coisa fora da linha horizontal é um valor discrepante. Agora, vamos comparar os dados sobre rendimentos anuais nos EUA e no Brasil em 2020:

O gráfico nos mostra que eles são bastante próximos. Neste gráfico, as distribuições são claramente diferentes. Abaixo está o gráfico de violino para a renda no Brasil. Vamos construir um gráfico de violino das colunas 'Impressão' para os grupos de teste e controle:

1234567891011121314151617181920212223242526272829
# Import libraries import matplotlib.pyplot as plt import pandas as pd import seaborn as sns # 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=';') # Define colors for graphs colors_list = ['#ff8a00', '#33435c'] # Add to the dataframes columns-labels, which mean belonging to either the control or the test group df_control['group'] = 'Contol group' df_test['group'] = 'Test group' # Concat the dataframes df_combined = pd.concat([df_control, df_test]) # Plotting violin plots sns.violinplot(data=df_combined, x='group', y='Impression', palette=colors_list) # Sign the axes plt.xlabel('') plt.ylabel('Impression') plt.title('Comparison of Impressions') # Show the results plt.show()
copy

Sobre gráficos de enxame

O swarm plot combina bem com o violin plot. Vamos observar a combinação deles:

1234567891011121314151617181920212223242526272829303132
# Import libraries import matplotlib.pyplot as plt import pandas as pd import seaborn as sns # 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=';') # Define colors for graphs colors_list = ['#ff8a00', '#33435c'] # Add to the dataframes columns-labels, which mean belonging to either the control or the test group df_control['group'] = 'Contol group' df_test['group'] = 'Test group' # Concat the dataframes df_combined = pd.concat([df_control, df_test]) # Plotting violin plots sns.violinplot(data=df_combined, x='group', y='Impression', palette=colors_list) # Plotting swarm plots sns.swarmplot(data=df_combined, x='group', y='Impression', color="r", alpha=0.8) # Sign the axes plt.xlabel('') plt.ylabel('Impression') plt.title('Comparison of Impressions') # Show the results plt.show()
copy

Agora temos uma representação visual da dispersão dos dados. Mas será que essas variações são iguais? Infelizmente, não podemos chegar a tal conclusão apenas observando os gráficos. Como você deve ter adivinhado, a estatística possui uma ferramenta para verificar. Mas antes, hora da prática!

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 3. Capítulo 1
some-alt