Алгоритм A/B тестирования сортировки
Я хочу создать алгоритм, который позволит проводить A/B-тестирование с переменным числом субъектов с различным количеством свойств на субъект.
Например, у меня 1000 человек со следующими свойствами: они из двух отделов, некоторые из них являются менеджерами, некоторые из них женщины и т. Д. Эти свойства могут увеличиваться / уменьшаться в зависимости от ситуации.
Я хочу сделать алгоритм, который разделит население на две части с наилучшим возможным представлением как A, так и B из всех свойств. Итак, я хочу две группы по 500 человек с одинаковым количеством обоих отделов в обоих, равным количеством руководителей и равным количеством женщин. В частности, я хотел бы сохранить соотношение каждого свойства как в A, так и в B. Поэтому, если у нас есть 10% менеджеров, я хочу, чтобы 10% выборки A и B были менеджерами.
Любые указатели на то, с чего начать? Я уверен, что такой алгоритм существует. У меня есть ощущение, что в некоторых случаях это может быть неразрешимо, поскольку может быть нечетное количество менеджеров, женщин и отдела 1.
2 ответа
Составьте список перестановок всех переменных a/b.
Dept1,Manager,Male
Dept1,Manager,Female
Dept1,Junior,Male
...
Dept2,Junior,Female
Пройдите через всех людей и назначьте их соответствующей перестановке. Возможно, сначала определите порядок людей, чтобы убедиться, что нет предвзятости в порядке их добавления к каждой перестановке.
Dept1,Manager,Male-> Person1, Person16, Person143...
Dept1,Manager,Female-> Person7, Person10, Person83...
Иметь второй процесс, который проходит каждую перестановку и назначает половину людей в одну тестовую группу и половину другой. Вам нужно будет учитывать нечетное количество людей в группе, но это должно быть довольно легко учесть, очевидно, больший размер выборки уменьшит влияние этого нечетного числа на конечные результаты.
Алгоритм разделения групп прост - взять каждую группу людей, у которых есть все общие измерения, и назначить половину для лечения и половину для контроля. Вам не нужно беспокоиться о нечетном количестве людей, какой бы статистический тест вы ни использовали, это будет учитывать. Если какое-то измерение искажено таким образом (т. Е. Во всей выборке всего 2 женщины), может быть целесообразно выбросить это измерение.
Простые A/B-тесты обычно используют t-тест или g-тест, но в вашем случае вам лучше использовать ANOVA для определения значимости лечения по каждому из отдельных измерений.