目前正在学习决策分析课程。在下面的示例中说明了一个称为“翻转概率树”的概念。
我可否知道:
(1)有没有办法在R中以图形方式完成上述操作?我尝试查看像rpart
,那样的软件包party
,rpart.plot
但是距离不远。
(2)如果无法用图形表示,是否存在可以轻松计算各种分支概率,端点概率的R函数?
我正在生成一个对象网格,每个对象都有 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 }
。
我确信概率论中存在这种操作的实现,但我很难找到它的正确术语。在我给出的例子中,概率可能不同,因为我不知道如何计算它们。但对于颜色0
和1
它们当然应该相等,对于颜色来说,2
它们应该是最小的。
javascript probability probability-theory probability-density
我们正在尝试计算两个离散一维分布之间的距离。我们的目的是计算一个遵循最佳传输直觉的距离函数:我们的分布是“点”(即向量)处的质量,重要的是每个向量中元素的顺序。给定一个描述任意两点之间距离的矩阵,我们希望找到 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_1d和POT包 - 特别是 ot.emd2。然而,没有一个算法真正计算出我们想要的结果,对于上面的例子,第一个算法没有考虑向量中元素的顺序,所以结果是 0。第二个算法返回 1
我们非常感谢任何我们可能错过的关于这两个 python 函数操作的解释,或者任何其他参考或建议。
我试图在遗传算法中实现非均匀概率分布.
在遗传程序的实施中,我有一个实验,其中有3个结果,每个结果都有不同的概率.比方说,一个结果的可能性是0.85,另一个是0.01,最后一个是0.14?
PS:我最近才知道它被称为概率的非均匀分布.我用Java实现它,任何人都能说出非均匀概率背后的理论.分发以及实现它的任何Java包.
如果您需要有关此问题的更多信息,请随时向我询问!
提前致谢!
probability genetic-programming probability-theory genetic-algorithm
我正在尝试在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) 所以我正在阅读 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
我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) 我在 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
。
我有一些函数可以生成 double、float、short、long 随机值。我有另一个函数,我将数据类型传递给它,它应该返回一个随机值。现在我需要在该函数中根据传递的数据类型选择返回值。例如,如果我通过浮动,我需要:
回报为浮动的概率为 70%,回报为双倍、空头或多头的概率各为 10%。我可以调用另一个函数来生成相应的随机值,但是我如何适应最终返回的概率权重?我的代码是 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
医生说,一个婴儿在仰卧时主要向右转动头部将是右撇子,相反,一个主要转向左侧的婴儿将是左撇子.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 ×6
python ×3
statistics ×3
r ×2
c ×1
c++ ×1
distribution ×1
javascript ×1
matlab ×1
pytorch ×1
random ×1
scipy ×1
torch ×1