В такой ситуации логично за окончательный ответ принять среднее арифметическое.
Более устойчивая (робастная, robust) оценка - использовать медиану.
В первом посте упомянут такой вариант. Неплохой, но представляется не очень удачным из-за малого размера выборки.
Непонятно , что представляют собой "ответы" (на сигналы)?
Если это реакция на сигналы , то надо совершенствовать систему регулирования.
Если это констатация состояния системы на данный момент, то зачем скрывать эту информацию.. Проще расширить область допустимых значений сигналов
Информация не секретная, происходит примерно следующее (под спойлером, там много писанины, зачастую нестрогой и плохо понятной).
(Спойлер)
Есть видеопоток, в нём производится выделение движущихся объектов, затем эти объекты участвуют как параметры в вычислении некоторой функции. Что это за функция. В системе есть набор параметров, их количество может быть от трёх, до нескольких миллионов, эти параметры являются параметрами среды, из которой взят видеопоток (например, видеопоток был снят с камеры наружного наблюдения, высота и углы подвеса камеры являются параметрами, могут быть более сложные параметры, отражающие, к примеру, данные о рельефе местности). Мы хотим найти эти параметры, используя видеопоток.
Функция качества на верных параметрых в идеальной ситуации равна нулю, на неверных больше нуля. Однако для её вычисления используется дополнительное устройство, которое даёт погрешности (причина на самом деле в том, что объекты не являются материальным точками, а часто могут иметь протяжённую форму). Это устройство вносит серьёзные ошибки вычисления, в итоге функция качества принимает очень гадостный вид, что-то типа:
детерминированная часть плюс случайная величина. Кроме того, случайность
усиливается тем, что цель может быть выделена не очень хорошо, например чуть в стороне от реальной цели. Это ещё не все проблемы. Нам нужно найти нуль функции, на самом деле даже можно искать минимум. Минимум ищется генетическим алгоритмом, что усиливает влияние случайности, генетическим алгоритмом мы находим "оптимальные" значение
, и таких процедур для уточнения результата проводим несколько подряд. В итоге имеем выборку векторов
, и нужно как-то принять решение, какое значение отправить в систему в качестве окончательного.
Удалось уменьшить степень влияния случайных величин
(их можно на этапе вычисления функции качества частично обнаружать, и с помощью усечённой весовой функции немного гасить), также ещё было шаманство с детерминированной частью
и с генетическим алгоритмом, в итоге сейчас минимум выделяется довольно резко, однако плавание есть, плюс на некоторых выборках иногда минимум находится какой-то совсем левый, это и даёт в итоге выбросы.
Прошу прощения, если плохо объяснил, объяснение сложное, поэтому и не включил его в первый пост.
Задача ТС обозначена Википедией нерешённой проблемой статистики. И главное здесь проблема: полученное значение "выброс" или нет? И что с ним делать? Просто отбросить? Заменить на другое значение - какое?
Вопросы не "философские" и даже не формальной статистики. Только практические соображения - исходя из конкретной задачи.
Согласен, общего ответа тут быть не может. Если пытаться дать общий ответ, то частично его даёт одно из решений в первом посте - кластеризоваться. Если это удастся (что на самом деле тоже вопрос - кластеризацию тоже не всегда можно логичным образом провести), то кластерную структуру можно пытаться использовать для определения выбросов, например если два кластеры, в одном 2 точки, в другом 100, то маленький можно принять за выброс. Но это опять же, частные случаи, в конкретной задаче можно лишь попытаться понять специфику происходящего (например, увидеть, что вышеописанный пример с двумя кластерами является типичным), и принять уже организационное решение, как тут поступать.
Цитата:
И что с ним делать?
Отбросить, в нашем случае от выброса информации ноль, он мог быть получен из-за плохо отработавшей генетики, из-за чего алгоритм просто сел на границу интервала поиска.
--
Ответ на некоторые посты выше.
Винзоризованное среднее я нашёл, просто изначально писал слово с ошибкой, и гугл его не находил:
https://en.wikipedia.org/wiki/Winsorized_meanНашёл также ещё один интересный вариант:
Среднее Тьюки,
Взвешенное среднее ТьюкиСейчас в программу внёс 12 различных методов вычисления, от простого среднего арифметического и медианы, до винзоризованного среднего и среднего по Тьюки, пусть оператор имеет возможность выбрать. Среднее по Тьюки показывает себя очень успешно, из всех вариантов мне оно пока больше всего нравится.
Dmitry40, все ваши решения тоже вошли в качестве вариантов. Решить, что из 12ти лучше не могу, поэтому внёс всё, пусть уже на практике решают, что им будет лучше.