Pull to refresh

Comments 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 делает гораздо большие предположения о входных параметрах распределения(гауссовость), и соответственно будет иметь значительно большую эффективность по сравнению с тестами, которые ни каких подобных предположений не делают.

то распределение 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-критерия остается несколько нераскрыт.

Более того, вы сам себе противоречите: пишете, что для применения критерия Стюдента распределение должно быть нормальным, но затем используете экспоненциальное распределение для моделирования платежей и применяете к нему критерий Стьюдента.

Sign up to leave a comment.