scipy.stats.

expectile#

scipy.stats.expectile(a, alpha=0.5, *, веса=None)[источник]#

Вычислить экспектиль на указанном уровне.

Экспектили являются обобщением математического ожидания так же, как квантили являются обобщением медианы. Экспектиль на уровне alpha = 0.5 — это среднее значение. Подробнее см. в примечаниях.

Параметры:
aarray_like

Массив, содержащий числа, для которых требуется ожидаемое значение.

alphafloat, по умолчанию: 0.5

Уровень экспектиля; например, alpha=0.5 даёт среднее значение.

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

Массив весов, связанных со значениями в a. веса должны быть транслируемы к той же форме, что и a. По умолчанию None, что присваивает каждому значению вес 1.0. Элемент веса целочисленного значения действует как повторение соответствующего наблюдения в a столько раз. Подробнее см. в примечаниях.

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

Эмпирический экспектиль на уровне alpha.

Смотрите также

numpy.mean

Среднее арифметическое

numpy.quantile

Квантиль

Примечания

В общем случае, экспектиль на уровне \(\alpha\) случайной величины \(X\) с функцией распределения (CDF) \(F\) задаётся единственным решением \(t\) из:

\[\alpha E((X - t)_+) = (1 - \alpha) E((t - X)_+) \,.\]

Здесь, \((x)_+ = \max(0, x)\) является положительной частью \(x\). Это уравнение можно эквивалентно записать как:

\[\alpha \int_t^\infty (x - t)\mathrm{d}F(x) = (1 - \alpha) \int_{-\infty}^t (t - x)\mathrm{d}F(x) \,.\]

Эмпирический экспектиль на уровне \(\alpha\) (alpha) выборки \(a_i\) (массив a) определяется подстановкой эмпирической CDF a. При заданных весах выборки или случаев \(w\) (массив веса), он читает \(F_a(x) = \frac{1}{\sum_i w_i} \sum_i w_i 1_{a_i \leq x}\) с индикаторной функцией \(1_{A}\). Это приводит к определению эмпирического экспектиля на уровне alpha как единственное решение \(t\) из:

\[\alpha \sum_{i=1}^n w_i (a_i - t)_+ = (1 - \alpha) \sum_{i=1}^n w_i (t - a_i)_+ \,.\]

Для \(\alpha=0.5\), это упрощается до взвешенного среднего. Кроме того, чем больше \(\alpha\), чем больше значение экспектиля.

В качестве заключительного замечания, экспектиль на уровне \(\alpha\) также может быть записана как задача минимизации. Часто используемый выбор -

\[\operatorname{argmin}_t E(\lvert 1_{t\geq X} - \alpha\rvert(t - X)^2) \,.\]

Ссылки

[1]

W. K. Newey и J. L. Powell (1987), “Asymmetric Least Squares Estimation and Testing,” Econometrica, 55, 819-847.

[2]

T. Gneiting (2009). "Создание и оценка точечных прогнозов", Журнал Американской статистической ассоциации, 106, 746 - 762. DOI:10.48550/arXiv.0912.0902

Примеры

>>> import numpy as np
>>> from scipy.stats import expectile
>>> a = [1, 4, 2, -1]
>>> expectile(a, alpha=0.5) == np.mean(a)
True
>>> expectile(a, alpha=0.2)
0.42857142857142855
>>> expectile(a, alpha=0.8)
2.5714285714285716
>>> weights = [1, 3, 1, 1]
>>> expectile(a, alpha=0.8, weights=weights)
3.3333333333333335