Есть данные с температурного датчика, надо их анализировать и отлавливать показания, выходящие за границы нормального режима. Причём в нормальный режим входят периодические пики значений, а иногда могут случаться скачки и повыше, и это тоже считается нормой. Сейчас я считаю среднеквадратическое отклонение и эмпирически (читай - от балды) устанавливаю коэффициенты, на которое оно множится, чтобы определить границы опасной температуры и критической. На картинке они отмечены горизонтальными линиями - зелёной, жёлтой и красной.
Если температура выше критической в течение определённого времени, генерирую сообщение об аварии. Но меня мучает ощущение, что такой метод не совсем надёжен. Будь данные более-менее ровные, оно бы работало, но, с учётом периодических скачков границы выглядят не так, как мне кажется, должны выглядеть. Подскажите, пожалуйста, какие ещё есть методы определения таких вещей. Я догадываюсь, что надо копать в распределения, но в институте у меня они были очень поверхностно, да и было это не вчера.
Пока что мне в голову приходит только группировка значений по зонам, и, чем дальше текущая зона от самой густонаселённой, тем выше вероятность аварии. Но будет ли это точнее среднеквадратичного отклонения? Тонкий момент в том, что мне нужно не только максимально точно указать на внештатную ситуацию, но и избежать ложных срабатываний. Заранее спасибо за советы.