А/Б тесты: непрерывные переменные | Вероятность и статистика #7

Поделиться
HTML-код
  • Опубликовано: 25 ноя 2024

Комментарии • 39

  • @Aporlev
    @Aporlev Год назад +3

    Спасибо за ваши труды, благодаря которым получается закреплять материал!

    • @Leha_from_Zavod
      @Leha_from_Zavod Год назад

      Не подскажите, по каким именно материалам учитесь?

  • @ОльгаДзина
    @ОльгаДзина Год назад +1

    Спасибо огромное! Смотрю ваши стримы как увлекательный сериал❤ Умеете объяснять человеческим языком сложные вещи

  • @sevlant
    @sevlant 2 года назад +2

    Про среднее из модельного распределения.
    Демонстрируемый код возвращает нам 4 параметра для моделирования распределения.
    Они соответствуют параметрам (a, b, loc, scale).
    Поэтому для получения среднего используем следующий код:
    from scipy.stats import johnsonsb
    johnsonsb.mean(a, b, loc, scale)
    А чтобы помонтекарлить выборки подойдет такой код:
    johnsonsb.rvs(a=8.635547387774977, b=1.940117105713055, loc=-622.7363950863808, scale=9922160.800678246, size=1000)

    • @НиколайБруцкий-Стемпковский
      @НиколайБруцкий-Стемпковский Год назад

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

  • @mlpython1089
    @mlpython1089 2 года назад +1

    Полезный мануал для работы со своими выборками. Спасибо.

  • @outofthebag849
    @outofthebag849 2 года назад +4

    Привет! В разделе про универсальность Манн-Уитни нужно его тестить без логарифмирования выборки.

  • @susannasusanna5329
    @susannasusanna5329 5 месяцев назад

    Глеб, спасибо за ваш замечательный курс! ❤
    До этого мне казалось, что жизнь проходит мимо меня потому что я не знаю математики)) вы показали, что можно стать математиком (ну, почти математиком 😅)
    После ваших разъяснений понятно что когда и зачем из математического использовать для своих целей.

    • @GlebMikhaylov
      @GlebMikhaylov  5 месяцев назад

      Спасибо огромное за теплые слова о моем курсе!) И за все комментарии) ❤️

  • @baxai_
    @baxai_ 3 года назад +2

    Глеб, привет 👋
    Ты когда начал рассказывать про ненормальное распределение (в серединке стрима) - хотел посчитать среднее для нормального распределения, из которого строится логнормальное. Там надо было сначала все распределение прологарифммровать, а потом взять среднее. np.log(a).mean() как раз получается нужный результат
    Огромное спасибо тебе за стримы!!! Очень много полезного рассказываешь, респект!

  • @olesyafink9545
    @olesyafink9545 Год назад

    В видео говорится, что при ненормальном распределении есть проблема в генерации выборки В для бутстрепа с заданной новой средней. Но если, как в задаче, мы знаем, что после логарифмирования выборки А у нас получается близкое к нормальному распределение с известным стандартным отклонением, то что мешает генерировать нормальные распределения с заданной новой средней и этим ст.отклонением, а потом возводить экспоненту в полученные значения? Как бы log/exp математически взаимообратны...

  • @sevlant
    @sevlant 2 года назад

    У этого ролика поразительно мало лайков. Жалко поставить что ли? Отличный плейлист, не знаю ничего, что бы так же на пальцах демонстрировало заумную "науку".

  • @iliyagribenko8740
    @iliyagribenko8740 Год назад

    Глеб, привет! Спсибо за этот классный курс!! Твой подход к изучению статистики через моделирование СУПЕР!
    Я тут кажется нашел ошибку. На 1:10:49 вычисляя размер выборки для логнормального распределения ты считаешь стандартное отклонение как a.std(), классно было бы его замонтекарлить. Из-за того, что ты вычислял стандартное отклонение для отдельно взятой выборки, у тебя получилось большое отклонение от реального значения стандартного отклонения.
    И наверое std стоит монтекарлить обьединяя обе выборки? В итоге получается так std_log = np.mean([np.concatenate([a(), b()]).std() for _ in tqdm(range(1_000))])
    Я забутстрапил 1000 std взял среднее от массива, в итоге получились сдедующие значения: std: 8000, sample_size=501694, power = 0.803.
    Ты делаешь вывод, что t-test здесь не применим и даже для рассчитанного размера выборки дает мощность меньше, чем предполагалось. А выходит, что применим (мощность почти как планировали), просто размер выборки нужен очень большой. Подскажи пожалуйста, это верные выводы?

    • @GlebMikhaylov
      @GlebMikhaylov  Год назад +1

      При бесконечном размере выборке нам вообще не нужна статистика. Смысл статистики как раз сделать вывод на выборке разумного размера.
      При бесконечном увеличении выборки выборочное среднее из любого распределения будет распределено нормально. Поэтому твои выводы верны: если мы увеличиваем выборку то рано или поздно т-тест будет применим.
      Тут мы исходим из того, что мы не можем увеличить выборку и должны довольствоваться тем, что есть.

    • @alekseyfomin7921
      @alekseyfomin7921 10 месяцев назад

      Привет из 2024) Мне кажется, тогда проще использовать формулу дисперсии для логнормального распределения из википедии и взять из нее корень, чтобы получить std.
      std = ((np.exp(sigma**2)-1)*np.exp(2*mean+sigma**2))**.5
      И использовать ее в для effect_size в power.tt_ind_solve_power(effect_size=effect_size, power = .8, alpha=.05, ratio=1)
      Тогда действительно получится нужна выборка n = 505170 (очень большая)

  • @LostMakaveli
    @LostMakaveli Год назад

    Брат-леопард, у тебя есть про АБ с использованием прогнозирования?
    Про тесты без контрольной группы?

    • @GlebMikhaylov
      @GlebMikhaylov  Год назад +1

      Привет! Нет, про эти темы нет

  • @delkaaaa
    @delkaaaa Год назад

    а 36 получилось и для контрольной и для тестовой группы? или 36 только для тестовой и пофиг сколько для контрольной? также вот мы тоже 200 нашли для инкама...это 200 и для целевой и для контрольной?

  • @sergg2711
    @sergg2711 Год назад

    А можно ли получить ноутбук bank-ds-trainee-test-case если можно или это секретная информация?

    • @GlebMikhaylov
      @GlebMikhaylov  Год назад +1

      colab.research.google.com/drive/1tLilhS4nwwbMXI3Iysga6Yz8MsRDFjre?usp=sharing

    • @sergg2711
      @sergg2711 Год назад

      @@GlebMikhaylov Супер, спасибо!

  • @__hello_world__
    @__hello_world__ Год назад

    Глеб, привет! Подскажи, пожалуйста, почему на жирнохвостовых распределениях не делают а/b тестов?

    • @GlebMikhaylov
      @GlebMikhaylov  Год назад

      Их делают, но это сложно. ttest нельзя применять (ну или просто гигантские выборки нужны) А если применять Манн Уитни или понижение дисперсии то уже нулевая гипотеза другая.

    • @__hello_world__
      @__hello_world__ Год назад

      @@GlebMikhaylov спасибо большое за ответ! Может быть еще подскажешь..) Везде про А/Б говорят, но есть еще одна актуальная задача: сравнение готовых выборок
      Например, есть выборка A с показателем P по времени, то есть таблица имеет вид:
      id_A | P | date
      И такая же таблица для выборки B
      id_B | P | date
      Вот мне нужно понять, на сколько фактически отличается показатель P для выборки А от показателя P для выборки B
      Даты для каждых выборок одинаковые, условия, в которых они находились, тоже. Отличается только один параметр, влияние которого на целевую переменную мы и хотим замерить
      Просто в основном ролики про эксперименты и их планирование. А вот как правильно посмотреть фактическое влияние показателя на значение какой-то метрики, не совсем понятно :(

  • @ЕвгенийСивко-х3т
    @ЕвгенийСивко-х3т 2 года назад

    Привет, Глеб.
    Подскажи правильно ли я действую!
    Хочу использовать для аб теста Манна-Уитни и проверить его мощность.
    1. Подобрал распределение fit data to destribution.
    2. Скорректировал параметры чтобы средние в выборках соответствовали моим.
    3. Делаю бутстрап и смотрю мощность теста корректируя размеры выборок.

    • @GlebMikhaylov
      @GlebMikhaylov  2 года назад

      В целом да, я так же это себе представляю. Можешь еще рядышком посчитать размеры выборок для ти теста и сравнить

    • @sevlant
      @sevlant 2 года назад

      @@GlebMikhaylov Как-то консультировался у аналитика, работающего в Яндекс, так он мне сказал забыть про Манна-Уитни, из-за того что он ранговый его никогда не используют в индустрии за пределами науки. Я без комментариев, для меня это ещё темный лес

  • @sergsergeev5751
    @sergsergeev5751 2 года назад

    Глеб, добрый день! У Вас есть курс по SQL, что бы от создания своей базы до работы с ней. Сейчас данные аккумулируются в 1с, но имею большие проблемы к прямому доступу к ним. Работаю как то через анус. Сначала скачиваю данные в csv, затем читаю их pandas и там обрабатываю. Затем сохраняю опять в csv. В итоге имею большой объём разрозненных таблиц. Как то это нехорошо. Конечно проще всего организовать прямой доступ к 1с, но не понимаю как это сделать. Решил создать свою базу, дубль необходимой инфо из 1с, переодически обновлять ее.

    • @GlebMikhaylov
      @GlebMikhaylov  2 года назад

      Привет! Курса именно по созданию базы нет, но я вижу, что ты и так вроде разобрался: создаешь таблицы да и все. И да, создать аналитическую базу это отличная идея. Как раз вот и научился управлять базами данных, дата инженеринг!

  • @НиколайБруцкий-Стемпковский

    Ну прям леопард)

  • @igorkimrb
    @igorkimrb 2 года назад

    Если средние выборок распределены нормально (ЦПТ в действии), то используем ттест, а если нет - то манн уитни?

    • @GlebMikhaylov
      @GlebMikhaylov  2 года назад

      Грубо говоря да.

    • @maxp1059
      @maxp1059 2 года назад

      @@GlebMikhaylov Странно, во множестве источников сказано, что для t-теста нам нужно принять допущение о нормальной форме распределения именно генеральных совокупностей из которых берутся выборки. Поэтому если у нас есть основания полагать, что генеральная совокупность расределена не нормально (в основном определяется по форме выборок) то лучше использовать непараметрические тесты или бутстрап. Или я ошибаюсь?

    • @GlebMikhaylov
      @GlebMikhaylov  2 года назад

      @@maxp1059 Нормально должны быть распределены выборочные средние, а не сами данные

    • @maxp1059
      @maxp1059 2 года назад

      @@GlebMikhaylov Так выборочные средние будут всегда нормально распределены. Например возьмем выборку из распределения Парретто как у вас в видео и возьмем большое кол-во выборок и построим распределение средних этих выборок и оно будет нормальным. Как тогда определить, что t-test нам не подходит

    • @GlebMikhaylov
      @GlebMikhaylov  2 года назад

      @@maxp1059 Нет, оно не всегда будет нормальным. Будет ли оно нормальным зависит от кол-во наблюдений в выборке (ЦПТ). Если наблюдений мало, но выборочное среднее может иметь не нормальное распределение

  • @Sibbarb9
    @Sibbarb9 3 года назад

    Глеб а как среднее может быть распределено нормально , это же число , не понимаю. Ну вот есть у меня ГС , со средним 5 как понять что это среднее распределено нормально

    • @GlebMikhaylov
      @GlebMikhaylov  3 года назад +4

      Выборочное среднее должно быть распределено нормально. Это проверяется бутстрапом: берешь например 1000 выборок и по каждой считаешь среднее. И вот у тебя уже 1000 средних и ты можешь посмотреть на их распределение.
      И понятно, что по ЦПТ при бесконечно больших выборка выборочное среднее из любого распределения будет распределено нормально. Но на практике у нас нет этой бесконечного и каждое распределение имеет разную "скорость" схождения ЦПТ. Поэтому нам надо проверять, а достаточно ли нам размера сэмпла чтобы выборочное среднее было распределено нормально.

    • @Sibbarb9
      @Sibbarb9 3 года назад

      @@GlebMikhaylov спасибо