Я вычисляю pmf теоретически на Python.вот код.
>>> a_coin = np.array([0,1])
>>> three_coins = np.array(np.meshgrid(a_coin,a_coin,a_coin)).T.reshape(-1,3)
>>> heads = np.sum(three_coins, axis = 1)
>>> df = pd.DataFrame({'heads': heads, 'prob': 1/8})
>>> np.array(df.groupby('heads').sum()['prob'])
array([0.125, 0.375, 0.375, 0.125])
этот фрагмент кода имитирует 1 бросок 3-х монет.возможные результаты {0,1,2,3}.Последняя строка кода вычисляет вероятность для каждого из возможных результатов соответственно.
Я должен поместить 10 'a_coin' в np.meshgrid (a_coin, ..., a_coin), если я хочу вычислить pmf дляподбрасывание 10 честных монет, что кажется скучным и неэффективным.
вопрос в том, есть ли более эффективный способ сделать это в Python или R?