Хотелось бы уточнить такой момент. Все эти действия должны проводиться в реалоьнеом времени?
В реальном. Только, наверно, ты не о том думаешь. Масштаб времени - от секунд до тысяч секунд и более, а общая выборка за полгода.
Делаю вывод, что все, что ниже среднего dt и есть малое значение.
Вывод неверный. Нужно учитывать меру отклонения от среднего, иначе около 70% точек попадёт в "малые значения". Проку от этого никакого.
Обрезать по Mdt-Sdt не получится, поскольку всякое dt>=0 (отрицательных приростов времени не бывает), а Sdt>Mdt причём в разы (установлено экспериментально). Т.е. не существует таких dt, чтобы удовлетворяли неравенству dt<Mdt-Sdt.
Затем строим график (таблицу значений) частоты появления малых значений dt.
Так вот и строим.
Либо, используя численные методы, мы определяем параметры эмпирической функции и затем ищем ее экстремумы.
Мне нужные не точки экстремумов, а интервалы, на которых функция превышает некоторый определённый порог значений.
Аппроксимация дискретных значений непрерывной функцией y(f) и решение уравнения y(f)=c (где c - порог значений) численными методами в данном случае неоправданно усложнит решение, в разы повышая объём вычислений без какого-либо практического преимущества в получаемых результатах.
Либо сразу, в лоб бежим по этим значениями и ищем глобальный экстремум, который удаляем после его рассмотрения.
Не понял, причём тут глобальный экстремум... Я не разыскиваю экстремумы.
то наверное второй способ подойдет, хотя он мне кажется очень ресурсоемкий.
Пробежаться по массиву порядка 10000 целых чисел раз в 15 минут на нормальной современной workstation - не так чтобы уж очень ресурсоёмко (IMHO).
Проблема здесь в том, как от частот вернуться к интервалам времени. Сейчас, фактически, за искомые интервалы принимаются целые окна шириной Mdt со всеми попадающими в них точками - те окна, для которых определялась частота.
Сглаживание для последовательности dt здесь может помочь тем, что в интервалах с высокой чатотой ввода имеется множество dt малых значений - в этом месте сглаженная функция будет сильнее прогибаться вниз от Mdt. Если на сглаженной функции посчитать среднее и стандартное отклонение, то, в силу сглаженности, стандартное отклонение будет меньшим, чем в необработанной последовательности - тогда можно будет попытаться применить фильтр dt<Mdt-Sdt, который выдаст искомые интервалы. Вот это стоит обдумать.