Временной ряд показывает рост метрики. Почему случайное перемешивание отдельных наблюдений может сделать проверку гипотезы слишком оптимистичной?
Случайное перемешивание отдельных наблюдений разрушает временную зависимость между ними. Если соседние значения коррелированы, такое перемешивание обычно занижает неопределённость оценки и повышает риск ложного статистически значимого вывода.
Классические статистические тесты часто опираются на предположение о независимости наблюдений. Для временных рядов это предположение нарушается: значения зависят от предыдущих периодов из-за сезонности, тренда, инерции процесса или общих внешних факторов.
Методы анализа временных рядов появились, в частности, чтобы учитывать такую зависимость. Их задача — отличать устойчивое изменение процесса от случайных колебаний, которые сохраняются на протяжении нескольких соседних периодов.
Предположим, метрика растёт несколько недель подряд. Наблюдения внутри этого периода не являются независимыми: высокий показатель сегодня повышает вероятность высокого показателя завтра.
Если случайно перемешать отдельные даты, зависимость исчезнет. Получившийся набор будет выглядеть как независимые наблюдения с большим количеством эффективной информации, чем было в исходном ряду.
Главное последствие — стандартная ошибка и доверительный интервал могут оказаться слишком маленькими. Тогда даже обычный общий тренд или временная закономерность может ошибочно выглядеть как доказательство эффекта изменения.
При наличии автокорреляции фактический объём информации меньше числа строк. Например, сто последовательных дневных значений, находящихся под сильным влиянием общего недельного тренда, не эквивалентны ста независимым наблюдениям.
Наивная перестановочная проверка случайно распределяет значения по датам и формирует нулевое распределение, не сохраняющее структуру ряда. Если исходные данные имеют зависимость, такое нулевое распределение может быть слишком узким, поэтому наблюдаемый эффект будет казаться более редким, чем он есть на самом деле.
Нужно сохранять зависимость, релевантную дизайну анализа. Возможные подходы — агрегация до более независимого уровня, модели с временной структурой ошибок, блочная перестановка или блочный бутстрэп. В блоках перемешивают не отдельные значения, а последовательные фрагменты ряда, чтобы частично сохранить локальную зависимость.
Однако одного метода недостаточно, если есть сильный тренд или сезонность. Их нужно моделировать, устранять дифференцированием или учитывать через сезонные компоненты; иначе тест может реагировать не на изменение продукта, а на календарный эффект.
Если эксперимент рандомизирован по пользователям, анализ также должен учитывать единицу рандомизации и возможную зависимость наблюдений внутри пользователя. Если же рандомизация выполнена по дням или регионам, независимыми объектами для вывода могут быть именно такие кластеры, а не отдельные события.
Команда запустила изменение интерфейса и сравнила среднюю дневную конверсию до и после запуска. После запуска было 14 дней роста, и случайная перестановка дневных значений дала малое значение p-value.
Рассматривались три варианта. Перемешивание отдельных дней было простым, но игнорировало автокорреляцию. Полное моделирование временного ряда лучше учитывало структуру данных, но требовало выбора и проверки модели. Блочный бутстрэп был менее чувствителен к форме распределения, однако результат зависел от длины блока.
Выбрали модель с календарными эффектами и робастными стандартными ошибками, а устойчивость вывода проверили блочным бутстрэпом. После учёта недельной сезонности оценка эффекта уменьшилась, а доверительный интервал расширился и пересёк ноль. Команда не стала объявлять изменение успешным без дополнительного эксперимента.
Не всегда. Робастные ошибки могут учитывать часть зависимости, но их корректность зависит от структуры данных, числа независимых кластеров и правильного выбора уровня кластеризации. Если временных периодов мало, стандартные асимптотические приближения могут быть ненадёжны.
Кроме того, робастные ошибки не устраняют тренд, сезонность или ошибочно выбранную модель эффекта. Они корректируют неопределённость, но не исправляют неверную постановку сравнения до и после изменения.
Потому что длина блока должна отражать характер зависимости. Слишком короткий блок разрушит существенную автокорреляцию, а слишком длинный даст мало фактически независимых блоков и нестабильную оценку.
Длину блока выбирают с учётом автокорреляции, сезонного периода и объёма данных, после чего проверяют устойчивость вывода при нескольких разумных вариантах. Если результаты сильно меняются, это самостоятельный сигнал о недостаточной надёжности вывода.
Нет. Удаление тренда устраняет только один источник зависимости. В остатках могут сохраняться автокорреляция, сезонность, меняющаяся дисперсия или структурные сдвиги.
После преобразования нужно анализировать остатки: проверять их временную зависимость и стабильность дисперсии. Если зависимость сохраняется, следует использовать временную модель, кластеризацию по подходящему уровню или метод ресэмплирования, сохраняющий последовательную структуру.