Нормальный#
- класс scipy.stats.Нормальный(mu=None, sigma=None, **kwargs)[источник]#
Нормальное распределение с заданным средним и стандартным отклонением.
Функция плотности вероятности нормального распределения:
\[f(x) = \frac{1}{\sigma \sqrt{2 \pi}} \exp { \left( -\frac{1}{2}\left( \frac{x - \mu}{\sigma} \right)^2 \right)}\]для \(x \in (-\infty, \infty)\). Этот класс принимает одну параметризацию:
muдля \(\mu \in (-\infty, \infty)\),sigmaдля \(\sigma \in (0, \infty)\).- Параметры:
- tolположительное число с плавающей точкой, опционально
Желаемая относительная погрешность вычислений. Если не указана, вычисления могут быть быстрее; при указании вычисления могут с большей вероятностью достичь желаемой точности.
- validation_policy{None, "skip_all"}
Определяет уровень проверки входных данных для выполнения. Если не указано, проверка входных данных выполняется для обеспечения соответствующего поведения в пограничных случаях (например, параметры вне области определения, аргумент вне поддержки распределения и т.д.) и улучшения согласованности выходного dtype, формы и т.д. Передайте
'skip_all'чтобы избежать вычислительных затрат на эти проверки, когда допустимы грубые края.- cache_policy{None, "no_cache"}
Определяет степень кэширования промежуточных результатов. Если оставить неопределённым, промежуточные результаты некоторых вычислений (например, носитель распределения, моменты и т.д.) кэшируются для повышения производительности будущих вычислений. Передайте
'no_cache'для уменьшения памяти, зарезервированной экземпляром класса.
- Атрибуты:
- Все параметры доступны как атрибуты.
Методы
support()Носитель случайной величины
plot([x, y, t, ax])Построить график функции распределения.
sample([shape, method, rng])Случайная выборка из распределения.
moment([order, kind, method])Сырой, центральный или стандартный момент положительного целого порядка.
mean(*[, method])Среднее (сырой первый момент относительно начала координат)
median(*[, method])Медиана (50-й процентиль)
mode(*[, method])Мода (наиболее вероятное значение)
variance(*[, method])Дисперсия (центральный момент второго порядка)
standard_deviation(*[, method])Стандартное отклонение (квадратный корень из второго центрального момента)
skewness(*[, method])Асимметрия (стандартизированный третий момент)
kurtosis(*[, method, convention])Эксцесс (стандартизированный четвертый момент)
pdf(x, /, *[, method])Функция плотности вероятности
logpdf(x, /, *[, method])Логарифм функции плотности вероятности
cdf(x[, y, method])Функция кумулятивного распределения
icdf(p, /, *[, method])Обратная функция распределения.
ccdf(x[, y, method])Дополнительная функция распределения
iccdf(p, /, *[, method])Обратная дополнительная кумулятивная функция распределения.
logcdf(x[, y, method])Логарифм функции кумулятивного распределения
ilogcdf(logp, /, *[, method])Обратная функция логарифма кумулятивной функции распределения.
logccdf(x[, y, method])Логарифм дополнительной кумулятивной функции распределения
ilogccdf(logp, /, *[, method])Обратная функция логарифма дополнительной функции распределения.
entropy(*[, method])Дифференциальная энтропия
logentropy(*[, method])Логарифм дифференциальной энтропии
Смотрите также
Примечания
В документации используются следующие сокращения.
PDF: функция плотности вероятности
CDF: функция распределения
CCDF: дополнительная функция распределения
энтропия: дифференциальная энтропия
log-F: логарифм F (например, log-CDF)
обратный F: обратная функция к F (например, обратная функция распределения)
Документация API написана для описания API, а не для использования в качестве статистической справки. Усилия направлены на то, чтобы быть корректными на уровне, необходимом для использования функциональности, а не на математическую строгость. Например, непрерывность и дифференцируемость могут подразумеваться неявно. Для точных математических определений обратитесь к предпочитаемому математическому тексту.
Примеры
Чтобы использовать класс распределения, его необходимо создать с использованием ключевых параметров, соответствующих одной из принятых параметризаций.
>>> import numpy as np >>> import matplotlib.pyplot as plt >>> from scipy import stats >>> from scipy.stats import Normal >>> X = Normal(mu=-0.81, sigma=0.69)
Для удобства,
plotметод может использоваться для визуализации плотности и других функций распределения.>>> X.plot() >>> plt.show()
Носитель базового распределения доступен с использованием
supportметод.>>> X.support() (np.float64(-inf), np.float64(inf))
Числовые значения параметров, связанных со всеми параметризациями, доступны как атрибуты.
>>> X.mu, X.sigma (np.float64(-0.81), np.float64(0.69))
Для вычисления функции плотности вероятности/массы базового распределения в аргументе
x=-1.13:>>> x = -1.13 >>> X.pdf(x), X.pmf(x) (np.float64(0.5192263911374636), np.float64(0.0))
Интегральная функция распределения, её дополнение и логарифм этих функций вычисляются аналогично.
>>> np.allclose(np.exp(X.logccdf(x)), 1 - X.cdf(x)) True
Обратные функции относительно аргумента
xтакже доступен.>>> logp = np.log(1 - X.ccdf(x)) >>> np.allclose(X.ilogcdf(logp), x) True
Обратите внимание, что функции распределения и их логарифмы также имеют двухаргументные версии для работы с вероятностной массой между двумя аргументами. Результат обычно более точен, чем наивная реализация, потому что он избегает вычитательной потери точности.
>>> y = -0.56 >>> np.allclose(X.ccdf(x, y), 1 - (X.cdf(y) - X.cdf(x))) True
Существуют методы для вычисления мер центральной тенденции, дисперсии, моментов высшего порядка и энтропии.
>>> X.mean(), X.median(), X.mode() (np.float64(-0.81), np.float64(-0.81), np.float64(-0.81))
>>> X.variance(), X.standard_deviation() (np.float64(0.4760999999999999), np.float64(0.69))
>>> X.skewness(), X.kurtosis() (np.float64(0.0), np.float64(3.0))
>>> np.allclose(X.moment(order=6, kind='standardized'), ... X.moment(order=6, kind='central') / X.variance()**3) True
>>> np.allclose(np.exp(X.logentropy()), X.entropy()) True
Псевдослучайные выборки могут быть извлечены из базового распределения с использованием
sample.>>> X.sample(shape=(4,)) array([-0.73348912, -1.05738815, -1.18872327, -0.48443655]) # may vary