Комментарии 18
Можно взять статистику из t-критерия и использовать её как основу для перестановочного теста. Дёшево, сердито, современно.
Добрый день! Интересная идея! Сразу несколько вопросов
Для проверки какой гипотезы вы хотите использовать такой критерий?
Как он формулируется? Какие у него критические области Можно ли где-то про него прочесть?
Проверял ли вы критерий на корректность?
H_0: средние по двум выборкам равны; H_1: средние отличаются
О вычислительной процедуре, лежащей в основе перестановочных критериев, их плюсах, ограничениях и корректности можно почитать тут:
https://cyberleninka.ru/article/n/permutatsionnye-kriterii-kak-universalnyy-neparametricheskiy-podhod-k-proverke-statisticheskih-gipotez.pdf
https://en.wikipedia.org/wiki/Permutation_test
Если взять t-статистику (в формулировке Уэлча), то получится односторонний критерий. Если взять её по модулю - двусторонний.
Ага, но судя по википедии этот критерий проверяет равенство распределений, а не средних. Я не погружался глубоко в тему, поэтому не могу утверждать, правы вы или нет, используя такой критерий для проверки равенства средних
Единственное, что могу посоветовать - реализовать Монте-Карло проверку и убедиться на разных примерах, что FPR = 5%. А также можно сравнить, насколько он лучше чем t-test, посмотрев мощность на одних и тех же примерах.
Если этот критерий корректен и более мощный, чем t-test, то все отлично и это очень круто) Тогда вы могли бы написать про это статью)
Спасибо за постановку вопроса и за статью! Так приятно, что в наше жуткое время "нажимания кнопок" еще остались люди, готовые сперва протестировать вроде бы общеизвестный (типовой) метод /критерий, и разобраться - насколько он пригоден для данной конкретной задачи, и только потом его применять. Вдвойне здорово, когда они не ленятся еще и написать об этом статью. Надеюсь, что она для многих будет полезна!
Вообще-то даже в википедии в описании метода расписано почему он не будет работать на сформированных вами выборках. В частности "if the responses are assumed to be continuous and the alternative is restricted to a shift in location, i.e., F1(x) = F2(x + δ), we can interpret a significant Mann–Whitney U test as showing a difference in medians. Under this location shift assumption, we can also interpret the Mann–Whitney U test as assessing whether the Hodges–Lehmann estimate of the difference in central tendency between the two populations differs from zero."
Сделайте честный тест в котором происходит только смещение центра распределения, тогда можно будет о чем-то говорить.
PS: И по поводу интерпретации p-value https://en.wikipedia.org/wiki/Misuse_of_p-values а то, что вы описали в своих "экспериментах" это вообще кошмар
Добрый день! Спасибо за критику!
Главное, что я хотел, когда писал статью, чтобы читатели вынесли из статьи, что этот критерий нельзя использовать для анализа AB-тестов. И это полностью согласуется с вашим аргументом: вы никогда не можете утверждать на практике, что у вас просто произошло смещение типа F1(x) = F2(x + δ).
Если вы знали это с самого начала, то основная часть статьи не для вас) Могу лишь порекомендовать прочесть третью часть статьи под заголовком "Когда Манн-Уитни работает?", где я как раз рассказываю про пример со смещением, а также с умножением на константу.
Также было бы интересно подискутировать на тему неправильной интерпретации p-value: я сам большой сторонник того, что его надо правильно понимать, поэтому хотелось бы узнать, где именно вам кажется, что я делаю что-то не так? Можете математически это аргументировать, исходя из определения p-value?
Можете математически это аргументировать, исходя из определения p-value?
Смотрите, у нас есть нуль-гипотеза, с этой нуль гипотезой связано какое-то распределение статистики при условии что нуль-гипотеза верна. Если мы получаем некоторые экстремально далекие значения статистики от этого распределения, то мы можем отбросить нуль-гипотезу. Формально это задается через p-value, которая является вероятностью увидеть полученное значение статистики для априорно заданного нуль-гипотезой распределения.
Дальше, если мы берем и фиксируем какой-то статистический эксперимент, задаем входные параметры в виде форм распределения и размер выборки. То для каждого проведенного эксперимента мы получаем точечное значение статистики, и связанное с ней p-value. Если мы проводим эксперимент много раз, мы получаем распределение статистики и распределение p-value. Если мы возьмем к примеру очень хороший алгоритм или очень большую выборку(в пределе бесконечную), то распределение p-value должно свестись к двум точкам - 0 если нуль гипотеза отброшена и около 1 в остальных случаях.
Из выше обозначенного становится очевидно, что предположение P(p-value < 0.05) = 0.05 принципиально не верно. Приведенные вами результаты эксперимента (значения "power"), конечно можно рассматривать, как некоторое сравнение эффективности различных методов, при заданных входных формах распределения и параметрах выборки, так как они несут некоторую информацию о распределении p-value. Но делать из этого какие-то далеко идущие выводы я бы не стал.
Так же t-test делает гораздо большие предположения о входных параметрах распределения(гауссовость), и соответственно будет иметь значительно большую эффективность по сравнению с тестами, которые ни каких подобных предположений не делают.
del
то распределение p-value должно свестись к двум точкам - 0 если нуль гипотеза отброшена и около 1 в остальных случаях.
К сожалению, это не правда( При корректности гипотезы H0 pvalue распределено равномерно на промежутке [0,1], док-во можно прочесть здесь
Поэтому при H0, P(p-value < x) = x для любого x в промежутке [0,1]. В данном случае я смотрел P(p-value < 0.05) = 0.05 потому что это значит, что критерий можно или нельзя использовать на уровне значимости 5%. Есть правило: "критерий отвергается на уровне значимости alpha" <=> p-value < alpha (почитать можно тут). P(p-value < 0.05) = 0.05 означает, что по этому правилу при корректности нулевой гипотезы я буду ошибаться лишь в 5% случаев, о чем нам и говорит выбранная ошибка 1 рода в 5%.
Вы же сами привели ссылку, там ясно написано, что если нуль-гипотеза верна. Формально это означает что мы берем значение статистики из того же распределения, что и априорно построено исходя из нуль-гипотезы. Естественно если распределения одинаковые, то и p-value будет равномерным.
Ваши же практические эксперименты все и опровергают, задайте больше итераций, и вы увидите что никакой сходимости к 0.05 нет и в помине. И это очевидно с теоретической точки зрения.
PS: или умозрительный эксперимент, который я предлагал, предположим что у вас бесконечная выборка, очевидно что p-value будет сжат к нулю, и распределение уж точно не равномерное.
Да, вы правы, распределение плюс-минус сходится к равномерному. Спасибо!
Когда я ещё верил в А/Б тестирование, я любил гонять А/А тесты на исторических данных. Так можно протестировать всю систему и метрику тоже не изгаляясь с предположениями о распределениях. Интересно, что у Вас получится на этих трёх метриках.
Когда смотришь на успешность А/А тестов (ожидаемые 5% может не получиться) и сравниваешь с успешностью А/Б тестов за всё время... то становится грустно.
Да и 5% - это цифра с потолка. Давно хочу написать как нужно жить, но лень :)
Интересно было бы почитать подобный разбор возможных подводных камней в непараметрическом аналоге ANOVA - критерии Краскела-Уоллиса.
Добрый день! К сожалению здесь не подскажу: не использовал этот критерий в работе и не разбирался в нем(
Но кажется Манн-Уитни это аналог этого критерия, когда у вас всего 2 выборки. Поэтому все примеры из этой статьи кажется можно перенести на 3 и более выборок, чтобы показать те же выводы, что были сделаны в этой статье.
Выше есть по меньшей мере две критичные некорректности, которые стоит исправить. Студенты находят в интернете подобные материалы и транслируют некоторые распространённые заблуждения.
1) "Если данные в A/B-тесте не из нормального распределения, то T-test использовать нельзя."
ЦПТ в помощь, если больше 30-50 элементов в меньшей выборке, то можно.
2) "Манн-Уитни не может проверить ничего, кроме равенства распределений."
Хотя примерно это написано в документации: “The Mann‑Whitney U test is a nonparametric test of the null hypothesis that the distribution underlying sample x is the same as the distribution underlying sample y ”, однако по факту это именно инструмент сравнения средних тенденций выборок. Хотел проверить утверждение о том, что он не показывает неравенство медиан, однако проще показать, что он не показывает равенства распределений:
Код
#Нулевая гипотеза -- средние двух выборок равны
#Альтернативная -- средние отличаются
alpha = 0.05 group_a = [0]*10 + [1]*20 + [2]*24 + [3]*1 + [4]*16 + [5]*20 + [6]*10 group_b = [2]*9 + [3]*91 + [4]*1
fig, ax = plt.subplots() ax.hist(group_a , label="A",bins=np.arange(0,7,.5),align='left') ax.hist(group_b , label="B", color="green",bins=np.arange(0,7,.5),align='left') plt.legend()
results = st.mannwhitneyu( gropup_a, gropup_b)
print('p-значение:', results.pvalue)
if (results.pvalue < alpha): print("Отвергаем нулевую гипотезу") else: print("Не получилось отвергнуть нулевую гипотезу")
Спасибо за статью. И тема актуальна, и примеры отличные - средний чек и отток пользователей - настоящие актуальные примеры.
Однако, вопрос нормальности распределения для t-критерия остается несколько нераскрыт.
Более того, вы сам себе противоречите: пишете, что для применения критерия Стюдента распределение должно быть нормальным, но затем используете экспоненциальное распределение для моделирования платежей и применяете к нему критерий Стьюдента.
Критерий Манна-Уитни — самый главный враг A/B-тестов