Тёмный

Проверка гипотез и p-value | Вероятность и статистика #5 

Глеб Михайлов
Подписаться 25 тыс.
Просмотров 25 тыс.
50% 1

Опубликовано:

 

20 авг 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 67   
@mlpython1089
@mlpython1089 2 года назад
Спасибо, Глеб, отличные уроки! 1. На 1:35:58 ты выборкам А и В ставишь конверсию 0.1 и 0.12, а при расчете pval оставляешь старую конверсию 0.118. Её нужно было пересчитать? 2. Почему мы полагаем что выборки А и В - это биномиальные распределения? У нас ведь есть только 700 и 300 наблюдений по каждой и мы не можем из этого предположить, что среднее это n*p, а дисперсия это n*p*q как у биномиального распределения.
@GlebMikhaylov
@GlebMikhaylov 2 года назад
Привет! 1) Да, там косяк. Конверсия для нулевой гипотезы вообще нужно каждый раз пересчитывать! Я обновил в ноутбуке, можешь посмотреть как это должно выглядеть. colab.research.google.com/drive/1IoV10W-tDvWnA-VpvhzW4ewMOrc4ppWC?usp=sharing Спасибо огромное, что заметил и написал! 2) Когда у нас может быть либо 0 либо 1, то это не может быть ни чем кроме биномиального распределения. Если точнее, то это распределение Бернулли, но Бернулли это частный случай биномиального. И нам не важны его параметры: если только нолики и единички, то все, мы имеем дело с Бернулли.
@mlpython1089
@mlpython1089 2 года назад
@@GlebMikhaylov 1) Думаю, тут все же не пересчет конверсии нужен а объединение выборок A и В в одну с дальнейшим семплированием из них двух других выборок А и В без возвращения. Типа так: def resample_diff(a, b): ab = np.hstack((a, b)) np.random.shuffle(ab) return abs(ab[:len(a)].mean() - ab[len(a):].mean()) И уже их надо использовать в расчете выпивал: pval = np.mean([resample_diff(a, b) >= diff for _ in range(1000)]) Если перейти к задачам с непрерывными случайными величинами, то объединение выборок с последующим семплированием из них новых выборок (без возвращения) кажется более логичным. Поскольку мы не должны создавать новые случайные величины.
@GlebMikhaylov
@GlebMikhaylov 2 года назад
@@mlpython1089 Да, все верно, лучше всего объединять выборки и бутстрепить с них, но всегда обязательно с повторением! Вот почему: stats.stackexchange.com/a/171452/111782 В случае с 1 и 0 не важно генерим мы из распределения с заданной вероятностью или из объединенных выборок, т.к. там только нолики и единички. И как раз повторение превращает нашу объединенную выборку в генератор (распределение) А вот в случае непрерывной величины, мы уже не знаем распределение, и нам остается только бутстрапить из объединенных выборок, но обязательно с повторением, иначе не будет эффекта генератора.
@mlpython1089
@mlpython1089 2 года назад
@@GlebMikhaylov Понял. Теряется принцип независимости выборок если не делать возвращение.
@user-ci6vx2bs2p
@user-ci6vx2bs2p 2 года назад
2 часа благотворительной работы, Глеб the best. На ODS тебе надо памятник поставить )!. Никак не получается на онлайн попасть, смотрю офлайн ), спасибо тебе 🔥💪
@susannasusanna5329
@susannasusanna5329 2 месяца назад
Очень полезное занятие. Спасибо, Глеб 🤗
@matveypopkov3414
@matveypopkov3414 2 года назад
Глеб, просто респект! Не могу смотреть обычно онлайн, но потом обычно раза по 2 пересматриваю)
@tonycorsia1369
@tonycorsia1369 2 года назад
Посмотрел твои старые видики про практическое тыкание регрессий и градиент буста - топ контент, волк тигр леопард
@antongerasimov2298
@antongerasimov2298 2 года назад
огонь! лучшее объяснение p-value для айтишника, без всякой статистической лабуды :)
@ARTYKRAFTY42
@ARTYKRAFTY42 2 года назад
Спасибо. Легче становится понимать некоторые аспекты ML - особенно нравится про ошибки и связки с recall и precision - и уже статистика кажется не такой страшной. Попробовал уже доверительные интервалы считать на предсказания моделей в регрессии :)) Теперь хочется все обсчитывать :))
@user-ed1hy3by5p
@user-ed1hy3by5p 2 года назад
Ты реально крут! Информативно, понятно и интересно.
@user-sl7hy3yf6f
@user-sl7hy3yf6f 2 года назад
Глеб, спасибо большое!
@Aporlev
@Aporlev Год назад
Спасибо за подробный разбор, благодаря ему пришло понимание как находить и использовать p-value
@valerapopov3286
@valerapopov3286 Год назад
Абсолютное золото! Несколько дней смотрел по несколько часов видосов о статтистике и аб-тестах. Было понятно ну так себе. И только тут я всё понял, я просветлился, аааааааааа
@oldzas
@oldzas 2 года назад
Спасибо Глеб!
@user-tm2sx8pq2h
@user-tm2sx8pq2h 10 месяцев назад
Мощно как всегда, спасибо, от души!
@iugulava
@iugulava Год назад
Супер подкаст, Спасибо большое.
@homerj.6317
@homerj.6317 Год назад
Спасибо, Глеб, очень классный формат! Впервые увидел твой видос, по рекомендации, очень понравилось, буду смотреть 👍
@user-ug1kd6lq7s
@user-ug1kd6lq7s 2 года назад
Глеб, спасибо большое, очень мощно
@romanlapin178
@romanlapin178 2 года назад
Глеб, почему так мало подписчиков???!!! Ты достоин большего)
@denver_batya
@denver_batya 2 года назад
У Глеба дар рассказывать интересно то, от чего прост засыпаешь)
@user-sx3lu6dx1z
@user-sx3lu6dx1z 10 месяцев назад
Спасибо за видео и за ноутбук, мне даже захотелось попробовать этот чудо напиток дня😂
@arigold2596
@arigold2596 Год назад
Офигенный, как говориться, хьюмор)
@armat_it
@armat_it 10 месяцев назад
На моменте с объяснением равномерного распределения p-value ушел сам че т рисовать и моделировать, замучал chat gpt, но так и не понял. Затем ты рассказал про равновероятные точки и тут дошло! У нас ведь распределение с холмиком получается за счет того, что на каждом равном интервале у нас разное количество точек, где кучность концентрируется около среднего. Но если вероятность выпадения каждой точки одинаковая, то, если многократно собирать выборки из этой совокупности, у нас получится, что каждая точка выпала примерно по разу. Аналогично с двумя выборками и, соответственно, разницей между ними. Таким образом на гистограмму p-value ляжет каждая точка совокупкости, а кучности не будет, потому что шаг в p-value - это не значение точки, а вероятность. Короч - если бы мы на этот же график нанесли ещё и значения, для которых считался p-value, то был бы холм в районе единицы, потому что большинство точек сконцентрировано у нуля (мы же разницу считаем, а средняя разница у выборок из одной совокупности будет равна нулю). Но тут другое, тут просто вероятность выпадения каждой точки, которая отделена от значений этих точек - то есть просто статистика выпадания каждого n эксперимента, как в примере с подсчетом порядковых номеров каждой точки.
@antongerasimov2298
@antongerasimov2298 2 года назад
С коронавирусом хороший пример. Ошибка первого рода - тест показывает 1, когда человек здоров - достаточно мала. Тогда как ошибка второго рода - больному ставят отрицательный результат - достаточно высока (чуть ли не под 30%). Из-за этого во многом народ считал эти тесты бесполезными.
@reisedurchdiemathe
@reisedurchdiemathe 8 месяцев назад
По поводу уличной магии... Ну, смотрите, если я правильно понял, у нас две выборки из одного и того же распределения (неважно какого), и мы считаем их средние значения a и b, а затем считаем p-value как функцию вида: p-value = p(epsilon) = P[|a-b|
@zukaroc
@zukaroc 2 года назад
1:45 - В общем, жил был один мужик, было ему лет тридцать. Сел он один раз смотреть программу «Время». Включил телевизор, подвинул кресло, чтоб удобней было. Там сначала появились часы - ну, как обычно. Он, значит, свои проверил - правильно ли идут. Все как обычно было. Короче, пробило ровно девять часов. И появляется на экране слово «Время», только не белое, как всегда раньше было, а почему-то черное. Ну, он немножко удивился, но потом решил, что это просто новое оформление сделали, и стал смотреть дальше. А дальше все опять было как обычно. Сначала какой-то трактор показали, потом израильскую армию. Потом сказали, что какой-то академик умер, потом немного показали про спорт, а потом про погоду - прогноз на завтра. Ну все, «Время» кончилось, и мужик решил встать с кресла. - Потом напомните, я про зеленое кресло расскажу, - влез Вася. - Значит, хочет он с кресла встать и чувствует, что не может. Сил совсем нет. Тогда он на свою руку поглядел и видит, что на ней вся кожа дряблая. Он тогда испугался, изо всех сил напрягся, встал с кресла и пошел к зеркалу в ванную, а идти трудно… Но все-таки кое-как дошел. Смотрит на себя в зеркало и видит - все волосы у него седые, лицо в морщинах и зубов нет. Пока он «Время» смотрел, вся жизнь прошла. Пелевин))
@Oleg86F
@Oleg86F Год назад
Про уличную магию я чего то совсем не понял что Глеб хотел пояснить. Типа построил гистограмму ряда от 1 до 1000, (ну или от 0.001 до 1) и удивляешься, что количество чисел в диапазоне 1-200 такое же как в диапазоне 201-400 и в 401-600 итд?! эмм что тут магического. А про равномерное распределение p-value интересно, спасибо!
@armir6063
@armir6063 10 месяцев назад
Тоже самое подумал
@user-tm2sx8pq2h
@user-tm2sx8pq2h 10 месяцев назад
Среднестатистические юзеры виноградного дня (с). Сохранил в памяти)
@Oleg86F
@Oleg86F Год назад
@GlebMikhaylov По поводу почему двусторонний чаще всего используется в А, Б тесте: например я решил сделать односторонний тест с альтернативой типа конверсия будет больше, и получил высокое p value, могу подумать что нулевую отвергнуть не получилось (мол лендинги одинаковые), но при этом конверсия нового лендинга может быть в сто раз ХУЖЕ старого. и если глазами на нее не посмотреть то по p-value ты никакой аномалии не заметишь оно будет высоким в этом тесте. в случае же двустороннего теста ты увидишь низкое p-value как для случая когда конверсия ниже и когда она выше, то есть ты поймешь что выборки точно не одинаковы, а в какую сторону это как тебе чел написал - глазами посмотреть
@gastado8751
@gastado8751 Год назад
Как же ты хорош
@user-sh8yi2yj7v
@user-sh8yi2yj7v Год назад
Глеб, держи леопарда! Очень полезные уроки
@BoQbL1k
@BoQbL1k Год назад
Очень круто Глебаджо! скажи пожалуйста, можно ли считать в таком формате размер выборки, если ее метрика распределена слишком смещено влево?
@_Andrew_Parker_
@_Andrew_Parker_ 3 месяца назад
@GlebMikhaylov Глеб привет! Подскажи пожалуйста на 28:00 площадь левее 0,75 (вероятность - 12,5%) А вероятность получить удовлетворенность 0,8 и ниже это всего лишь около 50%?
@user-px6ve1bs5e
@user-px6ve1bs5e 5 месяцев назад
После просмотра трансляции понимаешь, что N лет работал на ощупь - вроде делал всё правильно, но хз почему делал именно так. А теперь как будто линзы контактные надел и прозрел. Нет, как будто сделал лазерную коррекцию зрения. Гранд мерси!
@dickey_mickey
@dickey_mickey Год назад
🐆
@user-jh1vx3vx1c
@user-jh1vx3vx1c Год назад
а так что в итоге, лэндинг лучше или нет? мы вроде проверили только, что вероятность того, что разницы нет меньше 1%. А вероятность того, что лэндинг хуже или лучше как проверить
@andrewh2144
@andrewh2144 Год назад
Все начиналось с удовлетворения от виноградного дня, а закончилось MDEma
@baxai_
@baxai_ 2 года назад
Глеб, привет Ты в конце, при подсчете мощности, в цикле, когда считал pval с помощью монте-карло, забыл выборкам поменять размер на 680 Для контрольных поменял, а для тех, с помощью которых считаешь pval похоже забыл
@baxai_
@baxai_ 2 года назад
Поменял на 680, мощность получилась 0.803
@GlebMikhaylov
@GlebMikhaylov 2 года назад
Точняк! Спасибо! Затупил чето
@keeperfclm
@keeperfclm 2 года назад
@@GlebMikhaylov и среднее у тебя при генерации выборок для подсчёта pval тоже не поменяно и 0.118 стоит, а при первом эксперименте, где 10% и 12% конверсия надо 0.106 (тут я не проводил эксперимент, но такое ощущение, что можность будет сильно выше, чем получилось), при втором 0.115 (ну здесь, наверное, сильно не изменится)
@sultanryskulov2678
@sultanryskulov2678 Год назад
Глеб, по поводу загадки двустороннего теста. Разве нельзя до модуля проверить разницу между каждыми наблюдениями? Если будет отрицательное значение средней разницы, то она негативная, например.
@sergeyshimkiv1202
@sergeyshimkiv1202 2 года назад
Получается что df['pct'].hist() - это распределение p-value? И оно всегда будет равномерным, вне зависимости от типа первоначального распределения?
@GlebMikhaylov
@GlebMikhaylov 2 года назад
Не поверишь, вот сам час назад об этом думал)). Если мы отойдем от проверки гипотез и определим p-value, как вероятность получить такое же или меньшее значение (или по модулю, чтобы было с обеих сторон), то да, p-value всегда будет равномерным. Единственное, если переменная будет дискретной и ее значения могут повторяться, то тогда будет сложно отсортировать значения, и следовательно посчитать p-value. В дискретном случае равномерность p-value можно получить только если мы рандомно отсортируем одинаковые значения. И тут у тебя должен возникнуть вопрос: но почему тогда мы иногда получаем не равномерно распределенное p-value? Тут уже в игру вступают гипотезы. Неравномерное распределение мы можем получить в двух случаях: 1) нулевая гипотеза не верна 2) тест не подходит под наши данные. В первом случае мы считаем p-value на основе распределения среднего согласно нулевой гипотезе на сэмплах, которые приходят из другого распределения. Во втором случае, мы так же считаем p-value на основе распределения среднего согласно нулевой гипотезе, которое по ЦПТ должно быть нормальным, но наше реальное выборочное среднее распределено ненормально. Вот тут еще много обсуждений почему p-value при нулевой гипотезе распределен равномерно. stats.stackexchange.com/questions/10613/why-are-p-values-uniformly-distributed-under-the-null-hypothesis
@sergeyshimkiv1202
@sergeyshimkiv1202 2 года назад
@@GlebMikhaylov На соседней вкладке уже открыта эта ссылка)))
@d14400
@d14400 2 года назад
@@GlebMikhaylov Глеб, pct - это range(1,1001)/1000 - равномерно банально (и потому идеальная прямая). Делай столбец такой хоть к распределению Парето - будет равномерность. Не улавливается связь к нормальному распределению
@igorkimrb
@igorkimrb 2 года назад
Глеб, очень крутые стримы. Почему мы посчитали общую конверсию с учетом обеих групп 0.118, а не взяли конверсию первой группы 0.10? Ведь мы говорим, что вторая группа не отличается от первой. Этот момент мне сложно принять.
@GlebMikhaylov
@GlebMikhaylov 2 года назад
Мы как бы представляем, что мы получили наши данные без деления на группы, мы их перемешиваем. Взять только первую группу мы не можем, т.к. тогда мы просто проигнорируем вторую. Ведь вдруг наше деление на группы совершенно не имеет смысла и это лишь названия и по факту первая и вторая группы не отличаются. Объединяя их, мы представляем что данные пришли не из разных групп, а из по сути из одной большой
@Zacher772
@Zacher772 Год назад
Не могу загуглить что означает z статистика - первое значение, которое возвращает тест пропорций. На гитхабе из кода вывести формулу пытался, но очень запутано для меня. Все ресурсы, всегда опускают описание этой статистики. Пожалуйста, подскажи, что она означает?
@bin5460
@bin5460 2 года назад
Привет,, не могу понять определение бутстрап - "имитировать многократное получение выборки из генеральной совокупности, используя данные из имеющейся у нас выборки.", в вашем видео мы скорее создаем выборки на основе уже имеющихся условий (которые нам дал менеджера виноградного дня) новые выборки, а не используем уже имеющуюся. Слегка запутался.
@GlebMikhaylov
@GlebMikhaylov 2 года назад
Я вообще часто использую взаимозаменяемо бутстреп и Монте-карло. Я называю так процессы, где мы генерим выборки, не важно из распределения или другой выборки. В пример с менеджером Виноградного дня мы действительно генерим выборки из распределения с параметрами нулевой гипотезы. И ни как не используем выборку с данными. Бутстрепить выборку с данными мы тут можем например для определения доверительного интервала. Но чаще всего бутстрепом называют процесс генерации выборок из другой выборки. Например, если у нас есть две группы, то мы можем объединить эти группы в одну и тем самым получить условия нулевой гипотезы, что разницы нет. И за тем из этой объединенной выборки генерить выборки и смотреть в скольки случаях они будут отличаться.
@omnomnompus
@omnomnompus Год назад
У нас же есть изначальное значение конверсии, и мы видим что оно больше либо меньше, вот мы и проверяем статзначимость, а если устанавливаем ее - значит изначальное значение разницы в конверсии имеет правильное направление, разве нет?
@GlebMikhaylov
@GlebMikhaylov Год назад
да, я тоже это так понимаю
@user-ne4ys9mj8b
@user-ne4ys9mj8b Год назад
а где видос с разборками по виноградному дню и калькулятору а-б тестов?) поделитесь ссылкой плиз
@user-ne4ys9mj8b
@user-ne4ys9mj8b Год назад
попалось в реки само: ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-PqDtQgjPiTk.html
@Diabolic9595
@Diabolic9595 Год назад
Все же один момент мне не понятен. p-value - это же по сути вероятность события, которое противоречит нулевой гипотезе. Так почему же если эта вероятность меньше, то мы должны отвергать её, если она своей незначительностью подтверждает эту гипотезу?
@GlebMikhaylov
@GlebMikhaylov Год назад
Наборот. Мы считаем вероятность события на фоне нулевой гипотезы. Если вероятность получить это событие в условиях нулевой гипотезы мала, то событие сильно противоречит нулевой гипотезе. Это очень редкое и маловероятное событие для нулевой гипотезы поэтому мы можем решить ее отвергнуть
@Diabolic9595
@Diabolic9595 Год назад
@@GlebMikhaylov аа, все, теперь понял принял обработал. Спасибо❤
@antongerasimov2298
@antongerasimov2298 2 года назад
Что то я не понял трудности в интуиции в двухстороннем. Мы поставили нулевую, что они одинаковые, поэтому альтернатива скажет, что они разные. Разница может быть в обе стороны. Третий ответ не ерунда.
@antongerasimov2298
@antongerasimov2298 2 года назад
Возможно, твой вопрос в том, почему учитывая оба варианта различия (второй лендинг и лучше и хуже), и получая p-value из этих соображений, мы, тем не менее делаем вывод, что второй лендинг именно лучше, а не хуже?
@antongerasimov2298
@antongerasimov2298 2 года назад
Так тут тоже, вроде, все интуитивно понятно. У нас же по факту получилась конверсия больше: 0.16 против 0.1. Наблюдать такую разницу в кейсе, когда вторая страница на самом деле хуже - еще менее вероятно, чем исходную нулевую гипотезу. Все очевидно ж, нет?
@GlebMikhaylov
@GlebMikhaylov Год назад
Ну дело в том, что это обычно не проговаривается явно.
@user-ti5jo3qi4n
@user-ti5jo3qi4n Год назад
Глеб, когда новые видео??)) так как ты можешь изложить инфу никто не может !!!
@alekseyfomin7921
@alekseyfomin7921 7 месяцев назад
А кто-нибудь может пояснить, почему получается разный pvalue в задаче про соцопрос при разных методах? pvalue = scipy.stats.binom.cdf(75, 100, 0.8) from statsmodels.stats.proportion import proportions_ztest as pz _, pvalue = pz(75, 100, 0.8, alternative='smaller')
Далее