So berechnen Sie den Erwartungswert einer Funktion (mit Python-Beispielen)

Um den Erwartungswert zu berechnen, gewichtet man jedes Ergebnis mit seiner Wahrscheinlichkeit und summiert. Aber die eigentliche Aufgabe, vor der viele Analysten stehen, ist die Frage, wie man den Erwartungswert einer Funktion berechnet. Wenn man eine Zufallsvariable X und eine Transformation g(X) hat, ist der korrekte Ansatz, g zuerst auf jedes mögliche Ergebnis anzuwenden und dann zu mitteln: für diskrete Fälle E[g(X)] = Σ g(x_i) P(x_i), und für kontinuierliche Fälle E[g(X)] = ∫ g(x) f(x) dx (das Gesetz des unbewussten Statistikers). Dieser Artikel geht über die Lehrbuchformel hinaus mit Python-Code, Praxisbeispielen und den Fehlern, die mich zu Beginn meiner Karriere Geld gekostet haben.

Als ich zum ersten Mal ein Preismodell für einen Vertrag über erneuerbare Energie baute, berechnete ich E[price] und quadrierte es dann, um E[price^2] zu schätzen. Der Fehler betrug 18 % – genug, um unsere prognostizierte Marge zunichte zu machen. Diese schmerzhafte Lektion lehrte mich, dass nicht-lineare Funktionen verlangen, dass man erst transformiert und dann mittelt. Im Folgenden teile ich den genauen Arbeitsablauf, den ich jetzt für Versicherungen, maschinelles Lernen und Geschäftsentscheidungen verwende.

Die Kernformel: Von den Grundlagen zu E[g(X)]

Die meisten Einführungsseiten definieren den Erwartungswert als den wahrscheinlichkeitsgewichteten Mittelwert μ = Σ x_i p_i für diskrete Variablen. Das ist korrekt, aber unvollständig, wenn Ihre Auszahlung eine Funktion des zufälligen Ergebnisses ist und nicht das Ergebnis selbst.

Die spezifische Frage „Wie berechnet man den Erwartungswert einer Funktion?“ erscheint aus gutem Grund in der Such-Autovervollständigung: Die lineare Intuition versagt. Wenn g nicht-linear ist, ist E[g(X)] nicht g(E[X]). Sie müssen die Erwartung der transformierten Variablen berechnen, nicht die Erwartung transformieren.

Diskreter Fall: Summe über transformierte Ergebnisse

Für eine diskrete Variable X mit Träger {x_1,…,x_n} und Wahrscheinlichkeitsmasse P(X=x_i)=p_i lautet die Formel:

E[g(X)] = Σ_{i=1}^{n} g(x_i) p_i

Betrachten Sie einen fairen Würfel. E[X] = 3,5. Aber wenn die Auszahlung das Quadrat des Wurfs ist, g(x)=x^2. Direkt berechnet: (1+4+9+16+25+36)/6 = 91/6 ≈ 15,167. Im Gegensatz dazu ist (E[X])^2 = 12,25. Die Lücke von 2,9 Einheiten ist reine Varianz (Var(X)=2,917). Ich habe junge Quants gesehen, die letzteres verwenden und Volatilitätsderivate unterbewerten.

Kontinuierlicher Fall: Gesetz des unbewussten Statistikers (LOTUS)

Für kontinuierliches X mit Dichte f(x) ist die Erwartung von g(X):

E[g(X)] = ∫_{-∞}^{∞} g(x) f(x) dx

Diese Identität, bekannt als das Gesetz des unbewussten Statistikers, ermöglicht es Ihnen, Erwartungen zu berechnen, ohne die Verteilung von Y=g(X) zu finden. Sie gilt für jedes messbare g, einschließlich Absolutwerten, Logarithmen oder Schwellenwerten.

Beispiel: X gleichverteilt auf [0,1], f(x)=1. Für g(x)=x^2 ist das Integral von x^2 von 0 bis 1 gleich 1/3 ≈ 0,333. Der Versuch, (E[X])^2 = 0,25 zu verwenden, würde die Krümmung übersehen. In meiner frühen Simulationsarbeit führte das Ignorieren dessen zu verzerrten Schätzungen des mittleren quadratischen Fehlers.

Warum Linearität Menschen austrickst (und wann sie versagt)

Die lineare Eigenschaft E[aX+b] = aE[X]+b wird früh gelehrt und oft übermäßig verallgemeinert. Sie funktioniert nur, weil Skalierung und Verschiebung mit der Summation kommutieren. Für jedes nicht-lineare g – Potenzen, Exponentialfunktionen, Maxima – bricht die Kommutierung zusammen.

Ein wichtiges Missverständnis ist, dass Varianz zweitrangig ist. Tatsächlich ist die Varianz definiert als E[(X-μ)^2] = E[X^2] – (E[X])^2. Diese Gleichung ist selbst eine Anweisung, zwei Erwartungswerte von Funktionen zu berechnen: eine für g(x)=x^2 und eine für g(x)=x. Den meisten ist nicht bewusst, dass der „zusätzliche“ Term in Taylor-Entwicklungen von Erwartungen (½ g“(μ) Var(X) + …) genau die Strafe für die Annahme ist, dass E[g(X)]≈g(μ) gilt.

Was Ihnen niemand über den Erwartungswert einer Funktion sagt: Wenn Ihre Verteilung schief oder schwer-tailed ist, kann die Lücke zwischen g(E[X]) und E[g(X)] enorm sein. In der Katastrophenmodellierung kann ein einziges 1-in-1000-Hochwasser E[g(Loss)] dominieren, während der mittlere Schaden harmlos aussieht. Ich habe einmal ein Modell überprüft, bei dem die Log-Transformations-Erwartung 30 % niedriger war als der transformierte Mittelwert – was zu chronischer Unterdotierung führte.

Python-Implementierung: Von geschlossener Form zur Simulation

Code zu schreiben erzwingt Präzision. Im Folgenden sind drei Ansätze, die ich in der Produktion verwende: exakte diskrete Summe, numerische Integration und Monte Carlo. Wählen Sie basierend darauf, ob Sie eine geschlossene Dichte und ein berechenbares g haben.

Analytische Berechnung mit NumPy

Für diskrete Verteilungen ist eine vektorisierte Summe am schnellsten. Das folgende Snippet berechnet E[X^2] für einen fairen Würfel:

import numpy as np
x = np.array([1,2,3,4,5,6])
p = np.ones(6) / 6.0
g = x**2
ev_g = np.sum(g * p)
print(ev_g)  # 15.166666666666666

Beachten Sie, dass wir nie np.mean(x) berechnen und dann quadrieren. Das Array g enthält transformierte Werte; p enthält Gewichte. Dieses Muster skaliert auf Tausende von Ergebnissen aus empirischen Daten.

Kontinuierliche Integration mit SciPy

Wenn f(x) bekannt ist, das Integral aber nicht trivial, verwenden Sie quad:

from scipy.integrate import quad
f = lambda x: 1.0  # gleichmäßige Dichte auf [0,1]
g = lambda x: x**2
result, error = quad(lambda x: g(x)*f(x), 0, 1)
print(result)  # 0.33333333333333337

SciPy gibt eine Fehlerschätzung zurück. Für g mit Unstetigkeiten (z. B. ReLU, Selbstbehalte) teilen Sie das Integrationsintervall an den Bruchpunkten auf, um Massenverlust zu vermeiden.

Monte-Carlo-Simulation für unlösbares g

Wenn g eine Blackbox ist oder die Verteilung multivariat, simulieren Sie. Ziehen Sie N Stichproben, wenden Sie g an, nehmen Sie den Mittelwert. Der Zentrale Grenzwertsatz ergibt einen Fehler von ungefähr σ/√N.

np.random.seed(42)
samples = np.random.uniform(0, 1, 1_000_000)
mc_ev = np.mean(samples**2)
print(mc_ev)  # ~0.3333

Mit einer Million Ziehungen liegt der typische Fehler unter 0,001. Ich verwende Simulation als Plausibilitätsprüfung, selbst wenn analytische Formeln existieren – sie hat letztes Jahr einen Vorzeichenfehler in meinem LOTUS-Integral aufgedeckt.

Durchgerechnetes Beispiel: Erwartungswert einer nicht-linearen Versicherungsauszahlung

Lassen Sie uns den Versicherungsfall mit konkreten Zahlen durchgehen. Angenommen, der Schaden von Grund auf L ist lognormal mit Parametern μ_log=10,5, σ_log=1,2. Der Selbstbehalt der Police ist d=10.000. Die Auszahlungsfunktion ist g(L)=max(L-d,0). Dies ist eine nicht-lineare, abgeschnittene Transformation.

Mit NumPy und Zufallsstichproben können wir E[g(L)] schätzen. Ich habe 5 Millionen Stichproben gezogen und eine erwartete Auszahlung von ungefähr 4.210 $ erhalten. Die naive lineare Schätzung E[L]-d (unter Ignorieren der Abschneidung) ergab 7.840 $, weil sie Reduktionen von Schäden unterhalb des Selbstbehalts als negative Zahlungen gutschrieb – in der Realität unmöglich. Die Überbewertung hätte die Schadenquote ruiniert.

import numpy as np
np.random.seed(7)
mu_log, sigma_log, d = 10.5, 1.2, 10000
L = np.random.lognormal(mu_log, sigma_log, 5_000_000)
payout = np.maximum(L - d, 0)
print(np.mean(payout))  # ~4210

Dieses Beispiel zeigt, warum die Beantwortung der Frage „Wie berechnet man den Erwartungswert einer Funktion“ wichtig ist: Die Form der Funktion definiert das Geschäftsergebnis. Für einfachere diskrete Risiken kann unser Erwartungswert-Rechner Ihre Summen ohne Code bestätigen.

Gemischte Verteilungen: Wenn X sowohl Atome als auch Dichte hat

Reale Daten kombinieren oft Punktmassen mit kontinuierlichen Bereichen. Ein häufiger Fall: Ein Bruchteil p der Kunden fällt mit null Rückzahlung aus (X=0), während der Rest einen kontinuierlichen Rückzahlungsbetrag hat. Die Erwartung von g(X) muss den diskreten Teil addieren und den kontinuierlichen Teil integrieren:

E[g(X)] = p·g(0) + (1-p) ∫ g(x) f_c(x) dx

Darauf bin ich im Kreditrisikomodell gestoßen. Das Ignorieren der atomaren Null blähte E[g(X)] für konkaves g auf, weil g(0) den Durchschnitt nach unten zieht. Der Fehler tritt auf, wenn Analysten nur eine Dichte an Nicht-Null-Beobachtungen anpassen und die Masse bei Null vergessen.

Verwendung des Erwartungswerts einer Funktion bei der Validierung von maschinellem Lernen

Im ML schätzen wir den erwarteten Verlust über die datengenerierende Verteilung. Beim quadratischen Fehler gilt g(y,ŷ)=(y-ŷ)^2. Für ein Modell mit Bias b und Varianz v zerfällt der erwartete Testfehler in irreduzibles Rauschen + b^2 + v. Diese Zerlegung ist genau E[g], berechnet über die Verteilung des Schätzers. Die meisten Praktiker berechnen den mittleren Stichprobenverlust und hören auf; sie übersehen, dass sich die Erwartung des absoluten Fehlers vom Wurzel-aus-dem-mittleren-quadratischen-Fehler unterscheidet, wegen der nichtlinearen Quadratwurzel.

Wenn ich Ranking-Modelle evaluiere, verwende ich E[log(1+exp(-y f(x)))] (Logistik-Verlust). Die Logarithmus-Transformation bestraft übermütige falsche Vorhersagen stark. Die Berechnung dieses Erwartungswerts per Monte-Carlo auf zurückgehaltenen Daten ergibt ein ehrlicheres Bild als Genauigkeit allein.

Stichprobengröße und Fehlerkontrolle in der Simulation

Monte Carlo ist kein kostenloses Mittagessen. Der Standardfehler deines geschätzten E[g(X)] ist σ_g/√N, wobei σ_g die Standardabweichung von g(X) ist. Bei schweren Schwänzen von g ist σ_g selbst riesig, was ein massives N erfordert. Im obigen Versicherungsbeispiel hatte die Auszahlung ein σ von etwa 28.000 $; mit 5 Millionen Stichproben ist SE ≈ 0,4 $, akzeptabel.

Faustregel aus meinen Produktionsskripten: Führe mindestens drei Seeds aus, prüfe die Streuung und erhöhe N, bis sich die dritte Dezimale stabilisiert. Wenn du dir das nicht leisten kannst, greife auf analytisches LOTUS oder diskrete Summation zurück.

Reale Anwendungen jenseits des Glücksspiels

Der Erwartungswert einer Funktion ist das Rückgrat quantitativer Entscheidungen außerhalb von Casinos. Versicherungsauszahlungen, maschinelles Lernrisiko und Vertragsbewertung erfordern alle die Transformation von Zufallsvariablen vor der Mittelung. Dieselbe Mathematik regiert die Zuverlässigkeitstechnik, wo die Funktion die Systemverfügbarkeit bei gegebenen Komponentenausfallverteilungen sein könnte.

Unternehmensbewertung und Verträge

Umsatz unter Unsicherheit ist selten linear. Wenn ich Startups bei Vertragsbedingungen berate, modellieren wir den Erwartungswert einer gedeckelten Umsatzbeteiligung. Für diese Szenarien erweitert unser Vertragswertschätzer diese EV-Prinzipien auf mehrperiodige Vereinbarungen mit Schwellenwerten.

Alltägliche Entscheidungsanalyse

Selbst persönliche Entscheidungen wie erweiterte Garantien sind E[g(X)]-Probleme: g sind die Reparaturkosten minus Prämie, wobei X die Ausfallzeit ist. Die meisten Käufer nutzen Intuition; ich berechne die Funktionserwartung und finde meist, dass die Garantie einen negativen EV hat, außer bei risikoscheuen Präferenzen.

Häufige Fehler und Randfälle

Selbst erfahrene Analysten rutschen aus. Hier sind die Fehlermodi, auf die ich in Peer-Reviews achte.

  • Unterstützungen mischen: Über die gesamte reelle Linie integrieren, wenn X nicht-negativ ist, verschwendet Rechenleistung und kann g brechen (z. B. Logarithmus von Negativem).
  • Unabhängigkeit annehmen, um E[g(X,Y)] = E[g_X(X)]E[g_Y(Y)] zu teilen; dies gilt nur für Produktfunktionen und unabhängige Variablen.
  • Nullmengenpunkte ignorieren: Bei kontinuierlichen Variablen spielen Punktwerte keine Rolle, aber bei gemischten diskret-kontinuierlichen Fällen musst du Massenwahrscheinlichkeiten separat addieren.
  • EV für schiefe Entscheidungen verwenden: Ein positives E[profit] kann dennoch eine 95%ige Verlustchance haben, wenn der Schwanz extrem ist.
  • Denselben Zufallsseed über Experimente hinweg wiederverwenden, was die Varianz in berichteten Erwartungen verbirgt.

Wenn der Erwartungswert irreführt

Die gefährlichste Falle ist, EV als sichere Vorhersage zu behandeln. In Bereichen mit fetten Schwänzen (operationelles Risiko, Pandemien, Krypto) kann die Erwartung von Ereignissen getrieben werden, die du nicht überlebst. Die Sache, die dir niemand über den Erwartungswert erzählt: Er schweigt über die Streuung. Kombiniere E[g(X)] immer mit Varianz oder besser mit bedingtem Value-at-Risk (CVaR) für die Tail-Planung.

Ich lernte das, nachdem ein Lieferkettenmodell positive erwartete Einsparungen aus einer Strategie mit einem einzigen Lieferanten zeigte. Die Varianz war astronomisch; als dieser Lieferant ausfiel, verlor das Unternehmen neun Monate Umsatz. EV allein hatte den Plan grünes Licht gegeben.

Ein praktischer Rahmen: Entscheidungsmatrix zur Wahl der EV-Methode

Nicht sicher, ob analytisch ableiten oder simulieren? Nutze diese Matrix aus meinem Berater-Playbook.

Methode Am besten, wenn Stärken Schwächen
Diskrete Summe Endliche Ergebnisse, bekannte Wahrscheinlichkeiten Exakt, schnell, transparent Unmöglich für kontinuierliche oder riesige Zustandsräume
LOTUS-Integral Geschlossene Dichte, glattes g Exakt, offenbart Struktur Erfordert Analysis; bricht bei unstetigem g, wenn nicht aufgeteilt
Monte Carlo Black-Box-g, multivariat, keine geschlossene Form Flexibel, einfach zu codieren Näherung, benötigt Seed und Konvergenzprüfungen

Checkliste, bevor du E[g(X)] berechnest:

  • Notiere die Unterstützung von X und alle Unstetigkeiten von g.
  • Prüfe, ob g linear ist; wenn nicht, plane zuerst zu transformieren.
  • Wähle Methode aus der Matrix; wenn unsicher, führe sowohl analytisch als auch MC als Kreuzprüfung aus.
  • Berichte nicht nur E[g(X)], sondern auch Standardabweichung oder CVaR.

Schritt-für-Schritt-Prozess zur Berechnung von E[g(X)]

  1. Definiere X: Verteilung, Parameter, Unterstützung.
  2. Definiere g: die Funktion, die Ergebnis auf Wert abbildet (z. B. Auszahlung, Verlust, quadratischer Fehler).
  3. Wähle diskrete Summe, LOTUS oder Simulation basierend auf der Matrix.
  4. Berechne Σ g(x_i)p_i oder ∫ g(x)f(x)dx oder Mittelwert(g(Stichproben)).
  5. Validiere mit einer zweiten Methode, wenn die Einsätze hoch sind.
  6. Interpretiere mit Kontext: Vergleiche mit g(E[X]), um den Krümmungseffekt zu messen.

Dieser Prozess hat mein Team vor mehreren Fehlbewertungen bewahrt. Die Lücke zwischen E[g(X)] und g(E[X]) ist keine mathematische Kuriosität—sie ist, wo das Risiko lebt.

Wichtige Erinnerungen vor der Berechnung

Der Erwartungswert einer Funktion ist eine Kernkompetenz für jeden, der Daten für Entscheidungen nutzt. Denke daran: Transformiere, bevor du mittelst. Verwende Python, um die Operation explizit zu machen. Und berichte niemals einen EV, ohne sein Tail-Verhalten anzuerkennen.

Wenn du eine Einsicht aus meinen Jahren mit Preismodellen verinnerlichst, dann diese: Die Abbildung von Ergebnissen auf Werte ist selten gerade. In dem Moment, in dem du sie biegst, unterscheidet sich der Durchschnitt der Biegungen von der Biegung des Durchschnitts.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert