Пакет, который сейчас находится на GitHub, написан на R и автоматически обнаруживает аномалии, такие как всплески данных, которые случаются в Twitter, когда выходит основная новость или происходит крупное спортивное событие.
Пики также могут быть вызваны активностью ботов или спамеров, и этот пакет можно использовать для поиска таких ботов или спама, а также для обнаружения аномалий в системных показателях после нового выпуска программного обеспечения.
В объявлении о выпуске открытого исходного кода в Twitter Engineering Blog говорится, что Twitter использует AnomalyDetection с открытым исходным кодом, потому что:
«Мы хотели бы, чтобы общественное сообщество развивало этот пакет и училось на нем, как и мы».
Twitter также недавно открыл BreakoutDetection, дополнительный пакет R для автоматического обнаружения одного или нескольких прорывов во временных рядах. В то время как аномалии являются точками аномальных данных на определенный момент времени, прорывы характеризуются нарастанием от одного устойчивого состояния к другому.
В сообщении блога говорится, что аномалии в Twitter происходят глобально и локально с отчетливыми сезонными моделями в большинстве временных рядов, отслеживаемых в процессе производства. Локальные аномалии или аномалии, которые возникают внутри сезонных моделей, замаскированы, и поэтому их гораздо труднее обнаружить надежным способом. Аномалии также могут быть положительными или отрицательными, например, увеличение количества твитов во время Суперкубка на определенный момент времени. Надежное обнаружение положительных аномалий играет ключевую роль в эффективном планировании емкости, а обнаружение отрицательных аномалий помогает обнаруживать потенциальные проблемы с оборудованием и сбором данных.
Основной алгоритм пакета называется Seasonal Hybrid ESD (S-H-ESD) и основан на более общем тесте для обнаружения аномалий. S-H-ESD можно использовать для обнаружения как глобальных, так и локальных аномалий, комбинируя декомпозицию временных рядов и надежные статистические показатели. Если анализ рассматривает длинные временные ряды, алгоритм также использует кусочную аппроксимацию.
Пакет также можно использовать для обнаружения аномалий в векторе числовых значений. Вы можете указать направление аномалий, интересующее окно (например, последний день, последний час) и включить или отключить кусочную аппроксимацию.