В продолжении про MDE, несколько слов о его сводного брате, о "Желаемом эффекте".
Дело в том, что формуле размера выборки для A/B в рамках t-test'a стоит следующее (среднее А минус среднее B). Но когда у нас есть доступный размер аудитории, альфа и мощность мы можем оценить именно то, что и называется MDE: какой минимальный эффект в лице разниц среднего А и среднего B мы можем обнаружить при заданных параметрах и доступной аудитории.
Подсчитали? Прекрасно, теперь у нас есть MDE как одно из двух лиц "среднее А минус среднее B"
Другое лицо это - Желаемый эффект.
Желаемый эффект - это оценка прироста, которую бизнес ожидает от своей гипотезы.
На чем строиться это оценка? Чаще всего "нам так кажется". Это на самом деле не так плохо, так как:
- во-первых, нельзя сбрасывать со счетов экспертизу людей
- во-вторых, трудность оценки возможного эффекта. Делать это более взвешенно куда сложнее, чем кажется. Как правило, требует какую-то историю исследований и тестов, сбор фактов, анализ исследований по индустрии; то есть подсчитает за день-другой не выйдет. При этом представьте: это надо делать по каждой гипотезе.
Поэтому "нам так кажется" это норма в бизнесе, нравится или нет: он двигается иначе, чем НИИ.
Что мы делаем с этим Желаемым Эффектом? А все довольно просто: смотрим, больше или меньше он MDE, от этого мы сразу понимаем и мощность по него нашего теста. Проблема возникает в случае, если MDE больше этого эффекта, у эффекта меньше мощность, чем мы планируем. Один из вариантов (помимо изменения альфы и увеличения размера выборки - последний предпочтительнее, но не всегда возможен) остановится Желаемом эффекте = MDE. То есть пытаться отловить эффект больше. И вот слово "больше" как будто бы хорошо, да?
Ведь раз мы говорим за бизнес, то возникает вполне резонный вопрос: "Разве больший эффект это не то, что нужно бизнесу?" Конечно, да, вложить 1 рубль и получить с него 100 рублей это ж милое дело. Так зачем нам получать 50, если можно 100?
Но дело в том, что развитие редко принимает скачкообразную форму, это скорее постепенное движение от одного маленького улучшения к другому. Большой эффект же вообще явление редкое, маловероятное: то есть хоть его и мощность как вероятность обнаружить, где он реально есть, большая, но сам он - маловероятный, а потому он сомнителен сам по себе в качестве проверяемого. То есть закладывать такой эффект = скорее всего, не меняться, так как в подавляющем большинстве случаев результат не будет стат. значимым (помним, что у нас автоматом будет аудитория меньше), а значит B будет постоянно не внедряться.
Поэтому и стараются отловить как можно меньше эффект, зная, что все нововведения улучшают все же по чуть-чуть, но с поправкой на практическую значимость (где эффект от внедрение окупит стоимость внедрения) - это позволяет постепенно менять продукт, выжимая то там, то сям пару пунктов, может и пару процентов. И вот ты зарабатывал 100 млн., а стал через год уверенно 120 млн. А ожидая большой эффект можешь так-то и начать проигрывать конкурентам, ничего не меняя.
Определенно, какая-то гипотеза имеет право быть революционной, но если они у вас все такие, то имеет смысл приглядеться к тому, а как это так получается, и что-то менять, потому что у вас повышается риск остаться без изменений, а значит в перспективе - экскрементами мамонта.
Дело в том, что формуле размера выборки для A/B в рамках t-test'a стоит следующее (среднее А минус среднее B). Но когда у нас есть доступный размер аудитории, альфа и мощность мы можем оценить именно то, что и называется MDE: какой минимальный эффект в лице разниц среднего А и среднего B мы можем обнаружить при заданных параметрах и доступной аудитории.
Подсчитали? Прекрасно, теперь у нас есть MDE как одно из двух лиц "среднее А минус среднее B"
Другое лицо это - Желаемый эффект.
Желаемый эффект - это оценка прироста, которую бизнес ожидает от своей гипотезы.
На чем строиться это оценка? Чаще всего "нам так кажется". Это на самом деле не так плохо, так как:
- во-первых, нельзя сбрасывать со счетов экспертизу людей
- во-вторых, трудность оценки возможного эффекта. Делать это более взвешенно куда сложнее, чем кажется. Как правило, требует какую-то историю исследований и тестов, сбор фактов, анализ исследований по индустрии; то есть подсчитает за день-другой не выйдет. При этом представьте: это надо делать по каждой гипотезе.
Поэтому "нам так кажется" это норма в бизнесе, нравится или нет: он двигается иначе, чем НИИ.
Что мы делаем с этим Желаемым Эффектом? А все довольно просто: смотрим, больше или меньше он MDE, от этого мы сразу понимаем и мощность по него нашего теста. Проблема возникает в случае, если MDE больше этого эффекта, у эффекта меньше мощность, чем мы планируем. Один из вариантов (помимо изменения альфы и увеличения размера выборки - последний предпочтительнее, но не всегда возможен) остановится Желаемом эффекте = MDE. То есть пытаться отловить эффект больше. И вот слово "больше" как будто бы хорошо, да?
Ведь раз мы говорим за бизнес, то возникает вполне резонный вопрос: "Разве больший эффект это не то, что нужно бизнесу?" Конечно, да, вложить 1 рубль и получить с него 100 рублей это ж милое дело. Так зачем нам получать 50, если можно 100?
Но дело в том, что развитие редко принимает скачкообразную форму, это скорее постепенное движение от одного маленького улучшения к другому. Большой эффект же вообще явление редкое, маловероятное: то есть хоть его и мощность как вероятность обнаружить, где он реально есть, большая, но сам он - маловероятный, а потому он сомнителен сам по себе в качестве проверяемого. То есть закладывать такой эффект = скорее всего, не меняться, так как в подавляющем большинстве случаев результат не будет стат. значимым (помним, что у нас автоматом будет аудитория меньше), а значит B будет постоянно не внедряться.
Поэтому и стараются отловить как можно меньше эффект, зная, что все нововведения улучшают все же по чуть-чуть, но с поправкой на практическую значимость (где эффект от внедрение окупит стоимость внедрения) - это позволяет постепенно менять продукт, выжимая то там, то сям пару пунктов, может и пару процентов. И вот ты зарабатывал 100 млн., а стал через год уверенно 120 млн. А ожидая большой эффект можешь так-то и начать проигрывать конкурентам, ничего не меняя.
Определенно, какая-то гипотеза имеет право быть революционной, но если они у вас все такие, то имеет смысл приглядеться к тому, а как это так получается, и что-то менять, потому что у вас повышается риск остаться без изменений, а значит в перспективе - экскрементами мамонта.
Новости по Базовому курсу: вчера завершил свое путешествие в базу 3-ий поток.
Сейчас начинаю набирать на 4-ый на середину марта (примерно).
Если есть желающие или у вас есть, кто желал бы пройти, пожалуйста, дайте мне знать в ЛС.
Я дам очень высокую вероятность того, что вы поймете материал; у вас будет, наконец, тот нужный уровень, чтобы понимать, о чем с вами говорят и что вам отдают в качестве результата; сможете и сами делать подсчеты, осознавая, что происходит-то.
Смелее, скучно не будет!
Сейчас начинаю набирать на 4-ый на середину марта (примерно).
Если есть желающие или у вас есть, кто желал бы пройти, пожалуйста, дайте мне знать в ЛС.
Я дам очень высокую вероятность того, что вы поймете материал; у вас будет, наконец, тот нужный уровень, чтобы понимать, о чем с вами говорят и что вам отдают в качестве результата; сможете и сами делать подсчеты, осознавая, что происходит-то.
Смелее, скучно не будет!
👍4
Собеседование кандидатов все еще показывает: статистика является самым непонятым разделом математики при том, что она самая конкретная и прикладная из всех, на мой взгляд. Индустрия, конечно, в курсе этого, а поэтому те, кто понимает A/B, прям существенно выделяются на фоне прочих. Но понимать это не тоже самое, что знать.
Как я распознал на недавнем собеседовании, понимает ли человек тему или просто знает определения? А я спросил его про базу, только и всего. Но к базе я подошел не сразу, а мягко через ее надстройку, - прочий понятийный аппарат, - чтобы точно определить, знает или понимает: сначала я спросил его про альфу, мощность и p-value. Эти определения выучить нетрудно, то есть их знать на зубок легко после пары повторений.
Кандидат ответил уверенно, даже сказал, что p-value это всего лишь дополнение к тестовой статистики (молодец! - я давно такого не слышал). Я уточнил, в каком смысле, он сказал, ну вот сначала же есть критические значения и значение самой статистики, от нее и считаем. Чудесно!
И так, если он уверенно ответил на p-value, то неизбежно сказал бы про "если верна нулевая гипотеза". Конечно, я спросил его и про это, что это значит. Он ответил про отсутствие эффекта или когда А не отличается от B, что по сути верно.
Ну и вопрос про базу был такой: "Что такое распределение нулевой гипотезы"? Молчание.
Итого, получается, что вроде как есть оперирование критическими значениями, значением статистики на их фоне, p-value, но куда это вообще ложится (и следствие, что происходит-то) нет.
Я специально не буду отвечать на этот вопрос и тут: моим потокам это на вспомнить, а вне потока - прийти ко мне на 4-ый запуск) Но поделюсь тем, как это выглядит: это все равно, что знать средний рост котов, знать дисперсию этого роста, минимум и максимум, но буквально не понимать, что такое распределение роста котов, не понимать, на что смотришь, когда видишь гистограмму роста. А ведь должно быть иначе: распределение понимаешь, а далее изучаешь его параметры - среднее, дисперсию и пр. и уж скорее тупишь над тем, что такое дисперсия, чем над распределением как таковым.
То есть в тестах человек может задавать параметры и пр., но вообще не понимать, чего происходит-то: ну там критические значения, значение статистики больше, значимо. А что именно это такое, где все эти понятия разворачиваются, остается black box.
Я вот думаю, почему так? Ведь сами по себе базовые положения статистики просты. Но вот как к ним пришли часто не объясняется, это раз. Базовые положения дают следствия, но, во-вторых, логика перехода к ним также опущена.
Например, от Центральной Предельной Теоремы, про которую сразу рисуют формулу и дают определение, моментально переходят к z-тесту или к доверительным интервалам. Переход крайне логичен для тех, кто понимает, но вот нехватка пары слов о том, как были на ЦПТ, - а как потом сразу перешли к тесту, - порождает у познающих вопросы, как правило, без ответов. Ну а далее по принципу "кому повезло, тот и понял".
Мой ответ почему так: ирония, думаю, в том, что все как из-за того, что "все просто": а раз просто, то опустим пару предложений там, пару логических связок сям под предлогом, что "очевидно же". И все: перед вами предмет с легким входом, но полным адом после первых шагов.
P.S. Кстати, кандидату я дал положительную оценку по части A/B. Он рассказал о дизайне то, чем он и является + он все-таки верно отвечал на вопросы про определения, это кое-что да значит, а уж на фоне рынка так и вообще прям очень и очень неплохо!
Как я распознал на недавнем собеседовании, понимает ли человек тему или просто знает определения? А я спросил его про базу, только и всего. Но к базе я подошел не сразу, а мягко через ее надстройку, - прочий понятийный аппарат, - чтобы точно определить, знает или понимает: сначала я спросил его про альфу, мощность и p-value. Эти определения выучить нетрудно, то есть их знать на зубок легко после пары повторений.
Кандидат ответил уверенно, даже сказал, что p-value это всего лишь дополнение к тестовой статистики (молодец! - я давно такого не слышал). Я уточнил, в каком смысле, он сказал, ну вот сначала же есть критические значения и значение самой статистики, от нее и считаем. Чудесно!
И так, если он уверенно ответил на p-value, то неизбежно сказал бы про "если верна нулевая гипотеза". Конечно, я спросил его и про это, что это значит. Он ответил про отсутствие эффекта или когда А не отличается от B, что по сути верно.
Ну и вопрос про базу был такой: "Что такое распределение нулевой гипотезы"? Молчание.
Итого, получается, что вроде как есть оперирование критическими значениями, значением статистики на их фоне, p-value, но куда это вообще ложится (и следствие, что происходит-то) нет.
Я специально не буду отвечать на этот вопрос и тут: моим потокам это на вспомнить, а вне потока - прийти ко мне на 4-ый запуск) Но поделюсь тем, как это выглядит: это все равно, что знать средний рост котов, знать дисперсию этого роста, минимум и максимум, но буквально не понимать, что такое распределение роста котов, не понимать, на что смотришь, когда видишь гистограмму роста. А ведь должно быть иначе: распределение понимаешь, а далее изучаешь его параметры - среднее, дисперсию и пр. и уж скорее тупишь над тем, что такое дисперсия, чем над распределением как таковым.
То есть в тестах человек может задавать параметры и пр., но вообще не понимать, чего происходит-то: ну там критические значения, значение статистики больше, значимо. А что именно это такое, где все эти понятия разворачиваются, остается black box.
Я вот думаю, почему так? Ведь сами по себе базовые положения статистики просты. Но вот как к ним пришли часто не объясняется, это раз. Базовые положения дают следствия, но, во-вторых, логика перехода к ним также опущена.
Например, от Центральной Предельной Теоремы, про которую сразу рисуют формулу и дают определение, моментально переходят к z-тесту или к доверительным интервалам. Переход крайне логичен для тех, кто понимает, но вот нехватка пары слов о том, как были на ЦПТ, - а как потом сразу перешли к тесту, - порождает у познающих вопросы, как правило, без ответов. Ну а далее по принципу "кому повезло, тот и понял".
Мой ответ почему так: ирония, думаю, в том, что все как из-за того, что "все просто": а раз просто, то опустим пару предложений там, пару логических связок сям под предлогом, что "очевидно же". И все: перед вами предмет с легким входом, но полным адом после первых шагов.
P.S. Кстати, кандидату я дал положительную оценку по части A/B. Он рассказал о дизайне то, чем он и является + он все-таки верно отвечал на вопросы про определения, это кое-что да значит, а уж на фоне рынка так и вообще прям очень и очень неплохо!
Подглянем за подглядывающими. О проблеме подглядывания в экспериментах.
Если мы с вами возьмем из любой генеральной (в рамках симуляции для t-test'a - нормальной, раз выборки малые) две выборки А и А', то мы знаем, что хотя между ними и нет разницы, но в заданным уровнем значимости альфа = 0.05 в среднем 5 тестов из 100 у нас будут давать ложноположительный результат (обнаруживать эффект там, где его нет).
Давай понаблюдаем за тестом и его значением p-value 20 дней. На нулевой день в в группу A и A' у нас по 1-ом наблюдению. Каждый день у нас в группу A и A' будет добавляться по также 1-ому наблюдению: на 1-ый день будет у группах по 2 наблюдения, на 2-ой по 3 и т. д.
Красная линия - это альфа = 0.05, от нее и ниже это стат. значимость.
Experiment №1: p-value к уровню значимости за все время и не приблизился.
Experiment №9: к 20-му дню p-value ниже уровня значимости - ложноположительный результат. Штош, бывает.
Давайте посмотрим 100 тестов одновременно: посмотрите, день ото дня какая-то доля тестов ложноположительная. Это - нормально, так и должно быть, это доля в среднем будет 5% (может быть ниже, может быть выше, но ожидаемо - 5%, то есть 5 из 100).
Рассмотрим Experiment №2: именно на 10-ый день он стал ложноположительным. Пробыл там еще денек, а потом снова стал не стат. значимым.
Но что будет, если мы будем останавливать тест ровно тогда, когда он стал стат. значимым?
На графике красными точками обозначено то, когда какой-либо из 100 тестов стал впервые стат. значимым (может быть и повторно, как с Experiment №2, как видите). Сколько раз мы совершим тогда ошибку 1-го рода?
В данной симуляции 21 раз!
В этом и есть проблема поглядывания в тест и остановка его раньше запланированной. Придерживаться просто принципа "вижу стат. значимость - останавливаю" очень пагубно.
То есть нельзя взять так просто и ему следовать. Для этого надо идтив Мордор, на скользкую дорожку очередного современного (но вполне работающего) хайпа, Sequential Testing (я бы рекомендовал ознакомится прежде всего с тестом Wald'a).
Если мы с вами возьмем из любой генеральной (в рамках симуляции для t-test'a - нормальной, раз выборки малые) две выборки А и А', то мы знаем, что хотя между ними и нет разницы, но в заданным уровнем значимости альфа = 0.05 в среднем 5 тестов из 100 у нас будут давать ложноположительный результат (обнаруживать эффект там, где его нет).
Давай понаблюдаем за тестом и его значением p-value 20 дней. На нулевой день в в группу A и A' у нас по 1-ом наблюдению. Каждый день у нас в группу A и A' будет добавляться по также 1-ому наблюдению: на 1-ый день будет у группах по 2 наблюдения, на 2-ой по 3 и т. д.
Красная линия - это альфа = 0.05, от нее и ниже это стат. значимость.
Experiment №1: p-value к уровню значимости за все время и не приблизился.
Experiment №9: к 20-му дню p-value ниже уровня значимости - ложноположительный результат. Штош, бывает.
Давайте посмотрим 100 тестов одновременно: посмотрите, день ото дня какая-то доля тестов ложноположительная. Это - нормально, так и должно быть, это доля в среднем будет 5% (может быть ниже, может быть выше, но ожидаемо - 5%, то есть 5 из 100).
Рассмотрим Experiment №2: именно на 10-ый день он стал ложноположительным. Пробыл там еще денек, а потом снова стал не стат. значимым.
Но что будет, если мы будем останавливать тест ровно тогда, когда он стал стат. значимым?
На графике красными точками обозначено то, когда какой-либо из 100 тестов стал впервые стат. значимым (может быть и повторно, как с Experiment №2, как видите). Сколько раз мы совершим тогда ошибку 1-го рода?
В данной симуляции 21 раз!
В этом и есть проблема поглядывания в тест и остановка его раньше запланированной. Придерживаться просто принципа "вижу стат. значимость - останавливаю" очень пагубно.
То есть нельзя взять так просто и ему следовать. Для этого надо идти
Как повысить свои шансы на собеседовании, если ты уже специалист (мидл/синиор и далее)?
Материал универсальный, а не только для аналитиков. Обещал - написал:
1. Очень внимательно обдумай и выпиши, чем ты занимался на крайнем месте работы: кто был твоим заказчиком, что именно ты делал, что делала компания, твой отдел, что было рутиной, а что нет. Выписанное - повтори. Желательно раз 10, отредактируй.
Основной смысл - надо показать, что ты максимально осознаешь, что происходило, что делал, можешь рассказать очень конкрентно, где ты работал, в какой сфере, что было по задачам и пр.;
2. Выпиши несколько типовых задач, которые решал. Напиши по ним отчет: краткая предыстория, что нужно было, зачем, как делал, какой результат, как это было отдано заказчику, что там сделал заказчик. Выписанное - повтори 10 раз.
Основной смысл почти тот же: высокая степень вовлеченности в работу
3. Выпиши самое значимое достижение на предыдущем месте. Да, таких может и не быть, это нормально, но надо взять то, что принесло бизнесу и тебе больше, чем все остальное. Выпиши это как кейс, с деталкой, но без коммерческой тайны! Выучи этот кейс.
Смысл - показать, что ты отделяешь важное от менее важного, выставляешь приоритеты и вот это все.
По п.1 - 3 в общем: структура, конкретика, желательно емко. Наниматели это любят и они это оценивают.
Красные флаги:
- не знаю, что делал
- да как-то ничем и не помогал
- просто работал работу (да, это норма, но при найме - нет)
4. Постарайся перехватить инициативу и самому рассказать п.1-3 без наводящих вопросов со стороны нанимателя.
Смысл - больше вашего эфира и меньше времени для вопросов со стороны нанимателя. Плюс есть шанс углубиться в ваши задачи и пр., что снимет вопросы из п.5 и 7.
5. Будь готов ответить за каждый пункт в резюме. Написал про A/B тесты - умей держать ответ по базе, привести пример (сам) крайнего теста, также структурно, конкретно и коротко и пр. Поэтому читаешь пункт, задаешь себе вопросы по ним, отвечаешь. Повторить уже сам знаешь - 10 раз.
Основной смысл - показать, что разбираешься в том, что указал (доказать на словах).
6. Софты решают: рассказываем бодро-весело, с улыбкой и доброжелательностью, показываем энергию. Даже если ты в глубочайшей депрессии. По софтам смотрят, насколько ты подходишь команде. Как правило, жизнерадостный человек устраивает всех.
И 6-ое на самом деле самое сложное, ведь мы такие, какие есть, но найм это в каком-то смысле продажа себя, поэтому упаковать себя надо соответствующе и побыть товаром часик-другой все же нужно.
Практика важна, потренируйтесь об кого-то: об коллег, близких и пр., может, ментора даже взять. Или влоб соглашаться на все собеседования и тренироваться уже в бою.
7. Повтори базу. Сейчас какая-то отбитая мода спрашивать по учебнику людей с опытом, что далеко не всегда уместно, но так делают. Освежи то, что является стандартом в твоей сфере, даже если стандарт используется раз в 100 лет. Да-да, всякие структуры данных, паттерны, этапы выполнения машиной запроса SQL и пр., что считается базой в твоей области, то есть прям буквально базой.
Материал универсальный, а не только для аналитиков. Обещал - написал:
1. Очень внимательно обдумай и выпиши, чем ты занимался на крайнем месте работы: кто был твоим заказчиком, что именно ты делал, что делала компания, твой отдел, что было рутиной, а что нет. Выписанное - повтори. Желательно раз 10, отредактируй.
Основной смысл - надо показать, что ты максимально осознаешь, что происходило, что делал, можешь рассказать очень конкрентно, где ты работал, в какой сфере, что было по задачам и пр.;
2. Выпиши несколько типовых задач, которые решал. Напиши по ним отчет: краткая предыстория, что нужно было, зачем, как делал, какой результат, как это было отдано заказчику, что там сделал заказчик. Выписанное - повтори 10 раз.
Основной смысл почти тот же: высокая степень вовлеченности в работу
3. Выпиши самое значимое достижение на предыдущем месте. Да, таких может и не быть, это нормально, но надо взять то, что принесло бизнесу и тебе больше, чем все остальное. Выпиши это как кейс, с деталкой, но без коммерческой тайны! Выучи этот кейс.
Смысл - показать, что ты отделяешь важное от менее важного, выставляешь приоритеты и вот это все.
По п.1 - 3 в общем: структура, конкретика, желательно емко. Наниматели это любят и они это оценивают.
Красные флаги:
- не знаю, что делал
- да как-то ничем и не помогал
- просто работал работу (да, это норма, но при найме - нет)
4. Постарайся перехватить инициативу и самому рассказать п.1-3 без наводящих вопросов со стороны нанимателя.
Смысл - больше вашего эфира и меньше времени для вопросов со стороны нанимателя. Плюс есть шанс углубиться в ваши задачи и пр., что снимет вопросы из п.5 и 7.
5. Будь готов ответить за каждый пункт в резюме. Написал про A/B тесты - умей держать ответ по базе, привести пример (сам) крайнего теста, также структурно, конкретно и коротко и пр. Поэтому читаешь пункт, задаешь себе вопросы по ним, отвечаешь. Повторить уже сам знаешь - 10 раз.
Основной смысл - показать, что разбираешься в том, что указал (доказать на словах).
6. Софты решают: рассказываем бодро-весело, с улыбкой и доброжелательностью, показываем энергию. Даже если ты в глубочайшей депрессии. По софтам смотрят, насколько ты подходишь команде. Как правило, жизнерадостный человек устраивает всех.
И 6-ое на самом деле самое сложное, ведь мы такие, какие есть, но найм это в каком-то смысле продажа себя, поэтому упаковать себя надо соответствующе и побыть товаром часик-другой все же нужно.
Практика важна, потренируйтесь об кого-то: об коллег, близких и пр., может, ментора даже взять. Или влоб соглашаться на все собеседования и тренироваться уже в бою.
7. Повтори базу. Сейчас какая-то отбитая мода спрашивать по учебнику людей с опытом, что далеко не всегда уместно, но так делают. Освежи то, что является стандартом в твоей сфере, даже если стандарт используется раз в 100 лет. Да-да, всякие структуры данных, паттерны, этапы выполнения машиной запроса SQL и пр., что считается базой в твоей области, то есть прям буквально базой.
Теорема Байеса для будущего поста, ч.1
Помните, я говорил, что надо уметь отвечать за сказанное на собеседовании? Кандидаты среди порой любят говорить о том, что они любят математику. Чаще именно у стажеров/джунов я обычно уточняю, а какой твой самый любимый раздел. Если слышу, что мне говорят про теорвер, то мой следующий вопрос часто про то, чтобы мне концептуально объяснили, о чем формула Баейса. Без задачек про урны из шаров, просто - о чем эта теорема, чем она нам полезна, что именно делает. Для понимания этого, а также моего следующего поста давайте разбираться.
Как обычно, подведемся к теореме, чтобы было понимание, а не знание.
Доступим, у нас есть база кандидатов для стажировки: 4 человека.
- 2 знают Excel
- 1 знает SQL
- 1 знает и Excel и SQL
1)
Вероятность того, что случайно отберут человека со знанием Excel из всех = 3/4.
Запишем как P(Excel) = 3/4
Мы также знаем, чему равна вероятность знать SQL при условии знания Excel = 1/3.
P(SQL|Excel) = 1/3 (так как лишь 1 из 3 эксельщиков знает SQL)
Вероятность того, что знающий Excel еще знает и SQL равна = 3/4*1/3 =1/4.
P(Excel) * P(SQL|Excel) =
= P(Excel и SQL) = 1/4
2)
Вероятность того, что случайно отберут человека со знанием SQL из всех = 2/4.
P(SQL) = 1/2
Мы также знаем, чему равна вероятность знать Excel при условии знания SQL = 1/2.
P(Excel|SQL) = 1/2
Вероятность того, что знающий Excel еще знает и SQL равна = 1/2*1/2 =1/4.
P(SQL)*P(Excel|SQL) =
= P(SQL и Excel) = 1/4
3) Ага, то есть P(Excel и SQL) = P(SQL и Excel) = 1/4
! При этом обращу внимание P(SQL|Excel) НЕ равно P(Excel|SQL) !
А значит:
P(Excel) * P(SQL|Excel) = P(SQL)*P(Excel|SQL) - это уравнение (1.)
P(SQL|Excel) = P(SQL)*P(Excel|SQL) /P(Excel) - (2.) это и есть формула Баейса. То есть в логике такого вывода мы можем подсчитать вероятность того, что кандидат знает Excel при условии наличия факта, что он знает SQL (как вариант, поменяв местами, знание SQL при условнии знания Excel)
И че?..
Помните, я говорил, что надо уметь отвечать за сказанное на собеседовании? Кандидаты среди порой любят говорить о том, что они любят математику. Чаще именно у стажеров/джунов я обычно уточняю, а какой твой самый любимый раздел. Если слышу, что мне говорят про теорвер, то мой следующий вопрос часто про то, чтобы мне концептуально объяснили, о чем формула Баейса. Без задачек про урны из шаров, просто - о чем эта теорема, чем она нам полезна, что именно делает. Для понимания этого, а также моего следующего поста давайте разбираться.
Как обычно, подведемся к теореме, чтобы было понимание, а не знание.
Доступим, у нас есть база кандидатов для стажировки: 4 человека.
- 2 знают Excel
- 1 знает SQL
- 1 знает и Excel и SQL
1)
Вероятность того, что случайно отберут человека со знанием Excel из всех = 3/4.
Запишем как P(Excel) = 3/4
Мы также знаем, чему равна вероятность знать SQL при условии знания Excel = 1/3.
P(SQL|Excel) = 1/3 (так как лишь 1 из 3 эксельщиков знает SQL)
Вероятность того, что знающий Excel еще знает и SQL равна = 3/4*1/3 =1/4.
P(Excel) * P(SQL|Excel) =
= P(Excel и SQL) = 1/4
2)
Вероятность того, что случайно отберут человека со знанием SQL из всех = 2/4.
P(SQL) = 1/2
Мы также знаем, чему равна вероятность знать Excel при условии знания SQL = 1/2.
P(Excel|SQL) = 1/2
Вероятность того, что знающий Excel еще знает и SQL равна = 1/2*1/2 =1/4.
P(SQL)*P(Excel|SQL) =
= P(SQL и Excel) = 1/4
3) Ага, то есть P(Excel и SQL) = P(SQL и Excel) = 1/4
! При этом обращу внимание P(SQL|Excel) НЕ равно P(Excel|SQL) !
А значит:
P(Excel) * P(SQL|Excel) = P(SQL)*P(Excel|SQL) - это уравнение (1.)
P(SQL|Excel) = P(SQL)*P(Excel|SQL) /P(Excel) - (2.) это и есть формула Баейса. То есть в логике такого вывода мы можем подсчитать вероятность того, что кандидат знает Excel при условии наличия факта, что он знает SQL (как вариант, поменяв местами, знание SQL при условнии знания Excel)
И че?..
🔥1
Теорема Байеса для будущего поста, ч.2
Это тот случай, когда простой пример вроде и показывает что-то, но не объясняет основную суть. Исправляемся!
Давайте перепишем вместо SQL -> H (Hypothesis, гипотеза), а вместо Excel -> E (Evidence, свидетельство/доказательство), подставим в именно в уравнение (1.) - в этом есть смысл, объясню далее.
P(E)*P(H|E) = P(H)*P(E|H)
Читаем вместе:
P(E) - вероятность доказательства как такового
P(H|E) - вероятность гипотезы при наличии доказательства (E)
P(H) - вероятность гипотезы как таковой
P(E|H) - вероятность доказательства при условии наступления гипотезы (H)
Запомните порядок, подключая логику: сначала наступает что-то, а потом ПРИ условии этого что-то другое. Более того, именно левая часть "бытовая": P(E)*P(H|E), - у меня есть гипотеза об успехе прохождения собеседования. Я ответил на вопрос (E), как изменилась эта гипотеза после? P(H|E)
+ помнить только левую часть вполне достаточно: автоматом справа будет сначала вероятности, где H меняется на E, а E на H ->P(H)*P(H|E).
Делим на P(E):
P(H|E) = P(H)*P(E|H)/P(E) - и проговорим еще раз левую часть: вероятность гипотезы при наличии доказательства (E). Ага, то есть при наличии каких-то фактов, мы можем уточнить нашу изначальную гипотезу P(H), то есть перевзвесить наши изначальные прикидки.
И знаете что интересно?
1) Это формула описывает наше с вами мышление в оценке вероятности наступления чего-то при новых данных. Например, вероятность, что около вашего дома прямо сейчас кошка - 1%. Вы услышали мявкание, возможно, вам послышалось, поэтому вероятность стала выше и = 20%. Вы услышали повторно и поняли, что вряд ли послышалось, вероятность стала выше = 65%. Выглянули за дверь, что-то пронеслось мимо вас, но маленькое. Да, кошку вы не увидели, но вероятность из-за этого факта стала 90%. То есть под напором E у вас меняется H. И именно об этом P(H|E).
Это ответ на вопрос, о чем теорема Баейса: перевзвешивание гипотезы
2) Математика не раз показывает, что описание чего-то ее языком точнее оценивает реальность, чем наша интуиция. Были бы все вводные еще.
Приведу личный пример, как мне бы помог Баейс. По своему генетическому древу одна из самых вероятных смертельных болезней, которая мне грозит, это рак.
Пускай вводные будут такими:
- Есть тест на рак и он в 95% случаев показывает положительный результат, когда рак действительно есть.
Это P(E|H) = 95%
Пускай сделали тест и он оказался положительным. Как думаете, какова вероятность рака? Кажется, очень высокой, ведь тест и ведь 95% же и вот это все!
Давайте считать. Вот еще некоторые водные:
- Вероятность рака в популяции 1%
Это P(H) = 1% - это еще называют "базовым процентом". И он является, условно, природным значений в популяции (n случаев на популяцию) без всяких там условий, просто статистика. Знать его не просто полезно, а крайне важно, с него начинается наш отсчет.
- Этот же тест на рак в 9% случаев покажет ложноположительный результат (рака на самом деле нет)
P(E|~H) = 9% - сейчас вернемся к этому
Наша формула для апдейта (перевзвешивания гипотезы):
P(H|E) = P(H)*P(E|H)/P(E), - первые два у нас есть. Что такое P(E)?
Это вероятность получить положительный результат. А его можно получить либо в случае реального наличия болезни, болезнь есть и тогда он при этом условии он показывает результат, P(H)*P(E|H) или в случае ложного срабатывания, то есть болезни нет, а при этом условии результат положительный P(~H)*P(E|~H). То есть:
P(E) = P(H)*P(E|H) + P(E|~H)*P(~H), где + это наше ИЛИ.
P(H|E) = P(H)*P(E|H) / (P(H)*P(E|H) + P(E|~H)*P(~H))
P(H|E) = (0.95*0.01) / (0.95*0.01+ 0.09*0.99) = 0.096 = 9.6%
Всего-то! Никаких 95, 80 и даже 50%!
Шах и мат, интуиция :)
Финализируя, Баейс помогает нам перевзвесить нашу гипотезу, когда у нас добавляется факты. У нас меняется вероятность нашей гипотезы в ту или иную сторону. Естественно, это перекладывается на A/B тесты, где мы можем смотреть две гипотезы:
- вероятность A лучше B, P(A>B)
- вероятность B лучше A, P(B>A) = 1 - P(A>B)
которые обновляются с каждым набором данных (измерений)
Их еще называют Probability to be best, PBB.
Это тот случай, когда простой пример вроде и показывает что-то, но не объясняет основную суть. Исправляемся!
Давайте перепишем вместо SQL -> H (Hypothesis, гипотеза), а вместо Excel -> E (Evidence, свидетельство/доказательство), подставим в именно в уравнение (1.) - в этом есть смысл, объясню далее.
P(E)*P(H|E) = P(H)*P(E|H)
Читаем вместе:
P(E) - вероятность доказательства как такового
P(H|E) - вероятность гипотезы при наличии доказательства (E)
P(H) - вероятность гипотезы как таковой
P(E|H) - вероятность доказательства при условии наступления гипотезы (H)
Запомните порядок, подключая логику: сначала наступает что-то, а потом ПРИ условии этого что-то другое. Более того, именно левая часть "бытовая": P(E)*P(H|E), - у меня есть гипотеза об успехе прохождения собеседования. Я ответил на вопрос (E), как изменилась эта гипотеза после? P(H|E)
+ помнить только левую часть вполне достаточно: автоматом справа будет сначала вероятности, где H меняется на E, а E на H ->P(H)*P(H|E).
Делим на P(E):
P(H|E) = P(H)*P(E|H)/P(E) - и проговорим еще раз левую часть: вероятность гипотезы при наличии доказательства (E). Ага, то есть при наличии каких-то фактов, мы можем уточнить нашу изначальную гипотезу P(H), то есть перевзвесить наши изначальные прикидки.
И знаете что интересно?
1) Это формула описывает наше с вами мышление в оценке вероятности наступления чего-то при новых данных. Например, вероятность, что около вашего дома прямо сейчас кошка - 1%. Вы услышали мявкание, возможно, вам послышалось, поэтому вероятность стала выше и = 20%. Вы услышали повторно и поняли, что вряд ли послышалось, вероятность стала выше = 65%. Выглянули за дверь, что-то пронеслось мимо вас, но маленькое. Да, кошку вы не увидели, но вероятность из-за этого факта стала 90%. То есть под напором E у вас меняется H. И именно об этом P(H|E).
Это ответ на вопрос, о чем теорема Баейса: перевзвешивание гипотезы
2) Математика не раз показывает, что описание чего-то ее языком точнее оценивает реальность, чем наша интуиция. Были бы все вводные еще.
Приведу личный пример, как мне бы помог Баейс. По своему генетическому древу одна из самых вероятных смертельных болезней, которая мне грозит, это рак.
Пускай вводные будут такими:
- Есть тест на рак и он в 95% случаев показывает положительный результат, когда рак действительно есть.
Это P(E|H) = 95%
Пускай сделали тест и он оказался положительным. Как думаете, какова вероятность рака? Кажется, очень высокой, ведь тест и ведь 95% же и вот это все!
Давайте считать. Вот еще некоторые водные:
- Вероятность рака в популяции 1%
Это P(H) = 1% - это еще называют "базовым процентом". И он является, условно, природным значений в популяции (n случаев на популяцию) без всяких там условий, просто статистика. Знать его не просто полезно, а крайне важно, с него начинается наш отсчет.
- Этот же тест на рак в 9% случаев покажет ложноположительный результат (рака на самом деле нет)
P(E|~H) = 9% - сейчас вернемся к этому
Наша формула для апдейта (перевзвешивания гипотезы):
P(H|E) = P(H)*P(E|H)/P(E), - первые два у нас есть. Что такое P(E)?
Это вероятность получить положительный результат. А его можно получить либо в случае реального наличия болезни, болезнь есть и тогда он при этом условии он показывает результат, P(H)*P(E|H) или в случае ложного срабатывания, то есть болезни нет, а при этом условии результат положительный P(~H)*P(E|~H). То есть:
P(E) = P(H)*P(E|H) + P(E|~H)*P(~H), где + это наше ИЛИ.
P(H|E) = P(H)*P(E|H) / (P(H)*P(E|H) + P(E|~H)*P(~H))
P(H|E) = (0.95*0.01) / (0.95*0.01+ 0.09*0.99) = 0.096 = 9.6%
Всего-то! Никаких 95, 80 и даже 50%!
Шах и мат, интуиция :)
Финализируя, Баейс помогает нам перевзвесить нашу гипотезу, когда у нас добавляется факты. У нас меняется вероятность нашей гипотезы в ту или иную сторону. Естественно, это перекладывается на A/B тесты, где мы можем смотреть две гипотезы:
- вероятность A лучше B, P(A>B)
- вероятность B лучше A, P(B>A) = 1 - P(A>B)
которые обновляются с каждым набором данных (измерений)
Их еще называют Probability to be best, PBB.
❤5🔥1
! Этот и следующего пост тесно связан с предыдущими про Баейс !
Несколько проблем частотного подхода:
1) Не отвечает на вопрос, "что лучше - А или B"?
Но бизнес-то хочет как раз ответа на этот вопрос. Ведь все начинается с гипотезы "сделаем это - получим результат (лучше)". Давайте проверим через A/B-тест. Давайте. Ведь разделения на группы, - в классическом виде случайным образом, - в принципе гарантируют нам, что группы будут похожи во всем, кроме одного: воздействия на B. Поэтому если будет разница B c А, то мы объясняем эту разницу именно от воздействия (тритмента).
Но вместо утверждения, что B лучше А, когда мы обнаружили стат. значимый результат, мы говорим некоторый набор фраз, о стат. значимости, о предположении наличия эффекта на базе этого, об отклонении нулевой гипотезы; все, кроме самого этого утверждения, хотя и хочется.
—
Этим-то и подкупает байесовский подход, у него есть Probability to be best, PBB для А и для B:
Сначала PBB (A>B) = PBB(B>A) = 0.5
Собирай данные, обновляй эти пробабилити, видишь, PBB(B>A) = 96.543% -> что читаешь, то и понимаешь - конкретика!
Го Байес?
—
А частотный подход в своих стат. теста что дает? Да только значение статистики и p-value. Что еще надо бы проинтерпретировать...
2) Интерпретация p-value. P-value - это вероятность обнаружить такой же или более экстремальный эффект тогда, когда верна нулевая гипотеза. Ничего другого про p-value сказать нельзя. Это можно либо понять (увидеть), либо запомнить. Но отмечу, разница между пониманием и знаниям тут есть: в первом случае вы никогда сами не сможете его иначе сформулировать, а во втором все же иногда будете ошибаться в формулировке, потому что без картинки и вывода этого значения оно так и останется будто бы заклинанием. И ошибаться тут критично: можно далеко уйти нетуда из-за этого.
Статистики-частотники (=фреквенсисты) хорошо осведомлены про 1-ое и 2-ое.
Можно даже сказать, что почти за 100 лет p-value их уже подбешивает (приведу цитату в конце).
Современные их телодвижения состоят в том, чтобы:
а) выжать из p-value хоть какую-то доп. информацию:
- вероятность/риск, что полученные стат. значимые результаты ложноположительны (False Positive Risk).
- вероятность (перевзвешанная) альтернативной гипотезы через значение p-value,
Ирония в том, что они используют для этого Байес. Почему ирония? Потому что байесианцы это соперники для частотников (фреквенсистов)! Впрочем, как часто и бывают, соперничают только радикалы от тех и других, остальным все равно)
b) дать ответ, что лучше A или B не хуже Баейса, для этого есть набирающий (снова) популярность подход как Probabilistic Index
Вот об этом и будем говорить далее.
Несколько проблем частотного подхода:
1) Не отвечает на вопрос, "что лучше - А или B"?
Но бизнес-то хочет как раз ответа на этот вопрос. Ведь все начинается с гипотезы "сделаем это - получим результат (лучше)". Давайте проверим через A/B-тест. Давайте. Ведь разделения на группы, - в классическом виде случайным образом, - в принципе гарантируют нам, что группы будут похожи во всем, кроме одного: воздействия на B. Поэтому если будет разница B c А, то мы объясняем эту разницу именно от воздействия (тритмента).
Но вместо утверждения, что B лучше А, когда мы обнаружили стат. значимый результат, мы говорим некоторый набор фраз, о стат. значимости, о предположении наличия эффекта на базе этого, об отклонении нулевой гипотезы; все, кроме самого этого утверждения, хотя и хочется.
—
Этим-то и подкупает байесовский подход, у него есть Probability to be best, PBB для А и для B:
Сначала PBB (A>B) = PBB(B>A) = 0.5
Собирай данные, обновляй эти пробабилити, видишь, PBB(B>A) = 96.543% -> что читаешь, то и понимаешь - конкретика!
Го Байес?
—
А частотный подход в своих стат. теста что дает? Да только значение статистики и p-value. Что еще надо бы проинтерпретировать...
2) Интерпретация p-value. P-value - это вероятность обнаружить такой же или более экстремальный эффект тогда, когда верна нулевая гипотеза. Ничего другого про p-value сказать нельзя. Это можно либо понять (увидеть), либо запомнить. Но отмечу, разница между пониманием и знаниям тут есть: в первом случае вы никогда сами не сможете его иначе сформулировать, а во втором все же иногда будете ошибаться в формулировке, потому что без картинки и вывода этого значения оно так и останется будто бы заклинанием. И ошибаться тут критично: можно далеко уйти нетуда из-за этого.
Статистики-частотники (=фреквенсисты) хорошо осведомлены про 1-ое и 2-ое.
Можно даже сказать, что почти за 100 лет p-value их уже подбешивает (приведу цитату в конце).
Современные их телодвижения состоят в том, чтобы:
а) выжать из p-value хоть какую-то доп. информацию:
- вероятность/риск, что полученные стат. значимые результаты ложноположительны (False Positive Risk).
- вероятность (перевзвешанная) альтернативной гипотезы через значение p-value,
Ирония в том, что они используют для этого Байес. Почему ирония? Потому что байесианцы это соперники для частотников (фреквенсистов)! Впрочем, как часто и бывают, соперничают только радикалы от тех и других, остальным все равно)
b) дать ответ, что лучше A или B не хуже Баейса, для этого есть набирающий (снова) популярность подход как Probabilistic Index
Вот об этом и будем говорить далее.
👍1
Обещанная цитата про p-value отсюда, немного перефразировав: an inferential index that tells us where we stand, but does not tell how much distance we have covered. - условно, значение, которое говорит, где мы стоим, но не говорит, как многое мы узнали (заапдейтили нашу гипотезу)
До этого писалось следующее, менее важное, просто, мол, никуда не двигались толком 100 лет:
...The introduction of hypothesis testing in 1933 precipitated more intense engagement, caused by the subsuming of Fisher’s “significance test” into the hypothesis test machinery. But we (and I) still use P-values. And when a journal like Epidemiology takes a principled stand against them, pidemiologists who may recognize the limitations of P-values still feel as if they are being forced to walk on one leg.
...Although I applaud the motivation of attempts to eliminate P-values, they have failed in the past and I predict that they will continue to fail...
...Now let us imagine another world – Imagine a number that does not tell us what we know, but how much we have learned. Such a number could lead us to think very differently about the role of data in making inferences, and in turn lead us to write about our data in a profoundly different manner...
(далее говорится о том, что такое число есть и это фактор Баейса, Bayes factor - вероятность одной гипотезы поделенную на другую, которая дает нам по сути шансы а-ля 9:1 и пр.)
Цитату вбейте в переводчик, плюс-минус смысл он неплохо передаст
До этого писалось следующее, менее важное, просто, мол, никуда не двигались толком 100 лет:
...The introduction of hypothesis testing in 1933 precipitated more intense engagement, caused by the subsuming of Fisher’s “significance test” into the hypothesis test machinery. But we (and I) still use P-values. And when a journal like Epidemiology takes a principled stand against them, pidemiologists who may recognize the limitations of P-values still feel as if they are being forced to walk on one leg.
...Although I applaud the motivation of attempts to eliminate P-values, they have failed in the past and I predict that they will continue to fail...
...Now let us imagine another world – Imagine a number that does not tell us what we know, but how much we have learned. Such a number could lead us to think very differently about the role of data in making inferences, and in turn lead us to write about our data in a profoundly different manner...
(далее говорится о том, что такое число есть и это фактор Баейса, Bayes factor - вероятность одной гипотезы поделенную на другую, которая дает нам по сути шансы а-ля 9:1 и пр.)
Цитату вбейте в переводчик, плюс-минус смысл он неплохо передаст
Итак, товарищи статистики, продолжим:
а) выжимаем p-value доп. информацию
- вероятность/риск, что полученные стат. значимые результаты ложноположительны (False Positive Risk).
Когда вы начнете вести свои тесты в компании, вам будет довольно легко подсчитать кол-во не просто стат. значимых, а успешных, прокрашенных зелёненьким для метрик, тестов, пример таблицы:
№ теста | Успешный ли тест?
————-|————
Тест №1 | 0
————-|————
Тест №2 | 0
————-|————
Тест №3 | 1
Из 3 тестов только 1 был успешным, значит ваш Success Rate (вероятность успешного теста) = 1/3 = 33% - такую метрику считают все громкие имена как Google, Netflix и, конечно, X5 тоже. Считайте и вы, чтобы выпендриваться)
На самом деле 33% это слишком круто, обычно это цифра 5-10%, то есть если это 10%, то только 10 из 100 тестов будут успешными для вас.
Что мы делаем с этой цифрой далее?
Запишем формулу вероятности нулевой гипотезы, при условии стат. значимого теста, P(H0|SS), то есть перевзвесим вероятность H0, а значит применим формулу Байеса, см. мой пост тут.
P(H0|SS) = P(SS | H0) * P(H0) / P(SS)
P(SS|H0) - вероятность стат. значимого результата при верности нулевой гипотезы
P(H0) - вероятность верности нулевой гипотезы вообще: в рамках наших данных это будут только те тесты, в рамках которых мы не смогли отклонить нулевую гипотезу, Тест №1 и Тест №2 (они не стат. значимы в другую сторону - прим.)
100% - 33.333% ~ 66% ~ 0.66
P(SS) - вероятность стат. значимого результата. При вероятности нулевой гипотезы это альфа (увы, тут надо бы знать заранее, что это такое - добро пожаловать на поток, хе-хе), а так как мы рассматриваем случаи, когда тест для нас не только стат. значим, но только положителен, то есть стат. значим НЕ в обе стороны, А в одну (если снова не понимаете о чем речь - в поток, ребята, поток!), то это альфа=0.05/2 = 0.025. Пускай она альфа/2 в среднем по всем 3 тестам была равна 0.025.
Распишем P(SS) = P(SS|H0)*P(H0) + P(SS|~H0)*P(~H0)
P(SS|H0)*P(H0) - из вычислений выше это 0.025*0.66
Разберем это: P(SS|~H0)*P(~H0)
P(~H0) - вероятность неверности нулевой гипотезы. Это у нас Success Rate = 33% = 0.33
P(SS|~H0) - вероятность стат.значимого результата при верности альтернативной гипотезы. Мы задаем это через мощность, а мощность это у нас 1-Beta, где Beta это ошибка 2-го рода. Возьмем среднюю мощность всех тестов, пускай это 0.8
Итого: P(H0|SS) = P(SS | H0) * P(H0) / (P(SS|H0)*P(H0) + P(SS|~H0)*P(~H0)) = 0.025*0.66/ (0.025*0.66 + 0.8*0.33) = 0.058 = 5.8% - наш False Positive Risk (FPR)
Это - вероятность того, что наш тест №3 был ложноположителен. Если бы тестов стат. значимых и успешных было бы больше, это P(H0|SS) как FPR был бы оценкой для всех этих тестов.
Теперь вы аки Microsoft, Netflix и X5 можете подсчитать FRP и у себя :)
P.S. P(SS | H0) * P(H0) / (P(SS|H0)*P(H0) + P(SS|~H0)*P(~H0)) можно переписать как это делают в некоторых статьях:
Общий случай (двусторонний):
alpha * П / (alpha * П + (1 - Beta) (1 - П), - П - это тоже самое, что P(H0), см. определение выше.
если alpha = 0.05, Beta = 0.2, тогда
0.05П /(0.05П + 0.8(1-П)) =
= 0.05П/(0.8 - 0.75П)
Случай стат. положительных тестов:
alpha/2 * П / (alpha/2 * П + (1 - Beta) (1 - П))
если alpha = 0.05, Beta = 0.2, тогда
0.025П/(0.8 - 0.775П)
подставляем из нашего примера П=0.33, получаем 0.025*0.666666/(0.8-0.775*0.666666) ~ 5.8%
а) выжимаем p-value доп. информацию
- вероятность/риск, что полученные стат. значимые результаты ложноположительны (False Positive Risk).
Когда вы начнете вести свои тесты в компании, вам будет довольно легко подсчитать кол-во не просто стат. значимых, а успешных, прокрашенных зелёненьким для метрик, тестов, пример таблицы:
№ теста | Успешный ли тест?
————-|————
Тест №1 | 0
————-|————
Тест №2 | 0
————-|————
Тест №3 | 1
Из 3 тестов только 1 был успешным, значит ваш Success Rate (вероятность успешного теста) = 1/3 = 33% - такую метрику считают все громкие имена как Google, Netflix и, конечно, X5 тоже. Считайте и вы, чтобы выпендриваться)
На самом деле 33% это слишком круто, обычно это цифра 5-10%, то есть если это 10%, то только 10 из 100 тестов будут успешными для вас.
Что мы делаем с этой цифрой далее?
Запишем формулу вероятности нулевой гипотезы, при условии стат. значимого теста, P(H0|SS), то есть перевзвесим вероятность H0, а значит применим формулу Байеса, см. мой пост тут.
P(H0|SS) = P(SS | H0) * P(H0) / P(SS)
P(SS|H0) - вероятность стат. значимого результата при верности нулевой гипотезы
P(H0) - вероятность верности нулевой гипотезы вообще: в рамках наших данных это будут только те тесты, в рамках которых мы не смогли отклонить нулевую гипотезу, Тест №1 и Тест №2 (они не стат. значимы в другую сторону - прим.)
100% - 33.333% ~ 66% ~ 0.66
P(SS) - вероятность стат. значимого результата. При вероятности нулевой гипотезы это альфа (увы, тут надо бы знать заранее, что это такое - добро пожаловать на поток, хе-хе), а так как мы рассматриваем случаи, когда тест для нас не только стат. значим, но только положителен, то есть стат. значим НЕ в обе стороны, А в одну (если снова не понимаете о чем речь - в поток, ребята, поток!), то это альфа=0.05/2 = 0.025. Пускай она альфа/2 в среднем по всем 3 тестам была равна 0.025.
Распишем P(SS) = P(SS|H0)*P(H0) + P(SS|~H0)*P(~H0)
P(SS|H0)*P(H0) - из вычислений выше это 0.025*0.66
Разберем это: P(SS|~H0)*P(~H0)
P(~H0) - вероятность неверности нулевой гипотезы. Это у нас Success Rate = 33% = 0.33
P(SS|~H0) - вероятность стат.значимого результата при верности альтернативной гипотезы. Мы задаем это через мощность, а мощность это у нас 1-Beta, где Beta это ошибка 2-го рода. Возьмем среднюю мощность всех тестов, пускай это 0.8
Итого: P(H0|SS) = P(SS | H0) * P(H0) / (P(SS|H0)*P(H0) + P(SS|~H0)*P(~H0)) = 0.025*0.66/ (0.025*0.66 + 0.8*0.33) = 0.058 = 5.8% - наш False Positive Risk (FPR)
Это - вероятность того, что наш тест №3 был ложноположителен. Если бы тестов стат. значимых и успешных было бы больше, это P(H0|SS) как FPR был бы оценкой для всех этих тестов.
Теперь вы аки Microsoft, Netflix и X5 можете подсчитать FRP и у себя :)
P.S. P(SS | H0) * P(H0) / (P(SS|H0)*P(H0) + P(SS|~H0)*P(~H0)) можно переписать как это делают в некоторых статьях:
Общий случай (двусторонний):
alpha * П / (alpha * П + (1 - Beta) (1 - П), - П - это тоже самое, что P(H0), см. определение выше.
если alpha = 0.05, Beta = 0.2, тогда
0.05П /(0.05П + 0.8(1-П)) =
= 0.05П/(0.8 - 0.75П)
Случай стат. положительных тестов:
alpha/2 * П / (alpha/2 * П + (1 - Beta) (1 - П))
если alpha = 0.05, Beta = 0.2, тогда
0.025П/(0.8 - 0.775П)
подставляем из нашего примера П=0.33, получаем 0.025*0.666666/(0.8-0.775*0.666666) ~ 5.8%
👍1
Не AБы какие тесты pinned «О чем этот канал и кто автор? Всем привет! С вами Серега на связи. Сейчас я лид продуктовой и маркетинговой аналитики в X5, 5-чка, все A/B 5-ки проходят через мои руки. Это - канал по статистике и циклу курсов по A/B-тестам за моим авторством. Тут я буду…»
Возвращаемся к а), часть-2, товарищи статистики!
- вероятность (перевзвешанная) альтернативной гипотезы через значение p-value,
Это часть будет сложнее, она и у меня собирается по частям так-то, так что жуйте без спешки.
Напомню: число успешных тестов, Success Rate, не очень велико, как и говорил, это 5-10%, зависит от индустрии -> можете посмотреть эти данные от Microsoft, Neflix и пр.
б) Возьмём, что в нашем случае оно составляет 10%. И пускай при этом все из них были действительно успешны, true positive. Значит, шансы, что наша конкретная гипотеза в конкретном эксперименте будет успешна P(HA) = 10% = 0.1
Распишем согласно Баейсу (пост с разбором формулы тут) вероятность P(HA|p-value) как переоценка HA при условии "конкретного" p-value:
P(HA|p-value) = P(p-value|HA)*P(HA)/P(p-value)
P(p-value|HA) - вероятность конкретного p-value при верности HA
P(HA) - вероятность HA = 0.1
P(p-value) - вероятность конкретного значения p-value
P(p-value) = P(p-value|HA)*P(HA)+P(p-value|-HA)*P(-HA)
или
P(p-value|HA)*P(HA)+P(p-value|H0)*P(H0)
P(H0) = 1 - P(HA) = 0.9
Нам нужно выяснить, чему равно P(p-value|HA), P(p-value|H0)
Сделаем это.
Предварительно мы сделали дизайн теста, альфа = 0.05, мощность = 0.8, выяснили MDE.
1) Далее сделали симуляцию распределений p-value когда эффекта нет (верна H0), p-value ожидаемо в 5% случае оказался от 0.05 и ниже согласно альфе, см. картинку 1
При этом важно (!) cтат. значимый результат при H0 может быть в обе стороны у нас, нас интересует только ложноположительность, когда результат для нас положительный. А это случается в половине всех p-value <= alpha. То есть от красного квадратика мы берем половину, картинка 2!
2) Далее подсчитали, когда эффект есть (HA), p-value ниже 0.05 в 80% согласно мощности, картинка 3.
3) Посмотрим только те p-value по H0 и HA, которые <= 0.05, то есть стат. значимые согласно альфе, картинка 4
Продолжение ниже...
- вероятность (перевзвешанная) альтернативной гипотезы через значение p-value,
Это часть будет сложнее, она и у меня собирается по частям так-то, так что жуйте без спешки.
Напомню: число успешных тестов, Success Rate, не очень велико, как и говорил, это 5-10%, зависит от индустрии -> можете посмотреть эти данные от Microsoft, Neflix и пр.
б) Возьмём, что в нашем случае оно составляет 10%. И пускай при этом все из них были действительно успешны, true positive. Значит, шансы, что наша конкретная гипотеза в конкретном эксперименте будет успешна P(HA) = 10% = 0.1
Распишем согласно Баейсу (пост с разбором формулы тут) вероятность P(HA|p-value) как переоценка HA при условии "конкретного" p-value:
P(HA|p-value) = P(p-value|HA)*P(HA)/P(p-value)
P(p-value|HA) - вероятность конкретного p-value при верности HA
P(HA) - вероятность HA = 0.1
P(p-value) - вероятность конкретного значения p-value
P(p-value) = P(p-value|HA)*P(HA)+P(p-value|-HA)*P(-HA)
или
P(p-value|HA)*P(HA)+P(p-value|H0)*P(H0)
P(H0) = 1 - P(HA) = 0.9
Нам нужно выяснить, чему равно P(p-value|HA), P(p-value|H0)
Сделаем это.
Предварительно мы сделали дизайн теста, альфа = 0.05, мощность = 0.8, выяснили MDE.
1) Далее сделали симуляцию распределений p-value когда эффекта нет (верна H0), p-value ожидаемо в 5% случае оказался от 0.05 и ниже согласно альфе, см. картинку 1
При этом важно (!) cтат. значимый результат при H0 может быть в обе стороны у нас, нас интересует только ложноположительность, когда результат для нас положительный. А это случается в половине всех p-value <= alpha. То есть от красного квадратика мы берем половину, картинка 2!
2) Далее подсчитали, когда эффект есть (HA), p-value ниже 0.05 в 80% согласно мощности, картинка 3.
3) Посмотрим только те p-value по H0 и HA, которые <= 0.05, то есть стат. значимые согласно альфе, картинка 4
Продолжение ниже...