Как рассчитать ожидаемые значения для столбца, используя распределение Пуассона, а затем сравнить с фактическими значениями? - PullRequest
0 голосов
/ 07 октября 2019

У меня есть датафрейм, который содержит результаты разных сыгранных игр. Мне нужно рассчитать ожидаемые результаты (сколько игр получилось с одинаковым счетом) с распределением Пуассона, а затем сравнить фактические результаты с ожидаемыми. Итак, представьте, что у меня есть 2 игры, в результате которых результат = 2, 4 игры - с результатом = 9 искоро. Мне нужны ожидаемые результаты, соответствующие фактическим значениям с точки зрения количества игр, приведших к определенному результату.

Я рассчитал среднее значение столбца результатов, который я прочитал, также называется ожидаемым значением. Построил гистограмму фактических результатов.

import pandas as pd
import numpy as np

# Game Results DataFrame
game_results = pd.DataFrame({"game_id":[56,57,58,59,60],"result":[0,9,4,6,8]})
print(game_results)

# Histogram for result column

result = game_results["result"]

plt.hist(result)
plt.xlabel("Result")
plt.ylabel("Number of Games")
plt.title("Result Histogram")

lamb = result.mean()

1 Ответ

1 голос
/ 07 октября 2019

Вы можете нарисовать случайное распределение Пуассона, используя np.random.poisson с вашим mean и количеством наблюдений, т.е. len(game_results):

import numpy as np

game_results = pd.DataFrame({"game_id":[56,57,58,59,60],"result":[0,9,4,6,8]})
# Get the lambda
lamb = result.mean()
# Draw a random poisson distribution using the lambda
game_results["expected"] = np.random.poisson(lamb, len(game_results))
...