网络上两个随机事件的距离统计
randist的Python项目详细描述
随机事件之间的距离
该软件包主要用于符号和数值计算给定图中任意阶矩、pdf、cdf及其对应的两个随机事件之间的距离。事件在网络中的位置以元组编码,其中e={u,v}
(假设u<;v
)是事件发生的边缘,而p
是事件在该边缘上的相对位置,即u
中的段的长度。(索引较小的顶点)事件的位置除以边的长度。由于这两个事件都是随机的,我们使用(x,p)
和(y,q)
分别表示这两个事件。
这些公式可以很容易地嵌入到优化模型中。如果将x
和y
的pmf作为决策变量,则这些公式都是这些变量中的线性函数。用户可以使用公式方法x coeff
和ycoeff
来检索相应的系数。
安装
使用PIP安装Randist软件包。
pip install randist
输入
一种数据文件,其行是具有额外属性的网络边缘。共有五列,
i
:边的第一个顶点j
:边的第二个顶点l
:当前边的长度x
:事件1发生在当前边上的概率y
:事件2发生在当前边上的概率
两个事件相对位置的联合分布,。这应该作为
phi
对象提供, < > >- 交互式用户界面。
- 对于普通图来说,现在的运行速度还算不错。通过在C中重写核心函数,可以进一步提高速度。 < > >
from sympy.abc import p, q # import symbols
import randist as rt # import our randist package
phi_pq = 1 # the uniform distribution
phi_pq = 36 * p * (1 - p) * q * (1 - q) # both are beta functions with parameters alpha = beta = 2
phi = rt.Phi('betapq', phi_pq=phi_pq) # create a Phi object with a name
在当前的实现中,我们假设随机变量x
和y
是独立的,但是我们在本文中开发的公式没有这个限制。另外,目前,我们假设联合pdf