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