Не AБы какие тесты

Description
Канал - наглая реклама курсов по A/B, ну еще размышления по A/B и не только.

https://t.me/smatrosov - до связи
Advertising
We recommend to visit
HAYZON
HAYZON
6,355,729 @hayzonn

💼 How to create capital and increase it using cryptocurrency

👤 𝐅𝐨𝐮𝐧𝐝𝐞𝐫: @Tg_Syprion
🗓 ᴀᴅᴠᴇʀᴛɪsɪɴɢ: @SEO_Fam
Мои каналы: @mazzafam

Last updated 6 hours ago

Канал для поиска исполнителей для разных задач и организации мини конкурсов

Last updated 3 months ago

Новые и перспективные Web3 игры с добычей токенов.

Чат: https://t.me/Crypto_Wolf_Chat

Правила чата смотрите в описании чата.

Все свои вопросы направляйте в чат или главному модератору чата: @Exudna_118

По теме сотрудничества: @Zombini

Last updated 2 months, 2 weeks ago

2 Monate, 3 Wochen her
Не AБы какие тесты
2 Monate, 3 Wochen her
Привет, товарищи статистики!

Привет, товарищи статистики!

А знаете ли вы, что одной поваренной книге по A/B "Practitioner’s Guide to Statistical Tests" от VK Team, к которой я время от времени возвращаюсь, базовое заклинание "assumption" встречается 46 раз?

Один из авторов статьи - Никита Маршалкин, когда-то дал интересное интервью Толе Карпову. Ох, оказывается 4 года прошло с тех пор.

Так вот, до сих пор помню пару моментов в этом интервью:
1. (это я понял задним числом) Когда он говорил про метрику отношений, - тот же средний чек, - но тогда он ее так не называл (правда тогда ее так никто особо и не называл), он приводил пример про CTR. Он его разделял на глобальный CTR, то есть CTR множества (группы), и на локальный CTR, то есть CTR на юзера.

Вот думаю, что "глобальный/локальный" - хорошие определения в этом контексте.

  1. Его высказывание про книгу "Thustworthy Online Controlled Experiments" от Рона Кохави: "Все статьи можно выбросить, прочитать только это книжку". Книжка действительно очень хорошая, но с ней вот какая штука: она полезна уже тем, кто понимает A/B, хотя бы базу, как оно работает (я про критерии); а вот тем, кто только начал свой путь - скажем так, она хуже не сделает, но и не особо поможет. Но если собирётесь читать, то читайте на английском, на русском хватало опечаток!

  2. Хорошие объяснения разных подходов по сплитованию трафика, bootstrap. Но особенно запомнилось рассуждение того, как A/B проводятся в маленькими компаниями в сравнении с большими: когда продукт только на старте, важны большие эффекты, что само по себе требует мало аудитории, а когда продукт уже развит и у него большая аудитория, то эффекты ожидаются не столь большие (все самые бустящие/важные/критичные вещи внедрены/пофикшены), но и MDE на такой аудитории можно отлавливать меньше.

В этом смысле я сейчас думаю о графике MDE vs размер аудитории (2-ая картинка). Что большой MDE вполне имеет право на жизнь, но только если вы стартап. Но когда вы уже большие, вам следует ориентироваться в основном на малый прирост. Менять местами ожидания, - стартапу подавать малый MDE, крупному ребятам - большой MDE, - значит для первых делать бесконечный тест (так как большой размер выборки нужен), а для вторых - ничего не менять на продукте (так как ну вряд ли будет такой эффект). И то и другое тупиковый путь.

Со статьей и интервью рекомендую ознакомиться, если не видели.

4 Monate, 2 Wochen her

Привет, товарищи статистики!

Все собирался пост написать, да не мог. Но в моем случае часто работает "спросили интересный вопрос" -> "родился пост". В общем, благодаря беседе в чате Юры Борзило и вопросу Сергея в частности (спасибо!) этот пост и появился (но немного с другой постановкой вопроса):

"Допустим запустили мы АБ, получили p-value 0.051 (уровень значимости alpha = 0.05), что делать?"

5 Monate, 1 Woche her

Привет, товарищи статистики.

Хотел поделится впечатлениям от докладов, которые хотел посетить и посетил на Aha.

1) "Causal Impact. Как делать эксперименты там, где нет классический AB-тестов. Теория, практика и "подводные камни" метода"
Очень надеялся, что подача будет иная. Так и получилось. Лучший доклад из всех, что был на конференции. Конкретный, последовательный. Вообще, очень классно, что презентация сама по себе содержательна: так и надо делать.

Дмитрий наглядно погружает в метод, библиотеку, ряд проблем и далее дает рекомендации, как проблемы эти преодолеть. Опять-таки, наглядно (я такое очень люблю и сам стараюсь практиковать)

Выделю несколько моментов, не по порядку:
- Отдавать предпочтение классическим A/B-тестам (sic!)
- Оценивать уровень стат. значимости и мощность через Монте-Карло (так вы поймете не просто их значения, но и надо ли вам тюнить модель прогноза или нет)
- Критерии качества модели прогноза и указания на работу с гиперпараметрами (были ссылки на видео и на статью)
- Поиск ковариат (независимая предсказательная/контрольная переменная)

Очень хороший доклад как опорный материал к Causual Impact. В целом, этот метод становится востребованым к пониманию на рынке, рекомендую погрузится. Сделать это можно через следующие материалы (на английском):
- онлайн книга в открытом доступе
- онлайн курс от того автора в открытом доступе

2) Как каузальные графы и линейные модели ответят на все ваши вопросы в A/B-тестах

Докладчиком был Кирилл, глава аналитики в HH (как оказалось, как автора я его знаю - ninja на medium, вот статья, которую я чаще видел в репостах, про требования нормальности в t-test'e). После его выступления я поговорил с ним, чтобы "спрямить" свои впечатления.

Поэтому выскажусь в хорошем ключе так: я согласен с прогнозом Кирилла, который он высказал в личной беседе, что линейные модели это вероятно новый будущий хайп в ближайшие годы. Действительно, A/B через линейки это тот же самый t-test, только сбоку, а если накидывать контрольных переменных, то можно "очищать эффект", и, - чего не было в докладе, - сразу оценивать по сегментам результаты. Все в рамках одного кода.

Но есть проблемы:
- спутывающие переменные (confounding var.), которые влияют и на воздействие и на то, на что целится воздействие
- графах связанности переменных: визуально штуки-то простые, три "шарика" переменных, три связи (цепочка, вилка, ~~бумага~~, коллайдер), а далее их вариации, но сами связи и то, что происходит, если "условится", непривычно воспринимать.
- надо исследовать метрики на предмет того, какой вид группировок "шариков" сходится с реальностью: в общем, вместо дерева метрик предлагается строить графы метрик (что так-то методологически правильнее)

Все это по сути тоже про Causal, но c другой стороны: Сausal Inference
Есть очень хороший видео-материал на английском. Достаточно понятный, но все равно немного привыкнуть к "шарикам" и способу мысли за ними будет нужно.

В общем, штука перспективная, по словам Кирилла уже давно в практике зарубежом (подход вроде выработал гугл в 10-х годах), а до нас катится лишь сейчас, классика. Интересно посмотреть, сбудется ли прогноз. Но в любом случае перейти в свои ноутах на линейные модели в пост-хоке рекомендую.

Если же сделать шаг назад и рассказать о докладе, то, кратко говоря, это был порыв души сообщить не без волнения о том, что возможно грядет ~~покайтесь, грешники~~; учите матчасть. Будет непонятно, но если посмотрите курс выше с пересмотром, то понятно :)

3) - "Влияние сетевого эффекта в AБ-тестах на unit-экономику в ритейле"
Вообще, я бы тут не столько говорил о сетевом эффекте, сколько об учете костов в рамках вашей инициативы, то есть в идеале проводить A/B с учетом затрат по каждой группе (короче, быть в рамках unit-экономики). А то вполне может быть так, что в группе B стат. значимый прирост, но из-за повышенных расходов по экономике убыток.


Уже только благодаря этим докладам я рад, что побывал на конфе. Но помимо этого увиделся со многими вживую: рад был всех увидеть и пообщаться!

Вот такие вот впечатления.

6 Monate, 3 Wochen her

Понимаем процедуру последовательного тестирование mSPRT, часть-5

8.1) Что делать с этой оценкой? Где p-value? Будет, но все же в пейперах подход иной: для статистики Λ выводят границы через ошибки 1 и 2-го рода, возьмем классику 0.05/0.2:
A = (1-Beta)/Alpha = 0.8/0.05 = 16
B = Beta/(1-Alpha) = 0.2/0.95 = 0.21

Далее руководствуются следующим:
- Если B < Λ < A, то тест продолжают (вплоть до окончания, но при каждых новых данных считают снова Λ)
- Если Λ > A, отклоняем H0, останавливаем тест.
- Если Λ < B, не можем отклонить H0, останавливаем тест

Разберемся с этими A и B:
A - это та точка, где мы и достигаем желаемого баланса мощности против ошибки 1-го рода по нашему дизайну.

B - чуть сложнее. 1-Аlpha это зона, где мы верно не отклоняем H0, поэтому B та точка, достигается баланс между верным не отклонением H0 и ошибкой 2-го рода, но тоже согласно дизайну.

Итого эти границы это точки согласия, которые мы прорабатывали ранее, дизайня тест, то есть ошибки 1, 2-го рода, мощности (предполагается, что вы осмысленно к этому подходите при дизайне, принимаете решение)

8.2) В качестве альтернативы еще используют p-value. Просто поделим-ка 1/Λ. В нашем примере = 1/1.25 = 0.8 - это по сути p-value нашего теста.

При этом замечу, что 1/A = 1/16 = 0.0625. То есть если у нас будет Λ > 16, то это было бы почти тоже самое, что 1/Λ >= alpha.

Комментарии:

  1. Понять движение Λ в большую или меньшую несложно:
    Если разница очень большая, то думайте о знаменателе, у него-то θ_0 = 0. Знаменатель будет занулятся (а числитель каким бы маленьким бы ни был, - так как слишком большая разница и для θ_A не характерна, - будет все равно больше). Чем ближе к нулю, тем результат стремится к бесконечности.

Если разница очень маленькая, - что часто не имеет практической значимости, - значение Λ будет болтаться в окрестностях 1 и ниже, но если эффект вообще обратный для B, то зануляться. Тут по правилу Λ < B можно и оставиться, но вот думаю, что можно построить аппроксимацию и по отрицательным эффектам и выставить границу -A вместо B. Не знаю, тут еще думаю.

  1. Если используете mSPRT, то, считайте, что используйте сплав байесовского тестирования с фреквенсистским. Хотели Байеса, получили.

  2. Видел реализацию mSPRT через средние и z-score, но по сути это все одно и тоже.

——
Фух, вроде это все и вроде как без ошибок (надеюсь, во всяком случае, что без грубых).
Мне кажется, что разложил если не на молекулярном уровне, то на клеточном.
Используйте с пониманием!

P.S. Ясен хрен, минутка рекламы: на курсе по базе (!) A/B все разжевано вообще до атомов с 100500 картинками, как я люблю. Залетайте!

P.S.S. Более сложный пример разниц
A = [100, 101]
B = [101, 102]
B - A = [101 - 100, 101 - 101, 102 - 100, 102 - 101] = [1, 0, 2, 1]
Далее каждую из обсчитываем как было с примером выше. Хорошо, что есть компуктер, да?

Приложение (спасибо Диме):
- бумажулька №1
- бумажулька №2
- статья про мощность - про нее-то я ничего не сказал, но статья самодостаточная
- интро-видосик от Райффезана
В остальном материала очень мало, поэтому что? - верно, шарим этот, если зашел. Может, на хабр статью заряжу как переложение этой, думаю.

6 Monate, 3 Wochen her

Понимаем процедуру последовательного тестирование mSPRT, часть-4

Проблему SPRT, - точное значение HA, - решила модификация за авторством Роббинса в 1970 (!) и которую применили в 2015.

В примере части-3 у нас были исторические данные. Cейчас: у нас есть исторические данные по проведенным тестам, в рамках которых мы способы подсчитать средний положительный эффект и его дисперсию. Если у вас таких данных нет, штош, "подбирайте" свой приор (бич Байеса)

Но допустим, они в наличии: у нас есть возможность аппроксимировать распределение эффекта, приора, с этим средней и отклонением τ. А где распределение (чаще нормальное), там и вероятность.

1) Тут для простоты пускай распределение будет буквально из трех значений θ_A=[1%, 2%, 3%], отклонение τ, c соотв-щими вероятностями P(θ_A)=[0.25, 0.5, 0.25]

2) Что если при получении новых данных, применяя частично Байеса, перевзвешивать P(θ_A)?
Частично это значит вот что: в примере про лето была формула, когда мы переоценивали вероятность жаркого лета при жарком мае:
P(Ж.Лето|Ж.Май) = P(Ж.Май|Ж.Лето)*P(Ж.Лето) / P(Ж.Май)

Уберем знаменатель:
P(Ж.Лето|Ж.Май) ~ P(Ж.Май|Ж.Лето)*P(Ж.Лето)
Собственно, вот.

В текущем кейсе:
P(θ_A|data) ~ L(data|θ_A)*P(θ_A)

2) Что если вместо значений только B использовать всевозможные разницы между А и B?
A = [100]
B = [101]
B - A = [1]
Эффект = 1%
(более сложный пример далее)

3) При этом для знаменателя θ_0 = 0, нет эффекта

4) То есть у нас в числителе будет L(data|θ_A)P(θ_A), а в знаменателе только L(data|θ_0 = 0)
L(data|θ_A)
P(θ_A)/L(data|θ_0 = 0)

Пока забудем про *P(θ_A) ->
подсчитаем L(data|θ_A)/L(data|θ_0 = 0), где θ_A=[1%, 2%, 3%]

5) Полученное значение разницы B-А в процентом виде = 1%, считаем L-ки:
5.1. θ_A_1 = 1% - строит распределение со средним = 1% с отклонением τ и смотрим
L(data=1|θ_A=1) = 0.5 (тут и далее данные из головы)

Рассмотрим cо стороны знаменателя:
L(data=1|θ_A=0) = 0.2

Поделим, как это было в SPRT:
L(data=1|θ_A=1)/L(data=1|θ_A=0) = 0.5/0.2 = 2.5

5.2. По аналогии для θ_A_2 = 2%:
L(1|θ_A=2) = 0.2 - тут у нас среднее = 2% с отклонением τ
L(1|θ_A=2)/L(data=1|θ_A=0) = 0.2/0.2 = 1

5.3. По аналогии для θ_A_3 = 3%:
L(1|θ_A=3) = 0.1
L(1|θ_A=3)/L(data=1|θ_A=0) = 0.1/0.2 = 0.5

6) вспоминаем про P(θ_A)
= [результат 5.1
P(θ_A=1), результат 5.2P(θ_A=2), результат 5.3P(θ_A=3)]
= [2.50.25, 10.5, 0.5*0.25] = [0.625, 0.5, 0.125] -> тут НЕ обязательно должно равно быть единице, переходим в п.7

—-
Для любознательных, если бы не было бы деления и нам надо было бы пересчитать постериор (редко показывают в учебниках):
P(θ_A|data) ~ L(data|θ_A)*P(θ_A)

P(θ_A|data) = [ L(data|θ_A=1)P(θ_A=1), L(data|θ_A=2)P(θ_A=2), L(data|θ_A=3)P(θ_A=3) ] =
= [0.5
0.25, 0.20.5, 0.10.25] = [0.125, 0.1, 0.025] -> в сумме нет 1 и вот тут это проблема

Чтобы у нас получились корректные вероятности с суммой 1, нужно нормализовать каждое значение на их сумму 0.125+0.1+0.025 =0.25 -> [0.125/0.25, 0.1/0.25, 0.025/0.25] = [0.5, 0.4, 0.1] ~ наш новый P(θ_A), помним, что считали приблизительно.
—-

7) Дальше суммируем [0.625, 0.5, 0.125] = 1.25 -> это мы с вами получили оценку для Λ
Нам бы знак суммы в формуле: L(data|θ_A)*P(θ_A)/L(data|θ_0 = 0), но так как на самом деле θ_A распределяется не так [1%, 2%, 3%], а так [1%, 1.00001%, .... 3%] (так как величина непрерывная), то мы делаем по сути суммирование по бесконечно малому приращению, а это, - ВНЕЗАПНО, - интеграл:

Отсюда полная формула это:
∫ П[ L(all_data|θ_A) / L(all_data|θ_0]*P( θ_A) dθ_A

Обратите внимание: сначала мы считаем поддержку, - L(all_data|θ_A) / L(all_data|θ_0, - в пользу альтернативной гипотезы, заданной распределением, а после делаем умножение с P(θ_A).

Последнее важно сделать, так как в сущности это смягчение оценки поддержки HA с учетом приора этого же HA. Без этого это было бы тоже самое, что, подкинув пару раз монетку, сделать уверенный вывод, что она честная/нечестная; приорные знания оттормаживают наши скороспелые выводы. Без них алгоритм работал бы не лучше правила "вижу значимость - останавливаю". Ну, в целом, это к вопросу, как mSPRT контролирует ошибку 1-го рода

6 Monate, 3 Wochen her

Понимаем процедуру последовательного тестирование mSPRT, часть-3

SPRT
Представим, что мы давненько собираем данные про какую-то метрику, а тут решили запустить тест.
Так как данные собираются давно, то у нас есть консистентные исторические данные, данные до эксперимента. Скажем, они распределены нормально со средней 100, отклонение, условно, 10.

Допустим, что тестируем гипотезу, которая имеет под собой крепкую базу исследований бла-бла-бла, в общем, серьезный шанс дать прирост средней на +30 рублей (отклонение же не затронет).

То есть:
H0 = θ_0 = 100
HA = θ_A = 130

Зная про Likelihood Ratio, вы можете вполне прийти к идее: а давайте при каждом поступлении данных смотреть Likelihood Ratio, это будет нашей очередной статистикой, обозначим как Λ:
Λ = L(data|θ_A)/L(data|θ_B) и смотреть, попадает ли она в некоторый диапазон, например, 3.2 - 10 (Bayesian Factor с его границами интерпретации по Kass и Raftery)?
- Если да, стопаем, отклоняем что нужно и готово)
- Если нет, продолжаем до момента окончания теста по заранее рассчитанному размеру выборок.

Собственно, это тест Wald, который был разработан в 1945 году (!)

Абстракцию низведем до конкретрики, все как мы любим. Data это у нас данные из группы B
День №1:
B = [120]
- Интуивно, как будто правдопободнее, что это из HA (θ_A = 130), чем из H0 (θ_0=100) поэтому мы могли бы получить такое ratio:
Λ = L(data|θ_A)/L(data|θ_B) = 0.13/0.06 = 2.16
0.13 и 0.06 - тут и далее просто из головы беру значения.

День №2:
B = [120, 125]
- Теперь мы должны учесть L и 1-го И 2-го дня. Когда нас просят подсчитать ту же вероятность совместных событий: событие №1 И событие №2, мы умножаем вероятности. С Likelihood тож самое.

Чуть перепишем теперь формулу:
П[ L(data|θ_A)/L(data|θ_B) ], где П - это Product или Произведение.
Раскрыли бы мы это так:
Λ = П[ L(data|θ_A)/L(data|θ_B) ] =
= L(data_день-1|θ_A)L(data_день-2|θ_A) / L(data_день-1|θ_0)L(data_день-2|θ_0)

К нашим данным: 125 снова правдопободнее, что это из HA, чем из H0, и даже БОЛЕЕ правдопободнее, чем было 120. Скажем, равно это 0.15. Ну а для H0 менее правдопободнее, 0.02.

Λ =П [ L(data|θ_A)/L(data|θ_B) ] = 0.130.15/0.060.02= 16.12 - да, вот тут уже даже больше 10 -> "сильное доказательство" (в пользу гипотезы в числителе), отклоняем H0 бла-бла.

Но для закрепления:
День №3:
B = [120, 125, 160]

- 160 хоть и правдоподобнее для HA на фоне H0, но сама вероятность этого в рамках HA все же мала (на правом конце HA), будет 0.01. Для H0 = 0.0001.
Λ = П [ L(data|θ_A)/L(data|θ_B) ] = 0.130.150.01/0.060.020.0001= 1625

——
Проблемы такого подхода:
1) Нужны исторические данные для H0
2) Но самая засада - это надо знать точное значение HA

mSPRT как раз и решает п.2 (но тоже не без некоторых предварительных требований).

6 Monate, 3 Wochen her

Понимаем процедуру последовательного тестирование mSPRT, часть-2

Likelihood (Правдоподобие).

Вводная:
Мы не раз пересекались с моим другом, Петр Ермаковом, попить пива, но правда в том, что чтобы вытащить меня на встречу, Пете надо насколько раз меня об этом спрашивать. Отсюда ему примерно надо раз 7 об этом меня спросить, чтобы я ответил утвердительно.

Значит, у Пети есть представление о вероятности о моем согласии
P("Да" на вопрос "Пойдем пить пиво?") = 1/7
Очевидно, что спроси он других этот вопрос, была бы и другая вероятность.
То есть, это именно я обладаю такой вероятность, обозначу себя за θ (тета):
P(θ) = 1/7

Так как Петя также занимается статистикой, то он может прикинуть вероятность неудачных попыток до моего согласия, получается экспоненциальное распределение (убедитесь сами, подставив 1/7):
0 (сразу) - 0.14
1 (то есть согласен буду на 2-м обращении) - 0.12
и так далее.

Ситуация:
И вот однажды Пете звонит некто с моим голосом и просит денег. Подозрительно. Петр решает сделать проверку: "Пойдешь пиво пить?" - в ответ: "Да".

Первый ход мысли:
"Вероятность, что если это Серега, то он согласится сразу = 0.14"
P(сразу|θ) = 0.14. Но с другой стороны: насколько вероятно, что если собеседник согласился сразу, то это Серега?

Обратите внимание, вместо "сразу|θ" мы теперь рассуждаем о "θ|сразу". Итого, ответ: настолько же -> P(θ|сразу) = 0.14, только P при такой постановке меняется на L от слова Likelihood:
L(θ|сразу) = 0.14

Второй ход мысли: "Если это не Серега, то кто? Мошенник? А какова вероятность согласия сразу, если это мошенник?"
Петр предположил, что мошенники в принципе на вопросы вероятнее всего соглашаются, чтобы не разводить полемику: P(θ_2) = 9/10. Отсюда вероятность согласия сразу, раз это мошенник: P(сразу|θ_2) = 0.9. Но с другой стороны: насколько правдоподобно, что если собеседник согласился сразу, то это мошенник? L(сразу|θ_2) = 0.9

Раз у нас два Likelihood, то их можно сравнить!
L(θ_2|сразу) больше, чем L(θ|сразу), значит скорее всего просьба про денег порождена θ_2, то есть мошенником. Иными словами, куда как правдоподобнее, что это мошенник, чем Серега. Кладем трубку, значит.

Есть подставить вместо конкретных лиц, которые отвечали на вопрос, слово "модель", то в статистике правдоподобие или Likelihood это насколько хорошо некий факт, - моментальное согласие попить пиво, - поддерживает предположение о модели, которых у нас их две (кто из сразу ответит "да").

Более того, сам по себе Likelihood бессмысленен: ну и что, что L(θ|сразу) = 0.14? Ну мало, да. Но а у если ввести θ_3 = "кот", тогда L(θ_3|сразу)=0.00... (или 1? Кто знает этих котов). То есть нужно две и более моделей, так как только в сравнении понятие "Правдоподобие" обретает практический смысл.

Likelihood Ratio
Аналогично отношению шансов / Bayesian Factor
L(θ_2|сразу) / L(θ|сразу) - 0.9/0.1 = 9 -> L(θ_2|сразу) в 9 раз "правдоподобнее", вероятнее, если хотите.
По сути (вернув порядок условности -> сразу|θ) это все тот же уровень поддержки одной гипотезы против другой.

База закончена, теперь к первой процедуре, к SPRT

6 Monate, 3 Wochen her

Привет, товарищи статистики!

Пониманием процедуру последовательного тестирование mSPRT в 5 частях, часть-1

Разговор Димой, который ведет канал (подписывайтесь, ставьте лайки, так, что там еще по сценарию), а также его посты, смотивировали написать цикл статей про mSRPT. Картинки размещу в комментариях, хотя по сути они не нужны.

Итак, последовательное тестирование (Sequential Testing) это процедура проверки гипотезы по мере накоплений данных, в наших реалиях - во время проведения теста до его установленной даты окончания. Основная цель - ускорение процесса тестирования гипотезы, но так, чтобы ложноложительных прокрасов было не более заданного уровня значимости, а не так, как это может при наивном подглядывании. Одной из таких процедур, для пущей вводной, можно считать как раз проверку, например, последовательности p-value, о котором был прошлый пост.

Но есть методы предтеч, которые более красивы, продвинутее и вообще. Один из таких это mSPRT, о нем и будем говорить, но прежде, нам нужно забазироваться, вспомнив:
- Шансы
- Отношение шансов
- Bayesian Factor
- Likelihood (Правдоподобие).
- Likelihood Ratio
- SPRT
- еще элементы из байесовской статистики (но уже походу mSRPT)

Итак, начнем.

Шанс:
Всю свою жизнь живу в Петербурге, каждый год СМИ твердят о том, что вот уж это лето будем жарким. Но память о "былых летах" за период лет в 10 дает примерно такой расклад:
- 3 лета были жаркими
- 7 были холодными
3 к 7, что и это будет жарким. Это и есть шансы, в данном случае жаркого лета к холодному.

Давайте стандартизируем через минимальное значение из этих двух, то есть через 3. Было "3 к 7", а стало "3/3 к 7/3"
-> 1 к 2.5 - так ведь привычнее, да? Все эти "1 к 100" вот про тоже самое.
1 к 2.5 -> на каждое жаркое лето приходится в среднем по 2.5 холодных, раскладывается это так [жаркое, холодное, холодное, жаркое, холодное, холодное, холодное, ...] и так в бесконечность на базе текущих данных.

Отношение шансов
Где Петербург, там и Венеция, - подозреваю, что в тамошнем городе шансы жаркого лета 9:1 или 1:011
Поделим шансы Венеции на шансы Питеры: 9/1 / 3/7 = 21 -> у Венеции в 21 раз больше шансов лета здорового человека. Эх, Италия...

Bayesian Factor
1. Естественно, какое-то событие может, - мое любимое слово, - перевзвесить гипотезу о жарком лете. Допустим погода в мае, а именно жаркий май.
P(Ж.Лето|Ж.Май)=P(Ж.Май|Ж.Лето)*P(Ж.Лето) / P(Ж.Май) - допустим, перезвесили и получили постериор.

  1. Теперь можно подсчитать соотношение постериора с приором (вероятностью ДО перевзвешивания) с аналоличной интерпретацией, как в отношении шансов:
    P(Ж.Лето|Ж.Май) / P(Ж.Лето) - допустим = 3. Это значение можно интерпретировать как прирост информации в виду новых данных, а также "усиление" нашей изначальной гипотезы.

  2. Но в A/B мы оприруем H0 и HA, в нашем примере HA - это холодное лето, P(Х.Лето):
    P(Х.Лето|Ж.Май)=P(Ж.Май|Х.Лето)*P(Х.Лето) / P(Ж.Май)

Тогда отношение двух постериоров это:
P(Ж.Май|Ж.Лето)P(Ж.Лето) / P(Ж.Май)
/
P(Ж.Май|Х.Лето)
P(Х.Лето) / P(Ж.Май)

По правилу деления у нас вторая дробь переворачивается и P(Ж.Май) сокращается.
P(Ж.Май|Ж.Лето)P(Ж.Лето) / P(Ж.Май|Х.Лето)P(Х.Лето) = K

Готово: мы подсчитали соотношение, а точнее коэффициент K - "поддержку" постериорной гипотезы жаркого лета против гипотезы холодного лета с учетом данных. Чем K больше, тем кратно больше поддержка гипотеза о жарком лете (в общем виде - о гипотезе в числителе).

Статистики Kass и Raftery предлагают так интерпретировать K при сравнении двух гипотез:
от 1 до 3.2 - "не стоит даже упоминания"
3.2 - 10 -> "что-то значимое"
10 - 100 -> "сильное доказательство" (в пользу гипотезы в числителе)

100 -> "железобетонно" (числитель лучше знаменателя)

P.S. Судя по снегу в мае, это лето снова будет холодным. П - Питер, чтоб его.

We recommend to visit
HAYZON
HAYZON
6,355,729 @hayzonn

💼 How to create capital and increase it using cryptocurrency

👤 𝐅𝐨𝐮𝐧𝐝𝐞𝐫: @Tg_Syprion
🗓 ᴀᴅᴠᴇʀᴛɪsɪɴɢ: @SEO_Fam
Мои каналы: @mazzafam

Last updated 6 hours ago

Канал для поиска исполнителей для разных задач и организации мини конкурсов

Last updated 3 months ago

Новые и перспективные Web3 игры с добычей токенов.

Чат: https://t.me/Crypto_Wolf_Chat

Правила чата смотрите в описании чата.

Все свои вопросы направляйте в чат или главному модератору чата: @Exudna_118

По теме сотрудничества: @Zombini

Last updated 2 months, 2 weeks ago