Contenido del Curso
El Arte del A/B Testing
El Arte del A/B Testing
Violín y Gráficos de Enjambre
Acerca de las parcelas de violín
Hablemos de las varianzas de las muestras. La medida de la dispersión se visualiza bien mediante el trazado de violin.
Su uso es similar al del boxplot. Consideremos un ejemplo de la vida. Comparemos los datos sobre los ingresos anuales en EE.UU. y Canadá en 2020:
El gráfico nos dice que están bastante cerca.
El punto blanco del centro del gráfico indica la mediana de la distribución.
La parte más marcada de la línea indica el primer cuantil (abajo) y el tercer cuantil (arriba). Todo lo que queda fuera de la línea horizontal es un valor atípico. Comparemos ahora los datos sobre los ingresos anuales en EE.UU. y Brasil en 2020:
El gráfico nos dice que son bastante parecidas. En este gráfico, las distribuciones son claramente diferentes. A continuación se muestra el gráfico de violin para los ingresos en Brasil.
Construyamos un trazado de violin de las columnas 'Impresión'
para los grupos de prueba y control:
# 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()
Acerca de las parcelas enjambre
La parcela enjambre va bien con la parcela violín. Veamos su combinación:
# 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()
Ahora tenemos una representación visual de la dispersión de los datos. Pero, ¿son iguales estas varianzas? Por desgracia, no podemos llegar a esa conclusión observando únicamente los gráficos. Como habrás adivinado, la estadística tiene una herramienta para comprobarlo. Pero antes, ¡hora de practicar!
¡Gracias por tus comentarios!