Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Prueba de Levene | Variaciones en las Pruebas A/B
El Arte del A/B Testing
course content

Contenido del Curso

El Arte del A/B Testing

El Arte del A/B Testing

1. ¿Qué es la prueba A/B?
2. Verificación de Normalidad
3. Variaciones en las Pruebas A/B
4. Prueba T
5. U-Test

bookPrueba de Levene

Nuestro siguiente paso después de la visualización será una comprobación estadística de la igualdad de varianzas para los grupos de control y de prueba.

Para ello, necesitamos la prueba de Levene. Se utiliza para probar la hipótesis nula de que las varianzas son iguales. Al comparar las varianzas de ambos grupos, la prueba utiliza un estadístico basado en la desviación típica.

Se llama estadístico F. Si el valor obtenido del estadístico F supera el valor crítico, esto indica diferencias significativas en las varianzas de los grupos.

Hagamos una prueba de Levene para los hablantes de `'Impresión''. Empecemos con las hipótesis:

H₀: Las varianzas en ambos grupos son iguales;.

Hₐ: Las varianzas difieren entre los grupos.

Echemos un vistazo al código. La sintaxis es muy sencilla:

1234567891011121314151617181920
# Import libraries import pandas as pd from scipy.stats import levene # Read 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 Levene's test statistic, p_value = levene(df_control['Impression'], df_test['Impression']) # Print result of Levene's test print('Statistic:', statistic) print('p-value:', p_value) # Determine whether the variances are similar if p_value > 0.05: print('The variances of the two groups are NOT statistically different') else: print('The variances of the two groups are statistically different')
copy

Como puede ver, el valor p es muy superior a 0,05. Esto significa que no tenemos pruebas estadísticas suficientes para rechazar la hipótesis nula de igualdad de varianzas. No hay diferencias estadísticamente significativas entre las varianzas de las dos muestras.

Ahora vamos a dibujar un trazado de violín y un trazado de enjambre para las columnas 'Click' de ambos conjuntos de datos:

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='Click', palette=colors_list) # Plotting swarm plots sns.swarmplot(data=df_combined, x='group', y='Click', color="r", alpha=0.8) # Sign the axes plt.xlabel('') plt.ylabel('Clicks') plt.title('Comparison of Click') # Show the results plt.show()
copy

¿Son iguales las varianzas? Hagamos una prueba de Levene para las columnas 'Click' de ambos conjuntos de datos:

1234567891011121314151617181920
# Import libraries import pandas as pd from scipy.stats import levene # 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=';') # Levene's test statistic, p_value = levene(df_control['Click'], df_test['Click']) # Results of the Levene's test print('Statistic:', statistic) print('p-value:', p_value) # Determine whether the variances are similar if p_value > 0.05: print('The variances of the two groups are NOT statistically different') else: print('The variances of the two groups are statistically different')
copy

Necesitamos saber si las varianzas son iguales para realizar una prueba T. En caso de desigualdad de varianzas, utilizaremos una modificación de la prueba T. Por lo tanto, la prueba Levene es una parte importante de las pruebas A/B. Como puede ver, las varianzas de estas dos columnas son estadísticamente diferentes. Ahora te toca a ti.

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 3. Capítulo 4
some-alt