标签: probability-theory

在R中翻转概率树

目前正在学习决策分析课程。在下面的示例中说明了一个称为“翻转概率树”的概念。

在此处输入图片说明

我可否知道:

(1)有没有办法在R中以图形方式完成上述操作?我尝试查看像rpart,那样的软件包partyrpart.plot但是距离不远。

(2)如果无法用图形表示,是否存在可以轻松计算各种分支概率,端点概率的R函数?

r probability decision-tree probability-theory

5
推荐指数
0
解决办法
1461
查看次数

JS 反转概率

我正在生成一个对象网格,每个对象都有 3 种颜色之一。假设我正在填充一个特定的网格单元。我知道这个单元格周围有 1 个 color 对象0、1 个 color 对象1和 2 个 color 对象2,所以:

const surroundings = { 0: 1, 1: 1, 2: 2 }
Run Code Online (Sandbox Code Playgroud)

现在我想为我正在使用的当前单元格分配一种颜色。我需要计算每种颜色的使用概率。为了让它看起来令人愉悦,我希望它更有可能与周围环境有所不同。因此,在上述情况下,概率可能是{ 0: 0.4, 1: 0.4, 2: 0.2 }

我确信概率论中存在这种操作的实现,但我很难找到它的正确术语。在我给出的例子中,概率可能不同,因为我不知道如何计算它们。但对于颜色01它们当然应该相等,对于颜色来说,2它们应该是最小的。

javascript probability probability-theory probability-density

4
推荐指数
1
解决办法
115
查看次数

python中wasserstein距离函数的参考

我们正在尝试计算两个离散一维分布之间的距离。我们的目的是计算一个遵循最佳传输直觉的距离函数:我们的分布是“点”(即向量)处的质量,重要的是每个向量中元素的顺序。给定一个描述任意两点之间距离的矩阵,我们希望找到 u 中的最小成本传输,以便使其成为 v。

最简单的例子是:设 u,v 为分布:u=(0.5,0.2,0.3), v=(0.5,0.3,0.2)

假设距离矩阵为 [[1,1,1],[1,1,1],[1,1,1]],这意味着在任意两点之间移动质量单位的成本为 1。显然,让 u 看起来像 v 的最佳方法是将 0.1 从第三点传输到第二点。在这种情况下,成本将为 1*0.1,即 0.1。

遵循这种直觉,我们转向瓦瑟斯坦距离。我们尝试了scipy.stats.wasserstein_1dPOT包 - 特别是 ot.emd2。然而,没有一个算法真正计算出我们想要的结果,对于上面的例子,第一个算法没有考虑向量中元素的顺序,所以结果是 0。第二个算法返回 1

我们非常感谢任何我们可能错过的关于这两个 python 函数操作的解释,或者任何其他参考或建议。

  • 我们知道,如果给定非对称距离度量,“距离”的概念将不是对称的。

python statistics probability-theory earth-movers-distance

4
推荐指数
1
解决办法
6844
查看次数

如何实现非均匀概率分布?

我试图在遗传算法中实现非均匀概率分布.

在遗传程序的实施中,我有一个实验,其中有3个结果,每个结果都有不同的概率.比方说,一个结果的可能性是0.85,另一个是0.01,最后一个是0.14?

PS:我最近才知道它被称为概率的非均匀分布.我用Java实现它,任何人都能说出非均匀概率背后的理论.分发以及实现它的任何Java包.

如果您需要有关此问题的更多信息,请随时向我询问!

提前致谢!

probability genetic-programming probability-theory genetic-algorithm

2
推荐指数
1
解决办法
3936
查看次数

尝试在[R]中使用函数rbern时出错

我正在尝试在R中使用rbern函数,但它会显示以下消息

rbern (10, 0.1)
Error: Could not find the "rbern"
Run Code Online (Sandbox Code Playgroud)

我甚至试图加载库(Rlab)并且不会让我,我做错了?我记得几天顺利使用相同的功能.我需要帮助.

library(Rlab)
Error en library(Rlab) : there is no package called ‘Rlab’
Run Code Online (Sandbox Code Playgroud)

statistics r probability-theory

2
推荐指数
1
解决办法
4714
查看次数

从文档中了解 PyTorch Bernoulli 分布

所以我正在阅读 pytorch 文档,试图学习和理解一些东西(因为我是机器学习的新手),我发现torch.bernoulli()并且我理解(我想念理解它)它近似于具有 1 到 1 之间的值的张量0 到 1 或 0 取决于值(例如经典学校小于 0.5 = 0 ,大于或等于 0.5 = 1)

经过我自己的一些实验,是的,它按预期工作

 >>>y = torch.Tensor([0.500])
 >>>x
 >>>  0.5000
     [torch.FloatTensor of size 1]    
 >>> torch.bernoulli(x)
 >>> 1
     [torch.FloatTensor of size 1]
Run Code Online (Sandbox Code Playgroud)

但是当我查看文档时有些奇怪

>>> a = torch.Tensor(3, 3).uniform_(0, 1) # generate a uniform random matrix with range [0, 1]
>>> a

 0.7544  0.8140  0.9842
**0.5282** 0.0595  0.6445
 0.1925  0.9553  0.9732
[torch.FloatTensor of size 3x3]

>>> torch.bernoulli(a)

 1  1  1
 **0**  0 …
Run Code Online (Sandbox Code Playgroud)

python probability-theory torch probability-distribution pytorch

2
推荐指数
1
解决办法
3854
查看次数

如何找到scipy.stats.mvn的源代码?

mvn.mvnun()scipy.stats模块中使用该函数来计算论文中给定多元正态分布的CDF。审阅者问我,由于CDF没有封闭格式,我如何估算CDF。我猜可能会使用抽样方法。为了了解它是如何工作的,我搜索了scipy源代码仓库。但是,在scipy.stats 文件夹中,我没有看到mvn.py,而是看到了mvn.pyf

在文件中,mvn.mvnun似乎定义如下,

!    -*- f90 -*-
! Note: the context of this file is case sensitive.

python module mvn ! in 
    interface  ! in :mvn
        subroutine mvnun(d,n,lower,upper,means,covar,maxpts,abseps,releps,value,inform) ! in :mvn:mvndst.f
            integer intent(hide) :: d=shape(means,0)
            integer intent(hide) :: n=shape(means,1)
            double precision dimension(d) :: lower
            double precision dimension(d) :: upper
            double precision dimension(d,n) :: means
            double precision dimension(d,d) :: covar
            integer intent(optional) :: maxpts=d*1000
            double precision intent(optional) …
Run Code Online (Sandbox Code Playgroud)

python statistics scipy probability-theory

2
推荐指数
1
解决办法
299
查看次数

从Matlab中预先指定的概率质量函数中抽取随机数

我在 Matlab 中有一个支持 ( supp_epsilon) 和一个概率质量函数 ( pr_mass_epsilon),构造如下。

supp_epsilon=[0.005 0.01 0.015 0.02]; 

suppsize_epsilon=size(supp_epsilon,2);

pr_mass_epsilon=zeros(suppsize_epsilon,1);

alpha=1;
beta=4;

for j=1:suppsize_epsilon
    pr_mass_epsilon(j)=betacdf(supp_epsilon(j),alpha,beta)/sum(betacdf(supp_epsilon,alpha,beta));
end
Run Code Online (Sandbox Code Playgroud)

请注意, 的分量pr_mass_epsilon总和为1。现在,我想n从 中抽取随机数pr_mass_epsilon。我怎样才能做到这一点?我想要一个适用于任何suppsize_epsilon.

换句话说:我想从 中随机抽取元素supp_epsilon,每个元素的概率为pr_mass_epsilon

random matlab distribution probability-theory

2
推荐指数
1
解决办法
402
查看次数

如何根据一定的概率得到一个值

我有一些函数可以生成 double、float、short、long 随机值。我有另一个函数,我将数据类型传递给它,它应该返回一个随机值。现在我需要在该函数中根据传递的数据类型选择返回值。例如,如果我通过浮动,我需要:

回报为浮动的概率为 70%,回报为双倍、空头或多头的概率各为 10%。我可以调用另一个函数来生成相应的随机值,但是我如何适应最终返回的概率权重?我的代码是 C++。

一些指针表示赞赏。

谢谢。

c++ probability probability-theory

1
推荐指数
1
解决办法
6983
查看次数

如何用C(或其他语言)实现标准正态累积分布函数

首先,对于那些不了解这条法律的人,不要害怕它实际上很简单。在此链接http://en.wikipedia.org/wiki/Black%E2%80%93Scholes_model 上,您将从数学的角度看到这条定律。继续部分符号并查看以 N(x)=1/sqrt(2*PI) 开头的函数......我正在用 C 语言实现 Black-Scholes 模型,你可能已经猜到了,但我不知道如何实现这个功能,我在网上找到了一个实现,但我不确定我是否应该对此感到高兴,似乎有点不对劲。这是我正在使用的代码。

double N(double z){
    const double b1=0.31938153;
    const double b2=-0.356563782;
    const double b3=1.781477937;
    const double b4=-1.821255978;
    const double b5=1.330274429;
    const double p=0.2316419;

    double a=fabs(z);
    double t=1.0/(1.0+a*p);
    double w=1.0-1.0/sqrt(2*M_PI)*exp(-a*a/2)*(b1*t+b2*t*t+b3*pow(t,3)+b4*pow(t,4)+b5*pow(t,5));
    if(z<0.0)
        w=1.0-w;
    return w;
}
Run Code Online (Sandbox Code Playgroud)

我想让你告诉我法律的这种实施是否正确以及为什么正确。非常感谢您提前。

c normal-distribution probability quantitative-finance probability-theory

1
推荐指数
1
解决办法
1687
查看次数

计算宝宝右撇子的概率

医生说,一个婴儿在仰卧时主要向右转动头部将是右撇子,相反,一个主要转向左侧的婴儿将是左撇子.Baby Allie主要将头转向左侧.众所周知,90%的人口是右撇子.

如果方法准确度达到90%,那么Allie是右撇子的概率是多少?使用布尔rv TR表示婴儿将他/她的头部向右转,布尔rv RH表示婴儿是右撇子.

我的答案:P(RH | TR)= 0.9和P(非RH |非TR)= 0.9 P(RH)= 0.90 P(RH(Allie))= P(RH |非TR)= 1 - P(不是RH) |不是TR)= 0.1

以上是正确的吗?

probability probability-theory

0
推荐指数
1
解决办法
229
查看次数