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, где в Rmопределен для каждого типа.Ссылки
[1]R статистическое программное обеспечение: https://www.r-project.org/
[2]R
quantileфункция: http://stat.ethz.ch/R-manual/R-devel/library/stats/html/quantile.htmlПримеры
>>> 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 --]]