Медицинская статистика: с чего начать, какие методы нужны и какие книги читать
Медицинская статистика на условных данных: дизайн исследования, выбор метода, ошибки и план чтения. Разбираем, как перенести эти приёмы в продуктовую аналитику.
Содержание статьи
В отчёте после пилота появилась фраза «показатель снизился статистически значимо». Руководитель просит внедрять изменение, а вы ещё не знаете, сравнивали ли разных пациентов или повторные измерения одних и тех же людей. Медицинская статистика начинается с этого вопроса. Здесь разберём, как превратить таблицу в проверяемый вывод: выбрать единицу наблюдения, описать эффект, оценить неопределённость и заметить то, чего данные не доказывают. Все медицинские и продуктовые числа ниже синтетические, придуманы для обучения и не описывают результаты лечения.
С чего начать: четыре решения до первой формулы
Освоить основы статистики можно без предварительного курса математического анализа. На старте нужны проценты, среднее, понимание вероятности и готовность проверять знаменатель. Сложность обычно появляется не в делении суммы на число людей, а в переходе от этих людей ко всем, о ком вы собираетесь говорить. Компьютер легко посчитает неверно поставленную задачу. Поэтому первые упражнения полезнее делать на маленькой таблице, где видна история каждой строки, а не на миллионе записей с неизвестным происхождением.
- Сформулируйте, кого, с кем, по какому показателю и за какой срок сравниваете. Слова «эффективнее» без этих уточнений не задают статистическую задачу.
- Определите независимую единицу: человек, клиника, пользователь или компания. Десять измерений одного человека не превращаются в десять независимых участников.
- Выберите величину эффекта: разность средних, разность долей, отношение рисков или характеристику распределений. От неё зависит метод.
- Покажите рядом с оценкой доверительный интервал, ограничения дизайна и решение, которое действительно следует из результата.
Статистика в медицине: что именно вы хотите узнать
Словом «медицинская статистика» называют разные занятия. Медицинская организация может считать посещения и нагрузку кабинетов; исследователь — оценивать связь факторов с исходом; читатель статьи — проверять, обоснован ли вывод об эффекте. Биостатистика охватывает методы работы с данными о живых системах, включая планирование исследований и оценку неопределённости. В этом материале нас интересует исследовательская логика. Это не инструкция по заполнению отраслевой отчётности и не руководство по выбору лечения.
Начните с предложения, которое сможете проверить по исходной таблице. «Изменилось ли среднее систолическое давление у участников через месяц относительно исходного визита?» уже задаёт показатель, сроки и парный дизайн. «Помогла ли программа?» оставляет открытыми и исход, и аудиторию, и сравнение. Даже первый вопрос ещё не равен вопросу о причинном эффекте программы: давление могло измениться по другим причинам. Описать наблюдаемое изменение и приписать его вмешательству — две отдельные исследовательские задачи.
Полезно заранее записать и нежелательное решение. Например, команда не хочет внедрять затратный процесс ради слишком малого изменения показателя. Тогда для обсуждения нужен практически значимый порог, установленный предметными специалистами до анализа. Мы не будем назначать такой медицинский порог в учебном тексте. В продукте его можно связать с экономикой: сколько дополнительного времени экономит интерфейс и оправдывает ли это поддержку нового сценария. Статистическая процедура оценивает данные; цену решения задаёт контекст.
Дизайн исследования определяет границу вывода
В случайном эксперименте участников распределяют между вариантами по заранее заданному механизму. Это помогает отделять влияние вмешательства от исходных различий групп. В наблюдательном сравнении человек выбирает маршрут сам либо его направляют по состоянию. Тогда более сложные случаи могут чаще попадать в одну группу. Если у неё хуже исход, нельзя автоматически заключить, что маршрут его ухудшает. Для начала нужно понять, почему люди оказались именно там и какие признаки влияли одновременно на выбор маршрута и результат.
Повторное измерение решает другую задачу. Вы связываете два значения одного человека и изучаете их разность. Участник становится собственным ориентиром, но контрольной группы от этого не появляется. Измениться могли сезон, сопутствующие воздействия, способ измерения и состав дошедших до второго визита. Если людей включали после необычно высокого значения, часть снижения может быть связана с регрессией к среднему: крайнее первое наблюдение не обязано повторяться даже без изменения процесса. Парный критерий не устраняет эти объяснения.
Есть и кластерный дизайн: назначение происходит целой клинике, отделению или команде. Участники внутри такого кластера разделяют условия, поэтому их результаты могут быть похожи сильнее, чем результаты случайных людей. Простой тест по всем строкам занижает неопределённость, если игнорирует эту зависимость. В продукте похожая история возникает при тестировании функций на уровне компаний: сотни сотрудников нескольких клиентов не заменяют сотни независимых компаний. Для анализа нужны методы, учитывающие уровень назначения, а не только большой счётчик строк.
Соберите словарь данных прежде, чем выбирать критерий
Для каждой переменной запишите смысл, единицу измерения, допустимые значения и момент наблюдения. Давление в миллиметрах ртутного столба — количественная величина. Факт повторного обращения в течение фиксированного окна — бинарная. Степень выраженности симптома по упорядоченным категориям — порядковая; расстояние между соседними категориями не обязано быть одинаковым. Идентификатор участника выглядит как число, но среднее арифметическое идентификаторов не отвечает ни на один содержательный вопрос. Тип столбца в файле и статистическая шкала — разные вещи.
Отдельно опишите ноль и пропуск. Ноль повторных обращений означает, что участника наблюдали всё окно и обращений не было. Пустая ячейка может означать, что наблюдение закончилось раньше или источник не передал сведения. Подстановка нуля во втором случае создаёт благоприятный исход из отсутствия информации. В продуктовой аналитике так же нельзя считать пользователя удержанным или ушедшим, пока его окно наблюдения не завершилось. Статус данных должен переживать объединения таблиц и быть виден в итоговой витрине.
Проверяйте ключ до агрегации. Если у одного пациента несколько записей измерения в день, заранее определите правило: первое корректное, среднее по протоколу или отдельная модель повторных измерений. Выбирать минимальное значение после просмотра результата нельзя без содержательного основания: это смещает показатель в желаемую сторону. Сохраните исходный файл, таблицу исключений и версию правила. Через месяц это даст возможность воспроизвести не только финальное число, но и состав выборки, который за ним стоит.
Учебная таблица: двенадцать пар измерений
Представим условный пилот с двенадцатью участниками. Для каждого записано систолическое давление на первом и повторном визите. Числа подобраны для демонстрации парного расчёта, а не для моделирования конкретного заболевания. В таблице ниже строка — один участник, две колонки — его визиты. Все повторные наблюдения присутствуют. В реальном исследовании это предположение пришлось бы проверить по журналу визитов и протоколу, а не принять потому, что файл выглядит аккуратно.
Среднее исходное значение равно 142,67, повторное — 137,67 мм рт. ст. Наблюдаемое среднее изменение «после минус до» равно −5,00. Разности отдельных участников варьируют от −9 до −1. Эти числа отвечают на разные вопросы: средние описывают уровень в каждый момент, а набор разностей показывает изменения внутри людей. Для парного анализа существенен именно разброс разностей. Вычитание двух средних даёт ту же точечную оценку при полных парах, но не заменяет расчёт её стандартной ошибки.
Воспроизводимый блок Python ниже использует только явно перечисленные значения. После запуска вы получите t = −6,8661, двустороннее p ≈ 0,0000271 и 95%-й доверительный интервал среднего изменения от −6,603 до −3,397. Расчёт предполагает независимость участников и подходящую модель распределения разностей. Маленькое p не сообщает вероятность того, что программа работает. Оно характеризует несовместимость наблюдаемой статистики с нулевой гипотезой нулевого среднего изменения при предпосылках выбранной процедуры.
| Участник | До | После | Изменение |
|---|---|---|---|
| 1 | 138 | 134 | -4 |
| 2 | 145 | 139 | -6 |
| 3 | 132 | 130 | -2 |
| 4 | 150 | 143 | -7 |
| 5 | 142 | 137 | -5 |
| 6 | 135 | 134 | -1 |
| 7 | 148 | 140 | -8 |
| 8 | 140 | 135 | -5 |
| 9 | 155 | 146 | -9 |
| 10 | 137 | 135 | -2 |
| 11 | 144 | 140 | -4 |
| 12 | 146 | 139 | -7 |
import numpy as np
from scipy import stats
# Синтетические данные: позиции соответствуют одним и тем же людям.
before = np.array([138,145,132,150,142,135,148,140,155,137,144,146.])
after = np.array([134,139,130,143,137,134,140,135,146,135,140,139.])
d = after - before
result = stats.ttest_rel(after, before, alternative="two-sided")
print("n, mean before, mean after:", len(d), before.mean(), after.mean())
print("mean change, sd change:", d.mean(), d.std(ddof=1))
print("t, p, df:", result.statistic, result.pvalue, result.df)
print("95% CI:", result.confidence_interval(confidence_level=0.95))Как читать эффект, интервал и p-value вместе
В нашей таблице оценка −5,00 задаёт масштаб наблюдаемого изменения. Интервал описывает неопределённость оценки среднего изменения в рамках модели и процедуры сбора данных. Его нельзя читать как диапазон, в который попадают изменения 95% людей. Индивидуальные различия и точность группового среднего — разные характеристики. Также частотный доверительный интервал не означает, что после расчёта истинное фиксированное среднее с вероятностью 95% оказалось между двумя границами: уровень доверия относится к повторению процедуры построения интервалов.
Полезная формулировка отчёта: «Среди двенадцати участников с двумя измерениями среднее изменение составило −5,00 мм рт. ст.; 95%-й интервал от −6,60 до −3,40. Контрольной группы нет, поэтому причинный эффект программы этим сравнением не установлен». Здесь видно, что измеряли, на ком и насколько точно. Слово «эффективна» отсутствует не из осторожности ради осторожности: оно добавило бы утверждение, для которого дизайн не предоставил сравнения. Предметный специалист отдельно оценивает клиническую значимость и применимость к конкретной популяции.
Если бы интервал включал ноль, это не доказывало бы отсутствия изменения. Он мог бы одновременно допускать нулевой и существенный эффект. Для вывода о практическом равенстве нужны заранее заданные границы эквивалентности и соответствующий анализ. На старте достаточно научиться замечать, насколько широк интервал относительно решения. Нельзя превратить неубедительный результат в убедительный, переименовав «не обнаружили» в «доказали отсутствие». Планирование мощности помогает заранее понять, какую неопределённость вы готовы получить, но не исправляет уже собранный слабый дизайн.
Карта методов без автоматического переключателя
Для двух независимых групп с количественным исходом и вопросом о средних рассмотрите критерий Стьюдента в варианте Уэлча. Для двух измерений одних людей — парный критерий, то есть анализ среднего разностей. Для категориального исхода соберите таблицу частот и оцените доли; при подходящих ожидаемых частотах возможен хи-квадрат Пирсона, для небольшой таблицы два на два — точный тест Фишера. Для рангового вопроса о двух независимых распределениях рассмотрите Манна — Уитни, предварительно уточнив интерпретацию эффекта.
Это карта начала разговора, а не программа, которая выбирает кнопку по одному признаку. «Данные ненормальные» недостаточно, чтобы отказаться от среднего: средняя длительность может быть именно нужной величиной для расчёта нагрузки. «Есть две группы» недостаточно, чтобы применять независимый тест: группы могут состоять из тех же людей. «Все значения числовые» недостаточно, чтобы складывать баллы разных шкал. Сначала определите оцениваемую величину и структуру зависимости, затем проверьте, как метод ведёт себя на вашем объёме и форме данных.
Есть задачи, которые эта начальная карта намеренно не закрывает. Время до события с незавершённым наблюдением требует учитывать цензурирование. Несколько исходов и последовательные проверки требуют плана множественности. Коррекция по исходным различиям может потребовать регрессии, причём выбор признаков должен опираться на дизайн и предметную модель. Метаанализ не сводится к среднему опубликованных процентов. Когда ваша задача попадает сюда, полезный следующий шаг — сформулировать её для консультации со статистиком, приложив протокол и словарь данных.
| Задача | Что оцениваем | Начальный подход |
|---|---|---|
| Две независимые группы | Разность средних | Уэлч при подходящих условиях |
| Два визита одних людей | Среднее разностей | Парный критерий |
| Независимые категории | Связь и разность долей | Пирсон / Фишер по плану |
| Порядок в двух группах | Ранговый эффект | Манн — Уитни с оговорками |
| Незавершённое время до исхода | Время до события | Анализ с цензурированием |
Нормальность: проверьте нужную величину
Гистограмма помогает увидеть асимметрию, несколько пиков и подозрительные значения. Q–Q-график сопоставляет квантили наблюдений с квантилями выбранной модели. Формальный тест нормальности добавляет проверку определённой гипотезы, но его результат зависит от размера выборки. Маленькая выборка может не показать явное отклонение, большая — обнаружить отклонение, которое почти не влияет на интересующую оценку. Поэтому p теста нормальности не должно быть единственным основанием выбора анализа. Сначала выясните, где нормальность вообще предполагается.
В парном примере исследуются разности, а не смесь исходных и повторных значений. В регрессионной модели вопрос часто относится к ошибкам условно на включённые признаки, а не к общей форме зависимой переменной. Если вы смешаете две разные популяции и получите два пика, преобразование столбца не заменит учёт их различий. Иногда полезнее разделить данные по заранее осмысленным группам или изменить модель. Подробный разбор нормального распределения ниже в маршруте чтения показывает, как отличать эти ситуации на явных массивах.
Пропуски меняют аудиторию вывода
Допустим, в пилот набрали пятнадцать человек, но второй визит прошли только двенадцать из таблицы. Тогда наш результат относится к полным парам, а не автоматически ко всем включённым. Если три человека не пришли именно из-за неблагоприятного самочувствия, анализ дошедших может выглядеть лучше общей картины. Большая точность среди ответивших не решает проблему отсутствующих. Сравните причины потерь и доступные исходные признаки, покажите число участников на каждом этапе и не прячьте исключения в технической сноске.
Можно провести прозрачный учебный анализ чувствительности, не выдавая догадки за восстановленные данные. Суммарное изменение двенадцати полных пар равно −60. Если у трёх недошедших изменение было бы нулевым, среднее по пятнадцати составило бы −4. Если у каждого было бы +10, среднее стало бы −2. Это не две оценки истинного эффекта и не корректная импутационная процедура. Это два условных сценария, которые показывают зависимость вывода от ненаблюдаемой части. Их задача — сделать предположение заметным и определить, какие сведения нужно искать.
observed_sum = -60
observed_n, missing_n = 12, 3
for assumed_change in (0, 10):
mean_all = (observed_sum + missing_n * assumed_change) / (observed_n + missing_n)
print(assumed_change, mean_all) # -4.0 и -2.0; сценарии, не восстановленные фактыПеренос в продуктовую аналитику: похожие числа, другой дизайн
Замените давление временем выполнения задачи в интерфейсе. Старая и новая версии показаны тем же двенадцати сотрудникам, значения измерены в секундах. Формула парного сравнения остаётся той же, но возникает эффект обучения: во второй попытке человек уже знает задачу. Чтобы отделить его от изменения интерфейса, можно заранее продумать порядок предъявления и сопоставимые задания. Простое улучшение «после» ещё не доказывает пользу дизайна. Такое упражнение показывает, почему статистическую формулу можно переносить между областями, а причинный вывод — только вместе с предпосылками.
Если же новый экран случайно показали одной группе пользователей, а старый другой, пары отсутствуют. Нужен анализ независимых единиц назначения. Для времени полезно заранее определить окно, правило учёта незавершённых попыток и показатель: среднее время среди завершивших, доля завершивших или время до события. Отбор только завершивших может зависеть от варианта экрана и создавать смещение. Воронка помогает увидеть эту потерю, но не разрешает автоматически удалить людей, которым новый экран помешал закончить задачу.
Для retention фиксируйте возраст когорты. Человек, зарегистрированный вчера, ещё не может иметь наблюдаемый D7. Для доли оплат держите в знаменателе аудиторию согласно назначению варианта, если именно такой эффект задан планом. Для выручки учитывайте нули неплательщиков, когда вопрос относится к выручке на назначенного пользователя. Медицинская привычка описывать популяцию, исход и срок наблюдения здесь оказывается полезнее списка названий критериев: она предотвращает смену смысла метрики между выгрузкой и презентацией.
Ошибки, которые меняют решение
Первая ошибка — выдать повторные измерения за независимых участников. Последствие: слишком узкий интервал и чрезмерная уверенность. Проверка: посчитать уникальные идентификаторы и восстановить уровень назначения. Вторая — выбрать исход после просмотра результатов. Если из множества показателей показать только самый удачный, обычное p не учитывает поиск. Проверка: сравнить финальную таблицу с предварительным планом, а новые находки назвать исследовательскими гипотезами и проверить отдельно.
Третья ошибка — заменить пропуск нулём без проверки смысла. Последствие: фиктивное отсутствие события и неверный знаменатель. Четвёртая — объявить причинность по сравнению «до и после». Последствие: внедрение изменения, которому приписали сезонность или обучение. Пятая — сообщить только «значимо» и скрыть масштаб. Последствие: решение в пользу эффекта, который может быть слишком мал для затрат. Для каждой из этих ошибок исправление начинается с данных и вопроса, а не с установки другой библиотеки.
Шестая ошибка — искать тест, который даст нужный порог. Например, после неудобного результата заменить двустороннюю гипотезу односторонней, убрать наблюдение или выбрать другую поправку. Последствие: результат перестаёт соответствовать заявленной частоте ошибок. Разумный анализ чувствительности показывает несколько обоснованных вариантов открыто и объясняет различия. Он не выбирает победителя по минимальному p. Если вывод держится только на одной удобной настройке, в отчёте это существенная информация, а не повод спрятать остальные расчёты.
Как критически прочитать чужой статистический вывод
Откройте исследование или внутренний отчёт и сначала найдите путь участников: кого приглашали, кого включили, кто завершил наблюдение и кто оказался в расчёте. Затем сопоставьте этот путь с заголовком вывода. Если заявлен эффект для всей аудитории, а анализ выполнен только среди дошедших до финального визита, вам нужно объяснение потерь. Даже при одинаковом числе потерь в группах их причины могут различаться. Не начинайте проверку с попытки пересчитать p: сначала убедитесь, что понимаете популяцию, к которой относится результат.
Следующий вопрос — был ли исход определён до просмотра данных. Ищите описание основного показателя, момента измерения и правил дополнительных сравнений. Если автор сообщает только самый удачный сегмент, попросите полный контекст анализа. Для причинного утверждения отдельно проверьте механизм назначения и возможные различия групп. Не каждое ограничение обесценивает работу: наблюдательная связь может быть полезной для формулировки гипотезы. Проблема возникает, когда уровень утверждения незаметно повышается от наблюдения к доказанному вмешательству без нового основания.
Наконец, попробуйте перевести результат в исходные единицы и решение. Процент без знаменателя, относительное изменение без базовой частоты и значимость без интервала затрудняют оценку масштаба. Выпишите, какие значения эффекта ещё совместимы с данными и меняется ли действие на разных концах этого диапазона. Если нужного числа нет, это конкретный вопрос автору. Такая проверка полезна и читателю медицинской статьи, и аналитику, который принимает чужой A/B-отчёт: она отделяет проверяемое содержание от уверенного тона презентации.
Рабочий план анализа на одной странице
До получения итоговых результатов запишите цель, критерии включения, единицу назначения, основной исход, окно наблюдения и оцениваемый эффект. Затем перечислите допустимые исключения, обработку повторов и пропусков, основной метод, уровень интервала и правила дополнительных сравнений. Не нужно превращать учебную задачу в огромный документ: одна конкретная страница уже лучше устной договорённости. Если план меняется после обнаружения проблемы данных, сохраняйте причину и дату изменения. Тогда читатель отличит необходимое исправление от подгонки анализа под желаемый ответ.
После расчёта соберите четыре объекта: исходную обезличенную таблицу, исполняемый код, таблицу результатов и короткий вывод. В таблице результатов должны быть размеры групп, описательная статистика, эффект и неопределённость. В выводе — аудитория и ограничения. Проверьте, что другой человек может запустить код без вашей рабочей сессии, скрытых переменных и ручного изменения файла. В нашей практике такой запуск часто обнаруживает более серьёзные проблемы, чем очередная проверка знака после запятой: например, забытый фильтр, который выбросил целый сегмент.
Что почитать и в каком порядке практиковаться
Первый проход посвятите распределению и описанию данных. Возьмите маленькую таблицу, объясните каждую строку, сравните среднее с медианой, найдите пропуски и нарисуйте форму. Второй — двум вариантам сравнения средних: независимые группы и полные пары. Третий — рангам и частотам. На каждом этапе заканчивайте письменным выводом, который не содержит более сильного утверждения, чем допускает дизайн. Такое чтение полезнее попытки запомнить все критерии подряд без задач, в которых они отвечают на разные вопросы.
Из книг можно выбрать два разных входа. «Медико-биологическая статистика» Гланца подходит как повод подробно разбирать логику статистического решения; старое программное окружение заменяйте собственными расчётами. «Наглядная медицинская статистика» Петри и Сэбина удобна как компактная карта тем для повторения и поиска следующего вопроса. Наши обзоры указывают конкретные проверенные издания, границы знакомства с ними и самостоятельные примеры. Это редакционная оценка доступной структуры и описаний, а не заявление о постраничной экспертизе всех изданий.
Если вы уже считаете продуктовые эксперименты, начните с одного знакомого отчёта. Перепишите вопрос в терминах популяции, сравнения, исхода и срока, восстановите путь от назначения до наблюдаемого результата, проверьте единицу анализа. Затем покажите эффект и интервал вместо одного значка значимости. Когда эти действия получаются без подсказки, изучение более сложных моделей получает опору: вы понимаете, какую проблему должна решить модель и какие вопросы к данным остаются за её пределами.
Материал предназначен для обучения статистическим методам. Все примеры условные; они не являются медицинской рекомендацией, способом диагностики или основанием для выбора лечения.
Материалы по теме

Корреляция Спирмена и Пирсона: выбор, расчёт и ошибки
Корреляция Спирмена и Пирсона на условных медицинских данных: линейная и монотонная связь, выбросы, перестановочный тест в Python и перенос в продукт.

Относительный риск и отношение шансов: разница на примерах
Чем относительный риск отличается от отношения шансов: таблица 2×2, абсолютный эффект, доверительные интервалы, случай — контроль и A/B-тест в Python.

Чувствительность и специфичность теста: расчёт на примере
Чувствительность и специфичность теста, PPV и NPV на синтетических данных. Распространённость, пороги, интервалы и перенос в антифрод с кодом Python.