Есть ли хороший алгоритм для обнаружения выбросов в небольших наборах десятичных чисел? Лучшая идея, которую я выдвинул на данный момент, — это своего рода рекурсивный подход на основе стандартных отклонений, но он кажется немного вычислительно дорогим.
Я использую c ++, поэтому любые существующие функции, скажем, Boost или других вспомогательных библиотек математики приветствуются в ваших ответах.
Благодарю.
Вы можете сделать это за O (n) время с помощью алгоритма онлайн-дисперсии (http://en.wikipedia.org/wiki/Algorithms_for_calculating_variance#Online_algorithm), а затем второй проход, чтобы отметить выбросы.
Других решений пока нет …