Функция mode
-функция в Matlab возвращает значение, которое чаще всего встречается в наборе данных. Но ", когда несколько значений происходят одинаково часто, режим возвращает наименьшее из этих значений."Адаптация функции режима для поддержки центральных значений (Matlab)
Это не очень полезно для того, для чего я его использую, я бы предпочел, чтобы он возвращал медианное или среднее арифметическое при отсутствии модального значения (поскольку они, по крайней мере, несколько находятся в середине распределения). В противном случае результаты использования mode
слишком велики на нижней стороне шкалы (у меня есть много уникальных значений в моем распределении).
Есть ли элегантный способ сделать mode
выгоднее использовать центральные значения в наборе данных (при отсутствии истинного модального значения)?
кстати .: я знаю, что я мог бы использовать [M,F] = mode(X, ...)
, чтобы вручную проверить наиболее часто встречающееся значение (и вычислить медиану или среднее значение при необходимости). Но это похоже на неловкое решение, так как я почти полностью переписал все, что должно делать mode
. Я надеюсь, что есть более элегантное решение.
Теперь я использую 'roundn' для постепенного округления входных значений, если не найдено окончательного модального значения. Если после 5 проходов все еще не найдено уникального модального значения, используется медиана (как в вашем примере). Так работает как шарм, спасибо! –