Come calcolare il valore atteso in python (con esempi)
Una distribuzione di probabilità ci dice la probabilità che una variabile casuale assuma determinati valori.
Ad esempio, la seguente distribuzione di probabilità ci dice la probabilità che una certa squadra di calcio segnerà un certo numero di gol in una determinata partita:
Per trovare il valore atteso di una distribuzione di probabilità, possiamo utilizzare la seguente formula:
µ = Σx * P(x)
Oro:
- x: valore dei dati
- P(x): Probabilità di valore
Ad esempio, il numero previsto di goal per la squadra di calcio verrebbe calcolato come segue:
μ = 0*0,18 + 1*0,34 + 2*0,35 + 3*0,11 + 4*0,02 = 1,45 gol.
Per calcolare il valore atteso di una distribuzione di probabilità in Python, possiamo definire una semplice funzione:
import numpy as np def expected_value(values, weights): values = np. asarray (values) weights = np. asarray (weights) return (values * weights). sum ()/weights. sum ()
L’esempio seguente mostra come utilizzare questa funzione nella pratica.
Esempio: calcolo del valore atteso in Python
Il codice seguente mostra come calcolare il valore atteso di una distribuzione di probabilità utilizzando la funzione Expected_value() definita in precedenza:
#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
Il valore atteso è 1,45 . Questo corrisponde al valore che abbiamo calcolato manualmente in precedenza.
Tieni presente che questa funzione restituirà un errore se la lunghezza dell’array di valori e dell’array di probabilità non sono uguali.
Per esempio:
#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,)
Riceviamo un errore perché la lunghezza del primo array è 5 mentre la lunghezza del secondo array è 7 .
Affinché questa funzione del valore atteso funzioni, la lunghezza di entrambi gli array deve essere uguale.
Risorse addizionali
I seguenti tutorial spiegano come calcolare altre metriche in Python:
Come calcolare una media troncata in Python
Come calcolare la media geometrica in Python
Come calcolare l’errore standard della media in Python