Чесна статистика для малих вибірок
Чому SD за 5 пострілів — це здогад, замаскований під число: довірчі інтервали, extreme spread, порівняння рецептів, знесення та кредо: виміряне перевершує підігнане.
Хендлоадери генерують більше вимірювальних даних, ніж майже будь-яке інше хобі, — і аналізують їх гірше. Групи з трьох пострілів перетворюються на вироки. Стандартні відхилення за п’ятьма пострілами наводять із точністю до сотих, наче їх викарбувано в камені. Коливання на драбині стає «рівною ділянкою» (flat spot), хоча насправді це лише шум. Це не дурість — так стається, коли гарні інструменти зустрічаються з хибною інтуїцією щодо малих вибірок. Це єдина частина застосунку, яка навмисно не є чорною скринькою: статистика тут стандартна, її можна перевірити, це підручниковий метод, показаний повністю, — адже весь сенс судді в тому, що ви можете перевірити його рішення. І суддя завжди оцінює лише те, що ви виміряли, — він ніколи не прогнозує.
Головна помилка: SD за 5 пострілів — це здогад, замаскований під число
Припустімо, ви робите п’ять пострілів, проганяєте їх через хронограф, і застосунок повідомляє стандартне відхилення 12 fps. Природне прочитання — «цей рецепт має SD 12». Таке прочитання хибне — не тому, що 12 пораховано неправильно, а тому, що п’ять пострілів майже ніяк не обмежують справжнє SD.
Вибіркове стандартне відхилення обчислюється за формулою з поправкою Бесселя:
Словами: візьміть швидкість кожного пострілу , відніміть середнє по серії , піднесіть різниці до квадрата (щоб і перевищення, і заниження враховувалися), додайте їх, поділіть на (на одиницю менше за кількість пострілів — поправка Бесселя, яка не дає оцінці бути заниженою) і візьміть квадратний корінь. Це дає — розкид ваших п’яти чисел.
Пастка в тому, що саме є оцінкою справжнього базового SD, і з лише п’ятьма пострілами вона надзвичайно неточна. Чесний спосіб це показати — довірчий інтервал для SD — діапазон, у якому правдоподібно лежить справжнє значення. Для серії з 5 пострілів 95% інтервал приблизно становить
Прочитайте це ще раз. Ваше «SD 12» насправді означає «десь між приблизно 7 і 35, з 95% довірою». Два рецепти зі значеннями 12 і 18, кожен за п’ятьма пострілами, статистично не розрізнити — різниця майже напевно є шумом. Loadbook завжди показує інтервал поряд із SD саме для того, щоб ви не могли себе обманути. Вдавати, що SD за 5 пострілів — це точне число, і є головною помилкою в цій галузі, а виправлення просте: ніколи не приховувати невизначеність.
Що насправді говорить довірчий інтервал
Довірчий інтервал — це не «діапазон, у який потрапили мої постріли» і не «куди влучить наступний постріл». Це твердження про те, наскільки добре ваша вибірка визначає справжню базову величину — справжнє середнє чи справжнє SD — з огляду на шум і розмір вибірки. Середнє серії супроводжується довірчим інтервалом на основі -розподілу Стьюдента:
Тут — ваша виміряна середня швидкість, — вибіркове SD, а — кількість пострілів. Частина — це стандартна похибка — вона зменшується, коли ви робите більше пострілів, і саме тому більша кількість пострілів дає більше певності. Множник — це коефіцієнт із -розподілу Стьюдента, який розширює інтервал для малих вибірок, щоб чесно врахувати те, що вам також довелося оцінити з тих самих мізерних даних. Найважливіший рефлекс, який слід виробити: ширший інтервал означає меншу певність, а не більшу. Вузький інтервал заслуговується даними; його ніколи не припускають наперед.
Extreme spread — це не показник сталості
Найчастіше цитоване число в тирі — extreme spread, розрив між вашим найшвидшим і найповільнішим пострілом, — є найменш надійним як міра сталості з однієї простої причини: воно може лише зростати, коли ви робите більше пострілів. Це порядкова статистика (вона залежить лише від двох крайніх значень), і чим більше пострілів ви робите, тим більше шансів упіймати викид, тож extreme spread саме собою повзе вгору зі зростанням розміру вибірки. Через це його безглуздо порівнювати між серіями різної довжини — ES за 10 пострілів зазвичай виглядатиме кращим за ES за 5 пострілів того самого рецепту, суто через підрахунок. Застосунок трактує ES саме як те, чим воно є, і ніколи не порівнює його між серіями з різною кількістю пострілів. Стандартне відхилення з його довірчим інтервалом — ось чесний показник сталості.
Порівняння двох рецептів
Справжнє питання зазвичай порівняльне: чи рецепт A справді швидший або справді сталіший за рецепт B — чи вони лише виглядають різними через шум?
Чи різняться середні? — t-тест Welch
Щоб порівняти середні швидкості, Loadbook використовує t-тест Welch для нерівних дисперсій, який — на відміну від давнішої версії Стьюдента — не припускає, що обидва рецепти мають однаковий розкид:
Чисельник — це різниця виміряних середніх; знаменник поєднує розкид кожного рецепту (, ) і розмір вибірки (, ) у невизначеність цієї різниці. Велике означає, що розрив великий відносно шуму. Тест дає p-значення (імовірність побачити настільки великий розрив, якби рецепти були справді однакові) і, що корисніше, довірчий інтервал для різниці — який може сказати вам, що два рецепти відрізняються «десь на 3–40 fps», тобто реально, але погано визначено.
Чи різняться SD? — бутстреп
Порівнювати сталість (тобто SD) складніше, бо акуратні формули для порівняння SD погано поводяться за реалістичних розмірів вибірки. Тому Loadbook використовує бутстреп: він тисячі разів робить повторні вибірки з поверненням із кожної серії, щоразу перераховує кожне SD і напряму вимірює, як часто один рецепт виявляється сталішим за інший. Це дає чесну ймовірність того, що один рецепт справді щільніший — без крихких припущень про розподіл, лише повторні вибірки з тих даних, які ви насправді маєте.
Скільки пострілів це вирішило б? — порадник щодо потужності
Коли два рецепти виглядають різними, але тест не може цього підтвердити, чесна відповідь — не «довіртеся інтуїції», а «у вас поки що недостатньо пострілів». З огляду на різницю, яку ви фактично спостерігали, порадник щодо розміру вибірки обчислює, скільки набоїв на кожен рецепт знадобилося б, щоб розв’язати цю різницю за 80% потужності. Він перетворює «вони виглядають різними» на «вам знадобилося б по N пострілів на кожен, щоб знати».
Знесення протягом серії
Іноді швидкість — це не випадковий шум навколо фіксованого середнього, а тренд: вона зростає, коли нагрівається ствол, або зміщується разом із температурою довкілля протягом сесії. Loadbook виконує заснований на регресії тест на знесення швидкості відносно впорядкувальної змінної (номер пострілу, температура), який подається з довірчим інтервалом — і, що критично, лише коли дані охоплюють достатній діапазон, щоб підтвердити твердження. Знесення, «виявлене» на розмаху температури у два градуси, не є доказом чогось, і чесний рушій відмовляється вдавати протилежне.
Кредо: виміряне перевершує підігнане, а підігнане — оцінене
Усе вищесказане служить одному ранжуванню — тому самому, що проходить крізь статті з фізики:
- Величина, виміряна з вашої власної зброї, з її чесним інтервалом, стоїть вище за все.
- Величина, підігнана до опублікованих довідкових даних, — наступна.
- Величина, оцінена із загальних принципів, — остання, і чесна лише тоді, коли її позначено як оцінку й вона несе інтервал, достатньо широкий, щоб це визнати.
Зверніть увагу на глибоку симетрію з боку балістики. Прогнозувальні рушії загортають кожне число в інтервал і оцінку, бо модель, яка перебільшила б свою точність, брехала б. Статистичний рушій загортає кожне число в довірчий інтервал, бо вимірювання, наведене без своєї невизначеності, бреше точно так само. Різні механізми, одна етика: ніколи не заявляйте більшої точності, ніж заслужили дані.
І межа тримається до кінця. Цей рушій оцінює лише те, що ви виміряли, — він ніколи не прогнозує, ніколи не позичає змодельовану швидкість, щоб заповнити прогалину, ніколи не дозволяє прогнозу забруднити докази. Це суддя, а не вболівальник. Його робота — чесно сказати вам, що ваші дані доводять, а що ні, — і це, для хобі, яке потопає в упевненостях за трьома пострілами, найкорисніше, що може зробити інструмент.