Cómo verificar que no haya sesgo en su muestra al hacer una prueba A / B

La forma incorrecta es mirar alguna variable durante el período del experimento y buscar grandes desviaciones (como algunos sugirieron), ya que esas variables podrían verse afectadas por el experimento en sí (incluso si no lo crees). Por el contrario, si elige alguna variable que claramente no se ve afectada por el experimento (por ejemplo, lluvia), entonces no está realmente probando el sesgo en su muestra que podría importar sus métricas.

Michael Hochster mencionó una idea que usamos: mirar hacia atrás en el tiempo ANTES de que el experimento comenzara a ver si la división introducida por su función de aleatorización / hash estaba equilibrada para las métricas clave. Suponiendo (y este es un requisito importante) que use una función de aleatorización / hash diferente para cada experimento (por lo que no hay efecto de arrastre), antes de que comience el experimento, debe mirar una prueba de A / A (sin diferencia) y el Las métricas clave deben estar equilibradas. Esto se describe en la Sección 3.5.4 en el documento Cinco resultados desconcertantes explicados

La extensión obvia de lo anterior es probar múltiples semillas o funciones hash y elegir la mejor, es decir, la que minimiza el delta en las métricas clave que le interesan en el período AA previo al experimento. Esta característica es una parte integral de la plataforma de experimentación de Bing.

Otra prueba que debe hacer es lo que llamamos una prueba SRM, o un desajuste de la relación de muestra. Ver ConversionXL AB Pitfalls, trampa # 3 (diapositiva 13). Si ejecuta un experimento con porcentajes iguales asignados a Control / Tratamiento (A / B), debe tener aproximadamente el mismo número de usuarios en cada uno.

Como ejemplo, si ejecuta un experimento del 50/50% y obtiene 821,588 usuarios en control y 815,482 usuarios en tratamiento, entonces tiene un sesgo con alta probabilidad. La proporción de 50.2% en lugar de 50% tiene un valor p de 1.8e-6, por lo que la probabilidad de que esta división (o más extrema) ocurra por casualidad es menor a 1 en 500,000. Un simple verificador SRM está disponible en srmCheck.xlsx

Finalmente, más importante que verificar el sesgo en una sola muestra, uno debe buscar sesgos en el “sistema” o en la forma en que se estiman los std-devs. Esto se puede hacer mediante la ejecución de múltiples pruebas A / A y ver si las métricas son estadísticas diferentes el 5% del tiempo. Algunas métricas requieren el uso del método delta o bootstrapping (consulte la Sección 5 en Siete trampas). En algunos casos, los valores extremos pueden tener un gran impacto, por lo que es útil limitar o truncar.

Si bien no se aceptará ningún documento porque detalla un error tonto, la realidad es que los errores son una gran fuente de “sesgo” en la práctica. Es necesario ejecutar pruebas A / A para generar confianza en el sistema.

No hago análisis web, pero buscaría algunas variables estáticas, ampliamente disponibles y fáciles de obtener, como navegador / versión, ubicación geográfica, etc. y luego compararía sus muestras para ver si la diferencia está dentro de lo esperado distribución normal de medios. Si puede encontrar algo que sea importante para su prueba, como una variable que se correlaciona con la propensión a tomar una determinada acción, sería aún mejor, pero en general, la mayoría de las otras variables funcionarán.

Imparcial en cuanto a qué? Si tiene datos sobre otras variables, puede ver cuán similares son las dos muestras con respecto a esa variable.

Si no tiene esa información, no puede hacer nada excepto confiar en su proceso de aleatorización.

Mire hacia atrás en el tiempo y compare las tasas de conversión para los grupos A y B antes de que la prueba comience a ejecutarse. Deberían ser casi lo mismo.

More Interesting

¿Cómo se ha reflejado la revolución de los grandes datos en otros países además de los Estados Unidos?

¿Qué bibliotecas de Python se usan comúnmente en el mundo del análisis de datos / ciencia de datos?

¿Cuál es el software más eficiente para el análisis de big data?

¿Cómo se usa el aprendizaje automático en genómica?

Seguridad de la información o ciencia de datos, ¿cuál elegir?

¿Cuál sería un buen problema de recomendación de Kaggle para elegir como un proyecto corto?

¿Cuáles son algunos proyectos que un estudiante de ciencias de la computación puede hacer en el semestre final en el campo de big data y análisis de datos?

¿Cuál es una buena herramienta GUI para PostgreSQL que tiene una vista con pestañas cómoda para resultados y consultas, fácil clasificación y agrupación de resultados, IntelliSense, un buen "generador de consultas" para ayudar con la sintaxis, soporte para el control de versiones del código SQL y una buena depuración ¿modo?

¿Cuál es el mejor marco de Python para el procesamiento en paralelo (procesamiento SMP y de clúster)?

¿Cuáles son los proyectos de ciencia de datos más interesantes en Quora?

¿Cuál es la diferencia entre Driven-data y Data?

Cómo comenzar a construir un proyecto sobre minería de datos desde cero

¿Hay algún buen conjunto de datos para realizar análisis sentimentales? Necesito un conjunto de datos con etiquetas positivas, negativas y neutrales.

¿Qué es el álgebra relacional y para qué se utiliza? ¿Cómo se relaciona con la ciencia de datos?

¿Cuáles son los campos donde se utiliza el análisis de big data?