Как рассчитать совместное распределение вероятностей двух биномиально распределенных переменных в Python?
3 roland [2015-06-05 23:37:00]
Существует ли существующая формула, возможно, в scipy.stats, которая позволяет мне вычислить совместную вероятность двух биномиальных переменных, как показано на рисунке ниже?
То, что я хотел бы сделать, это проверить, является ли совместная вероятность статистически значимой по сравнению с 1.
Я не уверен, какой тест использовать (binom.pmf, binom.sf, binom.cdf), чтобы сделать это.
РЕДАКТИРОВАТЬ 1:
Чтобы привести пример того, как я хотел бы применить это. Рассмотрим трейдера, который торгует как на развивающемся, так и на понижающемся рынке. Трейдер может либо купить актив, либо продать его на короткий срок. Таким образом, трейдер будет получать прибыль, $\ pi $, если он покупает (продает) актив, когда рынок находится в восходящем тренде (нисходящий тренд), и он понесет убытки, если он купит (продает) актив, когда рынок в нисходящем тренде (восходящий тренд). Таким образом, я заинтересован в расчете совместной вероятности, так что трейдер превысит случайную вероятность 50% как на рынке восходящего тренда, так и на нисходящем тренде. Другими словами:
$$\text {H $_0 $: Pr} (i\in Buy | profit > 0) +\text {Pr} (i\in Sell | profit > 0) = 1 $$
Трейдер считается квалифицированным, если он может выгодно торговать на обоих рынках восходящего и нисходящего тренда, так что сумма вероятностей превышает 1 в испытании значимости.
РЕДАКТИРОВАТЬ 2
Возможно, первая таблица немного запуталась. Если бы я нарисовал таблицу непредвиденных обстоятельств предыдущего примера, это было бы следующим образом:
Uptrend Downtrend
Buy profit>0 (Success) profit<0 (Failure)
Sell profit<0 (Failure) profit>0 (Success)
Меня интересует совместная вероятность успеха на рынке Uptrend и Downtrend.
python scipy probability
1 ответ
0 rwp [2018-02-23 21:52:00]
Формула, которую вы даете, показывает, что совместная плотность вероятности для любого конкретного y_1 и y_2 является просто произведением вероятности y_1 и вероятности y_2 (т.е. события независимы). Если вы хотите реализовать это программно, чтобы получить двумерную матрицу вероятностей, вам понадобится внешнее произведение двух векторов, которые дают вероятностные распределения y_1 и y_2. Например:
from scipy.stats import binom
import numpy
n1, p1 = 10, 0.3
n2, p2 = 15, 0.8
pdf1 = binom(n1, p1).pmf(numpy.arange(0, n1+1))
pdf2 = binom(n2, p2).pmf(numpy.arange(0, n2+1))
joint_pdf = numpy.outer(pdf1, pdf2)