scipy.stats.mstats.

mquantiles#

scipy.stats.mstats.mquantiles(a, prob=(0.25, 0.5, 0.75), Примечания к выпуску SciPy 1.10.0=0.4, betap=0.4, ось=None, limit=())[источник]#

Вычисляет эмпирические квантили для массива данных.

Выборочные квантили определяются Q(p) = (1-gamma)*x[j] + gamma*x[j+1], где x[j] является j-й порядковой статистикой, а gamma — функцией от j = floor(n*p + m), m = alphap + p*(1 - alphap - betap) и g = n*p + m - j.

Переинтерпретируя приведённые выше уравнения для сравнения с R приводят к уравнению: p(k) = (k - alphap)/(n + 1 - alphap - betap)

Типичные значения (alphap,betap):
  • (0,1) : p(k) = k/n : линейная интерполяция функции распределения (R тип 4)

  • (.5,.5) : p(k) = (k - 1/2.)/n : кусочно-линейная функция (R тип 5)

  • (0,0) : p(k) = k/(n+1) : (R тип 6)

  • (1,1) : p(k) = (k-1)/(n-1): p(k) = mode[F(x[k])]. (R тип 7, R по умолчанию)

  • (1/3,1/3): p(k) = (k-1/3)/(n+1/3): Тогда p(k) ~ медиана[F(x[k])]. Полученные оценки квантилей приблизительно несмещённые по медиане независимо от распределения x. (R тип 8)

  • (3/8,3/8): p(k) = (k-3/8)/(n+1/4): Blom. Полученные оценки квантилей являются приблизительно несмещёнными, если x распределён нормально (R тип 9)

  • (.4,.4) : приблизительно квантильно несмещённая (Cunnane)

  • (.35,.35): APL, используется с PWM

Параметры:
aarray_like

Входные данные в виде последовательности или массива размерностью не более 2.

probarray_like, необязательный

Список квантилей для вычисления.

Примечания к выпуску SciPy 1.10.0float, опционально

Параметр позиций построения графика, по умолчанию 0.4.

betapfloat, опционально

Параметр позиций построения графика, по умолчанию 0.4.

осьint, необязательный

Ось, вдоль которой выполняется обрезка. Если None (по умолчанию), входной массив сначала сглаживается.

limitкортеж, необязательный

Кортеж (нижнее, верхнее) значений. Значения a вне этого открытого интервала игнорируются.

Возвращает:
mquantilesMaskedArray

Массив, содержащий вычисленные квантили.

Примечания

Эта формулировка очень похожа на R за исключением вычисления m из alphap и betap, где в R m определен для каждого типа.

Ссылки

[1]

R статистическое программное обеспечение: https://www.r-project.org/

Примеры

>>> import numpy as np
>>> from scipy.stats.mstats import mquantiles
>>> a = np.array([6., 47., 49., 15., 42., 41., 7., 39., 43., 40., 36.])
>>> mquantiles(a)
array([ 19.2,  40. ,  42.8])

Использование двумерного массива с указанием оси и предела.

>>> data = np.array([[   6.,    7.,    1.],
...                  [  47.,   15.,    2.],
...                  [  49.,   36.,    3.],
...                  [  15.,   39.,    4.],
...                  [  42.,   40., -999.],
...                  [  41.,   41., -999.],
...                  [   7., -999., -999.],
...                  [  39., -999., -999.],
...                  [  43., -999., -999.],
...                  [  40., -999., -999.],
...                  [  36., -999., -999.]])
>>> print(mquantiles(data, axis=0, limit=(0, 50)))
[[19.2  14.6   1.45]
 [40.   37.5   2.5 ]
 [42.8  40.05  3.55]]
>>> data[:, 2] = -999.
>>> print(mquantiles(data, axis=0, limit=(0, 50)))
[[19.200000000000003 14.6 --]
 [40.0 37.5 --]
 [42.800000000000004 40.05 --]]