S
SQL Сомелье Show
@sqlsommeliershow1.1K подп.
896просмотров
80.7%от подписчиков
19 февраля 2026 г.
📷 ФотоScore: 986
Ну что, новых файлов Ебштейна не выходит😓, поэтому продолжим с bOOtstrap 🐓 Еще раз вернемся к проблеме смещения среднего в бутстрапе относительно общей оценки эффекта по тесту. Когда данных много и они распределены ± километр близко к нормальному, всё ок: обычный bias correction работает нормально (а иногда и не нужен), потому что мы смещаем всё распределение симметрично относительно центра. Ну ок, а если у нас огромный хвост? Тогда справа перцентиль (например, 97,5) обрежет эти хвосты к херам, как будто их нет (он в домике), и доверительный интервал будет искажён (ПЭ-Валуе, кстати, тоже). И решить эту проблему поможет BCa - bias-corrected and accelerated. Мдаааааа, БЭМ БЭМ 🦢 Если ты - тру Мактрахер, листай в конец, там пару строчик кода, и готово 😎 Давай быстро вспомним про обычный BC. Если не вдаваться в математику, то: Вводные для примера: 🍒 Размер каждой группы = 40 000 🍒 Метрика медиана чего-либо 🍒 Разница метрик T-C = 0,6 (Пусть будет X) 🍒 Среднее разниц медиан в бут распределении = 0,58 (назовем X_boot) Что делаем: 🍒 Наше среднее разниц в бут левее (0,58 < 0,6) 🍒 Берем каждую бут выборку и сдвигаем на 0,02 🍒 Считаем новый доверительный интервал и ПЭ-Валуе Окей, но вот у нас получилось бут-распределение с хвостом. Тут и поможет BCa — и здесь придется чуть погрузиться в математику под капотом (максимально упростил): 🟢 Считаем, сколько выборок меньше «настоящей разницы» X 🟢 Вот тут самое интересное - переводим эту цифру из п. 1 в нормальную Z-шкалу (чегоооо, Карл?). Это самый ор, потому что bootstrap типа не опирается ни на какие распределения (налюбилово), и получаем число z₀ 🟢 Теперь считаем то же самое, но для среднего по бут-выборке → X_boot, и переводим в Z-шкалу 🟢 Теперь считаем acceleration - a. Это поправка на асимметрию того, как статистика реагирует на данные. Если упростить: если убрать одно наблюдение, статистика меняется симметрично или нет? Тут используется метод jackknife 🔪. Если коротко, основная идея - расчет среднего отклонения, выбрасывая по одному наблюдению из оригинальной выборки разниц. 🟢 Всё есть - считаем z_BCa = (z − z₀) / (1 + a (z − z₀)) 🟢 Считаем ПЭ-Валуе с помощью преобразования z_BCa через CDF Да, тема огромная. Возможно, рожу норм статью (чтобы всё разжевано досконально, с формулами и графиками) 🧐 ‼️ Главное (если нихрена не понятно): если видишь, что бут-распределение получилось далёким от нормального (логнормал, хвостатое и т. д.), - применяй BCa. Ну и файнали - кодик, чтобы не париться: from scipy.stats import bootstrap import numpy as np data = np.random.randn(100) res = bootstrap( data, np.mean, confidence_level=0.95, n_resamples=10000, method="BCa" # вот оно ) print(res.confidence_interval) 🐓 - понятно 10% и больше 🐛 - как принимать BCA? 🐳 - что такое медиана?
896
просмотров
2787
символов
Да
эмодзи
Да
медиа

Другие посты @sqlsommeliershow

Все посты канала →
Ну что, новых файлов Ебштейна не выходит😓, поэтому продолжи — @sqlsommeliershow | PostSniper