在更高的抽象级别上进行概率计算

Sjo*_*ies 19 wolfram-mathematica mathematica-8

对于downvoters:这不是关于数学的问题,而是关于编程语言Mathematica的问题.

Mathematica的主要特征之一是它可以象征性地处理许多事情.但是如果你想一想,许多象征性的特征实际上只是象征性的一半.

以矢量为例.我们可以有像{X,Y,Z}符号载体,做一个矩阵乘法用满符号矩阵,并用象征性的结果结束了,所以我们可能会考虑的是象征性的向量代数.但我们都知道,开箱即用,Mathematica不允许你说符号x是一个向量,并给出一个矩阵A, A.x也是一个向量.这是一个更高级别的抽象,Mathematica(目前)并没有很好地处理.

类似地,Mathematica知道如何找到一个函数的五阶导数,这个函数是用符号来定义的,但是它并不适合于找到r阶导数(参见" 当r在Mathematica中是符号时如何找到函数的导数") ? "问题).

此外,Mathematica具有广泛的布尔代数能力,有些是古老的,但最近很多都是在版本7中获得的.在版本8中,我们得到了概率和朋友(例如条件),它允许我们推断具有给定分布的随机变量的概率.这是一个非常壮观的补充,这有助于我熟悉这个领域,我非常喜欢与它合作.然而,...

我和同事讨论了一些像熟悉的概率逻辑规则

在此输入图像描述

即,给定事件/状态/结果A的事件/状态/结果C的条件概率为真.

具体来说,我们正在考虑这个:

在此输入图像描述

虽然Probability在我意识到我不知道如何使用Mathematica立即解决这个问题之前我已经高度评价了Mathematica.同样,就像抽象向量和矩阵以及符号导数一样,这似乎是一个过高的抽象层次.或者是吗?我的问题是:

您能找到一种方法,使用Mathematica程序在上述和类似的方程中找到真或假吗?

tel*_*f14 2

只是浏览了一下,从文档中找到了一个示例Condition

In[1]:= c = x^2 < 30; a = x > 1;
Run Code Online (Sandbox Code Playgroud)

抱歉,这里的格式不正确...

In[2]:= Probability[c \[Conditioned] a, x \[Distributed] PoissonDistribution[2]] == 
Probability[c && a, x \[Distributed] PoissonDistribution[2]] / Probability[a, x \[Distributed] PoissonDistribution[2]]
Run Code Online (Sandbox Code Playgroud)

它的计算结果True与您给出的第一个示例的不太通用的版本相对应。

如果我有时间的话,今晚晚些时候我会再回顾一下这个问题。