Hoe de verwachte waarde in python te berekenen (met voorbeelden)


Een kansverdeling vertelt ons de waarschijnlijkheid dat een willekeurige variabele bepaalde waarden aanneemt.

De volgende kansverdeling vertelt ons bijvoorbeeld de waarschijnlijkheid dat een bepaald voetbalteam een bepaald aantal doelpunten zal scoren in een bepaalde wedstrijd:

Om de verwachte waarde van een kansverdeling te vinden, kunnen we de volgende formule gebruiken:

µ = Σx * P(x)

Goud:

  • x: gegevenswaarde
  • P(x): Waarschijnlijkheid van waarde

Het verwachte aantal doelpunten voor het voetbalteam zou bijvoorbeeld als volgt worden berekend:

μ = 0*0,18 + 1*0,34 + 2*0,35 + 3*0,11 + 4*0,02 = 1,45 doelpunten.

Om de verwachte waarde van een kansverdeling in Python te berekenen, kunnen we een eenvoudige functie definiëren:

 import numpy as np

def expected_value(values, weights):
    values = np. asarray (values)
    weights = np. asarray (weights)
    return (values * weights). sum ()/weights. sum ()

Het volgende voorbeeld laat zien hoe u deze functie in de praktijk kunt gebruiken.

Voorbeeld: verwachte waarde berekenen in Python

De volgende code laat zien hoe u de verwachte waarde van een kansverdeling kunt berekenen met behulp van de functie Expected_value() die we eerder hebben gedefinieerd:

 #define values
values = [0, 1, 2, 3, 4]

#define probabilities
probs = [.18, .34, .35, .11, .02]

#calculate expected value
expected_value(values, probs)

1.450000

De verwachte waarde is 1,45 . Dit komt overeen met de waarde die we eerder handmatig hebben berekend.

Merk op dat deze functie een fout retourneert als de lengte van de waardearray en de waarschijnlijkheidsmatrix niet gelijk zijn.

Bijvoorbeeld:

 #define values
values = [0, 1, 2, 3, 4]

#define probabilities
probs = [.18, .34, .35, .11, .02, .05, .11]

#attempt to calculate expected value
expected_value(values, probs)

ValueError : operands could not be broadcast together with shapes (5,) (7,) 

We ontvangen een foutmelding omdat de lengte van de eerste array 5 is, terwijl de lengte van de tweede array 7 is.

Om deze verwachte-waardefunctie te laten werken, moet de lengte van beide arrays gelijk zijn.

Aanvullende bronnen

In de volgende tutorials wordt uitgelegd hoe u andere statistieken in Python kunt berekenen:

Hoe een getrimd gemiddelde in Python te berekenen
Hoe het geometrische gemiddelde in Python te berekenen
Hoe de standaardfout van het gemiddelde in Python te berekenen

Einen Kommentar hinzufügen

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