如何在Python中计算两个二元分布变量的联合概率分布?

2024-04-29 01:01:18 发布

您现在位置:Python中文网/ 问答频道 /正文

有没有现成的公式,也许在scipy.stats公司这允许我计算两个二项式变量的联合概率,如下图所示?在

enter image description here

我想做的是检验联合概率与1相比是否具有统计学意义。在

我不太确定该用哪种测试(比诺姆pmf, 比诺姆.sf, 比诺姆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)

我感兴趣的是在上升趋势和下降趋势的市场中成功的共同概率。在


Tags: textingt编辑交易者市场buy交易
1条回答
网友
1楼 · 发布于 2024-04-29 01:01:18

你给出的公式表明,任何特定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)

相关问题 更多 >