Warning: Undefined array key 0 in /var/www/tgoop/function.php on line 65

Warning: Trying to access array offset on value of type null in /var/www/tgoop/function.php on line 65
29 - Telegram Web
Telegram Web
Пост №1

Слабые места найма аналитиков в наше время (давненько хочется этим поделиться публично)

С наступлением 2024 можно смело сказать одно: вот уже несколько лет идет идет порочная практика собеседований ребят на позицию аналитиков разного посола и разного уровня через то, чему противится мое сердце. От одного только воспоминания уж очень противно становится где-то слева в груди. И вспоминать не хочется вот об этом:

1. Задачки на теор.вер и прочую комбинаторику из серии “Достали урны из шаров”
2. Онлайн-кодинг решения задач из серии “преобразуйте один сорт неизвестной абстрактной субстанции в другой”.

Я думал над этим новомодным трендом, его истоками. Пришел к одному простому выводу, что это не более чем слепое копирование: “А вот в одной компании это применяют, давайте также!”. Оххх, ну что ж, еще один вредный фреймворк в нашем бытии.

Позитивный смысл в этом есть, конечно: уменьшение времени на скрининг кандидата. Да-да, нет-нет, все понятно, “мы вам перезвоним”. Но на этом все и заканчивается.

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

Скажите мне, пожалуйста, ребята, как часто вы: просто считаете вероятность хотя бы в самом ее простом виде? Как часто вы прикола ради преобразуете одно из другого в плане использования какого-то алгоритма?

Давайте я отвечу: почти никогда. После устройства на работу через пару месяцев это все развеет ветер ваших текущих задач, которые вообще не имеют отношения к обоим пунктам (а потому это вред и для индустрии).

Более того, вот скажите мне, вы когда делаете задачу, над вами стоит ваш руководитель, дыша вам в спину и смотря каждую запятую, рандомно вбрасывая “пять на шесть - сколько будет, а!?”. Нет. Если да, то вы похоже не там работаете, бегите оттуда. Я к чему: это не собеседование, а самый настоящий стресс-тест.

Сейчас мне тут накинут из тех, кто руку набил на этом, “не, ну нормальный опыт, полезна”. Ребят, давайте признаем: вас скорее всего это травмировало, вы пытаетесь найти хоть какой-то смысл в пережитом страдании (его нет), особо травмированные будут мучать так уже своих кандидатов, отыгрываясь. А если вас не травмировало, то либо вы мазохист, либо со синдромом студента.

Я открою маааааленькую тайну: в рамках собеседования не только компания смотрит на вас, но и вы смотрите на компанию. Вы общаетесь, это общение на равных - в конце концов, если есть вакансия, значит есть у компании потребность. Если есть потребность, значит она нуждается. То есть не только вам - работа, но и компании - работник.

Итого, собеседование не стресс-тест, это общение на сходимость компании и кандидата. Ключевое слово: общение. Так не пора бы начать общаться с людьми, а не ЕГЭшить их, тем более, что последнее уже не первую декаду сомнительно сказывается на качестве образования в стране?

В принципе, как исключение, допускаю, что 1 и 2-ое можно применять к стажерам/метящим в джунов. Оно и понятно: у них нет опыта, у них нечего по существую просить (не совсем так, см. ниже). Но для мидлов и далее - нет, еще раз нет!

Критикуешь - предлагай. Без проблем.

Собеседующим я предложу то, что сам практику:

1)
а) читать резюме - ведь зачем-то его пишут
б) спрашивать кандидата по его опыту

Уверяю, в рамках а) и б) можно узнать все необходимое в плане погруженности кандидата в предметную область и умение считать. С вас-то только и нужно, что умение читать и слушать.

Что спрашивать?
Например, как решал задачу, понимает ли кандидат то, чем пользуется и пр.
Если хочется узнать про понимание базы, так спросите о том, что нравится в математике, какая область? Почему именно она? Теор. вер. говоришь? А в чем его польза? Помнишь, про что теорема Байеса?

Ключевый момент: цеплятся за то, что вам скажут (для этого надо слушать). И это - честно, потому что никто кандидата за язык и руку не тянул: что сказал/написал, о том и спрос! (поэтому кандидатам - следите за тем, что пишете в резюме и говорите!)
👍92🔥2
2. Соберите максимально релевантное вашим задачам тестовое задание:

Например, я давал вымышленные по-юзерные данные и просил собрать мне совершенно обычные отчеты, иногда чуть посложнее, но что тоже встречается в рамках области; просил сделать дизайн A/B-теста на базе кейса; сделать небольшую разметку страницы/экрана; событий для маркетинга/продукта.

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

Более того, это можно спокойно прочитать-ознакомиться, чтобы дать структурный фидбек (о фидбеке со стороны компаний это вообще отдельный разговор, по рынку с ним как было, так и осталось - ноль)

Кандидатам:

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

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

Да-да-да, это все фу-фу-фу, но что поделать, раз живем в таком тренде!

А на этом все. Есть у меня желание еще написать, как повысить свои шансы на собеседовании, но это как муза придет.
👍6
Вчера у Кантора (топ-менеджер и дата сатанист в МТС) в комментариях разразился маленький спор, который давно уже назревал в рамках обучения в IT, особенно платного. Кратко суть спора можно сформулировать так: “Как должен быть организован платный курс, чтобы был достигнут ожидаемый эффект от него - понимание изложенного материала?”

Люди разделились на два лагеря:
1) “студенты должны проявить много самостоятельной работы”, так как “это буквально лучший способ дать студентам понять тему””
2) “не должны” - гуглить можно и без курса, “открытых источников хоть жопой жуй”. Это преподаватель должен объяснять так, чтоб было понятно и без дз, без гугления и пр.

Правы оба лагеря, просто все зависит от того, чему вы учитесь.

Первый подход подходит в областях, где навык сильно связан с практикой: нельзя научиться программировать/пилотировать самолет/дрифтить на машине/боксировать/пр., прочитав учебнику. Данные навыки нарабатываются через простой алгоритм: рассказ, показ и умопомрачительная тренировка/отработка. Рассказ/чтение книги необходимо, чтобы минимизировать ожидаемые ошибки, но только тренировка встроит навык так, что он будет автоматом у вас проявлятся. Более того, только через сотню-другую часов вы сможете иначе взглянуть на то, что вам рассказывали, до вас “дойдет”.

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

То есть принцип: дадим домашки, наговорив с 3 короба, что они помогут, и попросим гуглить, - не работает в рамках этих наук (особенно учитывая то, что курс - платный)

Эти дисциплины можно освоить исключительно через внятное объяснение на пальцах, будто это объясняется ребенку. Точка. В рамках обучения статистики, МL работает только 2 подход: когда преподаватель разжевывает вам как мама-птичка эту интеллектуальную еду и раздает лично каждому. Самое главное суметь донести смысл: потому что те же A/B это не про опыт их рассчитывания от руки/в уме/во сне, это про понимание логики работы и понимания, почему и что когда работает, а когда нет. В этом смысле не надо ничего знать и запоминать, понимание даст и то и другое.

Показ куда нагляднее рассказа, поэтому те, кто знает английский, посмотрите ролик моего любимого канала по DS - StatQuest, - он настоящий гений преподавания. Всего за 20 минут вы поймете, как работает дерево решений, один из алгоритмов ML. Именно так и надо объяснять и показывать, вести курс! И совсем-совсем не даром у этого канала 1 млн. подписчиков (канал только о DS, Карл!).

Именно таким каналом, а также рядом других, я вдохновлялся, когда делал свой курс, чтоб вот на таком же уровне рассказывать и показывать (картинок у меня МНОГО!)
🔥10👍2
Нельзя провести ни один онлайн A/B тест, не снимания измерений по пользователям. Для веба или приложения для измерений активности пользователя вам нужны:

1) трекер
2) события на сайте

Если первое это выбор, исходя из функционала, то второе далеко не просто про, чтобы накидать схему событий и отдать в разработку: тут надо думать и думать много, от самой структуры событий до правил разметки, словарей и так далее.

Об этом вышла моя статья в блоге у Яндекса у AppMetrica:
https://appmetrica.yandex.ru/ru/about/blog/appmetrica-x-pyaterochka

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

Надеюсь, вам будет полезно!
👍8
- Является ли удачный АБ-тест доказательством продуктовой гипотезы?

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

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

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

Тоже нет. Неудачный тест это также факт, который оспорим со стороны другой ошибки - ошибки 2-го рода как вероятности не обнаружить эффект там, где он есть. Если тест неудачный (не прокрасился), то это не значит, что закладываемого заранее минимального на обнаружение эффекта не было, мы могли совершить ошибку 2-го рода. Об этом мы вряд ли узнаем, так как неудачный тест в прод обычно не катят.

Другое дело, что у нас ошибка 2-го рода тесно связана с мощностью: вероятностью обнаружить эффект там, где он есть. Мощность = “100% - ошибка 2-го рода”. Отсюда если у вас заложена большая мощность перед тестом, то это весомый аргумент, что такого эффекта продуктовая гипотеза не имеет.

—-
Отдельно отмечу, что названия “ошибка 1 и 2 рода” в контексте возможности их совершить, когда ты читаешь про них без понимания их сути, кажутся сбивающими с толка по одной простой причине: не очень-то “ошибки” любят, далее начинают посещать мысли “а поэтому почему бы и не минимизировать/не избавиться от них”? Это невозможно по двум причинам:
во-первых, они имеют вероятностный характер и обнулить их не выйдет, во-вторых,
устремление вероятности этих ошибок к нулю потребует от вас бесконечного размера выборок.

Лучше думать о этих ошибках согласно их определению, а не названиям:
- Какую выставим вероятность обнаружить эффект там, где его на самом деле нет?
- Какую выставим вероятность НЕ обнаружить эффект там, где он есть?

или, - что больше распространено, так как вместо ошибки 2-го рода мы используем мощность:
- Какую выставим вероятность обнаружить эффект там, где его на самом деле нет?
- Какую выставим вероятность обнаружить эффект там, где он есть?

—-
Сами тесты, если коротко, вообще ничего не знают о том, что ложь или истина. Они лишь говорят то, что говорят: вот тебе распределение для нулевой гипотезы (когда эффекта нет), а вот твоё значение статистики теста, оно лежит на распределении вот тут, вот тебе p-value как вероятность получить такое же экстремальное или еще экстремальнее значение при верности нулевой гипотезы. Как тебе с этим? Как тебе это значение в сравнении с пороговыми? Далее наступает этап ваших решений.

P.S. Если вам половина текста показалась птичим языком, то добро пожаловать на следующей поток по базе :)
👍4🔥1
В статистике в рамках исследования все начинается с нулевой гипотезы как о предположении о выборке (ее параметрах, таких как среднее или самом распределении). Но предположения можно сделать ровно 2, случай two-sample:
1. Параметр выборки А (допустим среднее) равен параметру выборки B
2. Параметр выборки А НЕ равен параметру выборки B

Для нулевой гипотезы берут именно 1-ое, а 2-ое оставляют для альтернативной (гипотезы). Есть ли в этом что-то особенное? Ну, какая разница же, вроде, да? На самом деле особенное есть, то есть это неслучайно. И менять местами 1-ое со 2-ым было бы ошибкой.

Есть спорный, но в рамках статистики крайне подходящий принцип Карла Поппера: "Только та гипотеза/теория научна, которую возможно опровернуть", точнее - та, над которой можно провести эксперимент и далее по его результатам возможно и опровергнуть. Красиво это называется как "фальсифицируемость".

Важно понимать, что под научностью имеют в виду вообще возможность исследовать. Поэтому теорию, которую нельзя проверить (во всяком случае сейчас, при нынешнем уровне развития), называют ненаучной, но НЕ имеют в виду, что она - лженаучна. Ненаучная и лженаучная - это разное! Лженаучная теория противоречит фактам, ненаучная просто на данный момент непроверяема в том смысле, что ее не сделать предметом исследования. Но и научная и ненаучная имеют ряд фактический посылок. Тут, думаю, разобрались.

Так вот. Статистика вывела ряд замечательных распределений: z-нормальное распределение средних, t-распределение и еще множественный ряд прочих, которые лежат в рамках других тестов. Все эти распределения об одном и том же по сути: распределение статистики теста (z-статистики, t-статистики и пр.), когда РАЗНИЦЫ нет. Разницы средних, разницы в распределении в той или иной форме.

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

Можно ли такие альтернативные распределения построить? Думаю, да, в теории (я просто не пробовал), в эпоху-то компуктеров должно быть возможно. Например, посмотреть, какое будет t-распределение, симулируя выборки из разных популяций. Проблема в том, что они не будут являться универсальными как классические распределения стат. тестов. А потому, чтобы убедиться в верности ваших выводов как исследователя, любому ученому нужно было сначала разобраться в этой альтернативщине.

То есть:
1. Параметр выборки А (допустим среднее) равен параметру выборки B - НАУЧНО
2. Параметр выборки А НЕ равен параметру выборки B - НЕНАУЧНО (непроверяемое, нет распределений, куда приземлять значения статистик)

Поэтому, когда видите, что в дизайне теста кто-то выдвинул нулевую гипотезу о РАЗЛИЧИИ, знайте - это ошибка. Но не судите строго, понять, почему это ошибка сложно, думаю (это крайне смелое предположение), даже ряд профессоров не отдали бы себе отчета, почему это так. Хотя казалось бы, да?

P.S. Конечно, не все распределения, которые говорят об отсутствии различий, универсальны. Тоже t-распределение в плане своей формы чувствительно к размеру выборок: t-таблица довольно красочно об этом говорит. И все же оперировать ею легче, чем строить еще 100500 таких таблиц под каждый случай различия
👍1
Привет!
Два важных апдейта для тех, кто прошел базовый курс:

1. На вас всех пошарена папка в гугл-диске "Постпотоковое" (проверьте уведомления; если нет - пишите мне в ЛС):
- там будут записи встреч и презентации от последнего потока. То есть после каждого потока она будет перезаписываться. Так как каждый раз, в рамках каждого потока я для подготовки перечитываю каждую презентацию от и до, некоторые вещи редактирую, некоторые радикально меняю для большей понятности. Например, я изменил содержание 6-й презентации про Нулевую Гипотезу, собираюсь изменить часть про MDE, разбавив ее примерами, текущий поток показал, что там были пробуксовки, увидел-принял-изменю!

2. Начал писать продвинутый курс по A/B, который будет включать в себя как минимум:
- снова вводные (в матанализ: функция, производная...),
- непараметрические тесты (Бустрап, Пуассон Бустрап, Mann-Whitney и Ко),
- методы ускорения тестов, разбор проблемы метрики-отношения.
Он будет сложнее, без базы туда ни ногой: повторений про ошибки 1-го рода, альфы и прочее уже не будет.
👍2
К вопросу о понятиях, про MDE:

1. Встретил на степике в рамках одного курса по A/B такое неверное определение MDE как "минимальное значимое различие".

Нет, MDE это именно "минимально обнаруживаемый эффект" (minimal detectable effect), который мы можем обнаружить (1), но не обязательно, что обнаружим (2) при заданными параметрах: альфа, мощность и доступной аудитории на каждую из выборок.

Особый акцент я бы сделал тут на мощности. Если она равна 0.8 = 80%, то именна это и есть вероятность обнаружения (можем обнаружить); а где мощность, там и ошибка 2-го рода: 1 - мощность = 1 - 0.8 = 0.2 = 20% вероятность НЕ обнаружить (не обязательно, что обнаружим)

Значимость тут вообще не к месту, значимость находится в рамках H0 и уровня альфы.

2. При этом в другом месте, который начинается на букву "Я", говорилось, что MDE это "среднее всех разниц между двумя генеральными H0 и HA", добавлю: если HA действительно имеет место (существует). Официально: мат. ожидание разниц двух генеральных. Увы, без учета параметров, это не совсем корректно. Вчитаемся: M-D-E. В рамках такого определении это просто E, Effect, тут я согласен. Но у нас есть M и D: Minimal и Detectable соответственно. Эти два слова прямо указывают на неразрывную связь с параметрами.

Итого: MDE это - Минимально. Обнаруживаемый. Эффект, который мы можем обнаружить, но не обязательно, что обнаружим при заданными параметрах: альфа, мощность и доступной аудитории на каждую из выборок. Точка.
🔥3
В продолжении про MDE, несколько слов о его сводного брате, о "Желаемом эффекте".
Дело в том, что формуле размера выборки для A/B в рамках t-test'a стоит следующее (среднее А минус среднее B). Но когда у нас есть доступный размер аудитории, альфа и мощность мы можем оценить именно то, что и называется MDE: какой минимальный эффект в лице разниц среднего А и среднего B мы можем обнаружить при заданных параметрах и доступной аудитории.

Подсчитали? Прекрасно, теперь у нас есть MDE как одно из двух лиц "среднее А минус среднее B"

Другое лицо это - Желаемый эффект.

Желаемый эффект - это оценка прироста, которую бизнес ожидает от своей гипотезы.
На чем строиться это оценка? Чаще всего "нам так кажется". Это на самом деле не так плохо, так как:
- во-первых, нельзя сбрасывать со счетов экспертизу людей
- во-вторых, трудность оценки возможного эффекта. Делать это более взвешенно куда сложнее, чем кажется. Как правило, требует какую-то историю исследований и тестов, сбор фактов, анализ исследований по индустрии; то есть подсчитает за день-другой не выйдет. При этом представьте: это надо делать по каждой гипотезе.

Поэтому "нам так кажется" это норма в бизнесе, нравится или нет: он двигается иначе, чем НИИ.

Что мы делаем с этим Желаемым Эффектом? А все довольно просто: смотрим, больше или меньше он MDE, от этого мы сразу понимаем и мощность по него нашего теста. Проблема возникает в случае, если MDE больше этого эффекта, у эффекта меньше мощность, чем мы планируем. Один из вариантов (помимо изменения альфы и увеличения размера выборки - последний предпочтительнее, но не всегда возможен) остановится Желаемом эффекте = MDE. То есть пытаться отловить эффект больше. И вот слово "больше" как будто бы хорошо, да?

Ведь раз мы говорим за бизнес, то возникает вполне резонный вопрос: "Разве больший эффект это не то, что нужно бизнесу?" Конечно, да, вложить 1 рубль и получить с него 100 рублей это ж милое дело. Так зачем нам получать 50, если можно 100?

Но дело в том, что развитие редко принимает скачкообразную форму, это скорее постепенное движение от одного маленького улучшения к другому. Большой эффект же вообще явление редкое, маловероятное: то есть хоть его и мощность как вероятность обнаружить, где он реально есть, большая, но сам он - маловероятный, а потому он сомнителен сам по себе в качестве проверяемого. То есть закладывать такой эффект = скорее всего, не меняться, так как в подавляющем большинстве случаев результат не будет стат. значимым (помним, что у нас автоматом будет аудитория меньше), а значит B будет постоянно не внедряться.

Поэтому и стараются отловить как можно меньше эффект, зная, что все нововведения улучшают все же по чуть-чуть, но с поправкой на практическую значимость (где эффект от внедрение окупит стоимость внедрения) - это позволяет постепенно менять продукт, выжимая то там, то сям пару пунктов, может и пару процентов. И вот ты зарабатывал 100 млн., а стал через год уверенно 120 млн. А ожидая большой эффект можешь так-то и начать проигрывать конкурентам, ничего не меняя.

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

Если есть желающие или у вас есть, кто желал бы пройти, пожалуйста, дайте мне знать в ЛС.

Я дам очень высокую вероятность того, что вы поймете материал; у вас будет, наконец, тот нужный уровень, чтобы понимать, о чем с вами говорят и что вам отдают в качестве результата; сможете и сами делать подсчеты, осознавая, что происходит-то.

Смелее, скучно не будет!
👍4
Собеседование кандидатов все еще показывает: статистика является самым непонятым разделом математики при том, что она самая конкретная и прикладная из всех, на мой взгляд. Индустрия, конечно, в курсе этого, а поэтому те, кто понимает A/B, прям существенно выделяются на фоне прочих. Но понимать это не тоже самое, что знать.

Как я распознал на недавнем собеседовании, понимает ли человек тему или просто знает определения? А я спросил его про базу, только и всего. Но к базе я подошел не сразу, а мягко через ее надстройку, - прочий понятийный аппарат, - чтобы точно определить, знает или понимает: сначала я спросил его про альфу, мощность и p-value. Эти определения выучить нетрудно, то есть их знать на зубок легко после пары повторений.

Кандидат ответил уверенно, даже сказал, что p-value это всего лишь дополнение к тестовой статистики (молодец! - я давно такого не слышал). Я уточнил, в каком смысле, он сказал, ну вот сначала же есть критические значения и значение самой статистики, от нее и считаем. Чудесно!

И так, если он уверенно ответил на p-value, то неизбежно сказал бы про "если верна нулевая гипотеза". Конечно, я спросил его и про это, что это значит. Он ответил про отсутствие эффекта или когда А не отличается от B, что по сути верно.

Ну и вопрос про базу был такой: "Что такое распределение нулевой гипотезы"? Молчание.
Итого, получается, что вроде как есть оперирование критическими значениями, значением статистики на их фоне, p-value, но куда это вообще ложится (и следствие, что происходит-то) нет.

Я специально не буду отвечать на этот вопрос и тут: моим потокам это на вспомнить, а вне потока - прийти ко мне на 4-ый запуск) Но поделюсь тем, как это выглядит: это все равно, что знать средний рост котов, знать дисперсию этого роста, минимум и максимум, но буквально не понимать, что такое распределение роста котов, не понимать, на что смотришь, когда видишь гистограмму роста. А ведь должно быть иначе: распределение понимаешь, а далее изучаешь его параметры - среднее, дисперсию и пр. и уж скорее тупишь над тем, что такое дисперсия, чем над распределением как таковым.

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

Я вот думаю, почему так? Ведь сами по себе базовые положения статистики просты. Но вот как к ним пришли часто не объясняется, это раз. Базовые положения дают следствия, но, во-вторых, логика перехода к ним также опущена.

Например, от Центральной Предельной Теоремы, про которую сразу рисуют формулу и дают определение, моментально переходят к z-тесту или к доверительным интервалам. Переход крайне логичен для тех, кто понимает, но вот нехватка пары слов о том, как были на ЦПТ, - а как потом сразу перешли к тесту, - порождает у познающих вопросы, как правило, без ответов. Ну а далее по принципу "кому повезло, тот и понял".

Мой ответ почему так: ирония, думаю, в том, что все как из-за того, что "все просто": а раз просто, то опустим пару предложений там, пару логических связок сям под предлогом, что "очевидно же". И все: перед вами предмет с легким входом, но полным адом после первых шагов.

P.S. Кстати, кандидату я дал положительную оценку по части A/B. Он рассказал о дизайне то, чем он и является + он все-таки верно отвечал на вопросы про определения, это кое-что да значит, а уж на фоне рынка так и вообще прям очень и очень неплохо!
Channel name was changed to «Не 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 раз!
В этом и есть проблема поглядывания в тест и остановка его раньше запланированной. Придерживаться просто принципа "вижу стат. значимость - останавливаю" очень пагубно.
То есть нельзя взять так просто и ему следовать. Для этого надо идти в Мордор, на скользкую дорожку очередного современного (но вполне работающего) хайпа, Sequential Testing (я бы рекомендовал ознакомится прежде всего с тестом Wald'a).
Как повысить свои шансы на собеседовании, если ты уже специалист (мидл/синиор и далее)?
Материал универсальный, а не только для аналитиков. Обещал - написал:

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)

И че?..
🔥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.
5🔥1
2025/10/13 02:20:40
Back to Top
HTML Embed Code: