scipy.stats.

expectile#

scipy.stats.expectile(a, alpha=0.5, *, weights=None)[Quellcode]#

Berechnet das Expectile auf dem angegebenen Niveau.

Expectiles sind eine Verallgemeinerung des Erwartungswerts, so wie Quantile eine Verallgemeinerung des Medians sind. Das Expectile auf dem Niveau alpha = 0.5 ist der Mittelwert (Durchschnitt). Weitere Details finden Sie im Abschnitt Hinweise.

Parameter:
aarray_like

Array, das Zahlen enthält, deren Expectile gewünscht wird.

alphafloat, Standard: 0.5

Das Niveau des Expectiles; z. B. ergibt alpha=0.5 den Mittelwert.

weightsarray_like, optional

Ein Array von Gewichten, die den Werten in a zugeordnet sind. Die weights müssen auf die gleiche Form wie a übertragbar sein. Standard ist None, was jedem Wert ein Gewicht von 1,0 gibt. Ein ganzzahliger Gewichtselement wirkt wie eine Wiederholung der entsprechenden Beobachtung in a, so oft wie der Wert angibt. Weitere Details finden Sie im Abschnitt Hinweise.

Rückgabe:
expectilendarray

Das empirische Expectile auf dem Niveau alpha.

Siehe auch

numpy.mean

Arithmetisches Mittel

numpy.quantile

Quantil

Hinweise

Im Allgemeinen ist das Expectile auf dem Niveau \(\alpha\) einer Zufallsvariable \(X\) mit kumulativer Verteilungsfunktion (CDF) \(F\) gegeben durch die eindeutige Lösung \(t\) von

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

Hier ist \((x)_+ = \max(0, x)\) der positive Teil von \(x\). Diese Gleichung kann äquivalent umgeschrieben werden als

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

Das empirische Expectile auf dem Niveau \(\alpha\) (alpha) einer Stichprobe \(a_i\) (dem Array a) wird definiert, indem die empirische CDF von a eingesetzt wird. Bei gegebenen Stichproben- oder Fallgewichten \(w\) (dem Array weights) lautet sie \(\frac{1}{\sum_i w_i} \sum_i w_i 1_{a_i \leq x}\) mit der Indikatorfunktion \(1_{A}\). Dies führt zur Definition des empirischen Expectiles auf dem Niveau alpha als die eindeutige Lösung \(t\) von

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

Für \(\alpha=0.5\) vereinfacht sich dies zum gewichteten Durchschnitt. Darüber hinaus gilt: Je größer \(\alpha\) ist, desto größer ist der Wert des Expectiles.

Als abschließender Hinweis kann das Expectile auf dem Niveau \(\alpha\) auch als Minimierungsproblem geschrieben werden. Eine häufig verwendete Wahl ist

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

Referenzen

[1]

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

[2]

T. Gneiting (2009). „Making and Evaluating Point Forecasts,“ Journal of the American Statistical Association, 106, 746 - 762. DOI:10.48550/arXiv.0912.0902

Beispiele

>>> 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