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

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *