Como calcular o valor esperado em python (com exemplos)
Uma distribuição de probabilidade nos diz a probabilidade de uma variável aleatória assumir certos valores.
Por exemplo, a seguinte distribuição de probabilidade nos diz a probabilidade de um determinado time de futebol marcar um certo número de gols em uma determinada partida:
Para encontrar o valor esperado de uma distribuição de probabilidade, podemos usar a seguinte fórmula:
µ = Σx * P(x)
Ouro:
- x: valor dos dados
- P(x): Probabilidade de valor
Por exemplo, o número esperado de gols para o time de futebol seria calculado da seguinte forma:
μ = 0*0,18 + 1*0,34 + 2*0,35 + 3*0,11 + 4*0,02 = 1,45 gols.
Para calcular o valor esperado de uma distribuição de probabilidade em Python, podemos definir uma função simples:
import numpy as np def expected_value(values, weights): values = np. asarray (values) weights = np. asarray (weights) return (values * weights). sum ()/weights. sum ()
O exemplo a seguir mostra como usar esta função na prática.
Exemplo: Calculando o valor esperado em Python
O código a seguir mostra como calcular o valor esperado de uma distribuição de probabilidade usando a função Expected_value() que definimos anteriormente:
#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
O valor esperado é 1,45 . Isso corresponde ao valor que calculamos manualmente anteriormente.
Observe que esta função retornará um erro se o comprimento da matriz de valores e da matriz de probabilidade não forem iguais.
Por exemplo:
#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,)
Recebemos um erro porque o comprimento da primeira matriz é 5 enquanto o comprimento da segunda matriz é 7 .
Para que esta função de valor esperado funcione, o comprimento de ambas as matrizes deve ser igual.
Recursos adicionais
Os tutoriais a seguir explicam como calcular outras métricas em Python:
Como calcular uma média aparada em Python
Como calcular a média geométrica em Python
Como calcular o erro padrão da média em Python