mode#
- Нормальный.mode(*, метод=None)[источник]#
Мода (наиболее вероятное значение)
Неформально, мода — это значение, которое случайная величина принимает с наибольшей вероятностью (плотностью). То есть, мода — это элемент носителя \(\chi\) который максимизирует функцию плотности вероятности (или массовую функцию для дискретных случайных величин) \(f(x)\):
\[\text{mode} = \arg\max_{x \in \chi} f(x)\]- Параметры:
- метод{None, ‘formula’, ‘optimization’}
Стратегия, используемая для вычисления моды. По умолчанию (
None), инфраструктура выбирает между следующими вариантами, перечисленными в порядке приоритета.'formula'типа разреженной матрицы?'optimization': численная максимизация PDF/PMF
Не все метод опции доступны для всех распределений. Если выбранная метод недоступен,
NotImplementedErrorбудет вызвано исключение.
- Возвращает:
- выходмассив
Режим
Примечания
Для некоторых распределений
мода не является уникальной (например, равномерное распределение);
PDF имеет одну или несколько сингулярностей, и спорно, считается ли сингулярность в области определения и называется модой (например, гамма-распределение с параметром формы меньше 1); и/или
функция плотности вероятности может иметь один или несколько локальных максимумов, которые не являются глобальным максимумом (например, смешанные распределения).
В таких случаях,
modeбудетвернуть одно значение,
считать, что мода находится в сингулярности, и/или
возвращает локальный максимум, который может быть или не быть глобальным максимумом.
Если формула для моды не реализована специально для выбранного распределения, SciPy попытается вычислить моду численно, что может не соответствовать предпочтительному пользователем определению моды. В таких случаях пользователю рекомендуется создать подкласс распределения и переопределить
mode.Ссылки
[1]Мода (статистика), Википедия, https://en.wikipedia.org/wiki/Mode_(statistics)
Примеры
любым из целых чисел в полуоткрытом диапазоне
>>> from scipy import stats >>> X = stats.Normal(mu=1., sigma=2.)
Оценить режим:
>>> X.mode() 1.0
Если мода не определена однозначно,
modeтем не менее возвращает одно значение.>>> X = stats.Uniform(a=0., b=1.) >>> X.mode() 0.5
Если этот выбор не удовлетворяет вашим требованиям, создайте подкласс распределения и переопределите
mode:>>> class BetterUniform(stats.Uniform): ... def mode(self): ... return self.b >>> X = BetterUniform(a=0., b=1.) >>> X.mode() 1.0