Не переусложняйте анализ

Впервые столкнувшись с этой проблемой, я был поражен: оказывается, чересчур изощренная аналитика иногда дает худший результат, чем простая. Это может быть верно даже в тех случаях, когда чисто теоретически более сложный метод должен работать лучше. Убежден, причина в том, что данные всегда содержат некоторую неопределенность, зачастую являются разреженными и никогда не бывают абсолютно полными. Когда аналитика усложняется, возникает риск увеличения в данных ошибок и неопределенностей наряду со снижением контроля и ухудшением их расчета. Вдобавок можно перестараться с настройкой модели, т. е. настолько ее усложнить, что она начнет отражать случайные вариации, присутствующие в конкретном наборе данных, на котором модель создавалась, а не реально существующие эффекты. Переусложненная настройка становится очевидной, когда модель плохо работает при применении к проверочной выборке.

Несколько лет назад моя команда разрабатывала модели прогнозирования продаж на уровне отдельных магазинов для крупного ретейлера. Анализ должен был охватывать сотни миллионов комбинаций магазин/товар. Многие виды товаров продавались часто и стабильно, что соответствовало предположениям, на которые опираются широко используемые алгоритмы для такого типа прогнозов. Однако также было много товаров, что не вписывались в стандартные шаблоны продаж. Клиент нанял мою команду, чтобы разработать индивидуальные решения, применимые к таким исключениям. Однако, с учетом масштабов организации, исключения все равно составляли миллионы комбинаций магазин/товар.

Не слишком изощряйтесь!

При создании аналитических процессов в операционном масштабе упрощенные решения могут оказаться лучше причудливых. Операционная аналитика часто работает с данными низкого качества, которые могут быть разреженными и неполными. Чрезмерная изощренность модели может привести к нарастанию в данных проблем, вместо того чтобы контролировать их.

Мы с самого начала знали, что клиент нанял еще одну консалтинговую фирму для реализации того же проекта и что команда, предложившая лучшее решение, будет выбрана для дальнейшей работы. Поскольку другая фирма бросила на проект больше людей, чем наша, победить за счет грубой силы мы не могли. У меня был опыт сотрудничества с этой фирмой в прошлом, и я знал, что ее сотрудники любят использовать наборы сложных алгоритмов для повышения точности прогностических моделей. Однако в этом конкретном случае существовала вероятность того, что такой подход не сработает в требуемом масштабе. Я попросил свою команду начать с простых алгоритмов и постепенно увеличивать их сложность, пока не будет достигнут такой порог, когда начнет страдать их масштабируемость.

Когда проект только начался, я предположил, что другая команда превзойдет нас в абсолютной прогностической точности, однако для масштабирования разработанного ею решения потребуются настолько значительные усилия, что это будет признано нецелесообразным. В то же время наши пусть и менее точные модели должны были лучше работать на практике. Я был приятно удивлен, когда оказалось, что наши модели оказались и более точными. Учитывая неполную и разреженную природу данных, изощренные многоступенчатые алгоритмы усиливали помехи, вместо того чтобы их контролировать. Моя команда думала, что мы отказываемся частично от аналитической мощности ради операционной масштабируемости (об этой концепции уже несколько раз говорилось в книге). Однако в итоге вышло так, что в данном случае простой подход сработал лучше и нам не пришлось ничем жертвовать. Вот почему не следует думать, что всегда лучше делать выбор в пользу изощренности. Пробуйте и простые варианты.

Более 800 000 книг и аудиокниг! 📚

Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением

ПОЛУЧИТЬ ПОДАРОК