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