MATLAB中两个相依分布的卷积

MATLAB中两个相依分布的卷积,matlab,convolution,Matlab,Convolution,假设我有两个离散的随机变量X和Y X = {1,3,3,5,7,7,7,9,9,9,9,9} 及 其中,他们的经验CDF如下所示: F_x(1) = 0.0833, F_x(3) = 0.25, F_x(5) = 0.33, F_x(7) = 0.5833 and F_x(9) = 1 及 假设它们的联合分布是 H(x,y) = F_x(x) * F_y(y) 这实际上是假设X和Y是独立的 如何在MATLAB中计算Z=X+Y和F(Z) 注:为了简单起见,我给出了H(x,y)作为一个简单的乘

假设我有两个离散的随机变量XY

X = {1,3,3,5,7,7,7,9,9,9,9,9}

其中,他们的经验CDF如下所示:

F_x(1) = 0.0833, F_x(3) = 0.25, F_x(5) = 0.33, F_x(7) = 0.5833 and F_x(9) = 1

假设它们的联合分布是

H(x,y) = F_x(x) * F_y(y)
这实际上是假设X和Y是独立的

如何在MATLAB中计算Z=X+YF(Z)


注:为了简单起见,我给出了H(x,y)作为一个简单的乘积函数,但它可以是实际建模x和y之间依赖关系的任何东西。

给定连续概率密度函数FX和FY,使用联合概率密度函数FX,y,我们可以计算FX+y。如果概率密度函数是离散的,则上述积分应写成zThanks给出答案的平面部分上积分的导数。它似乎回答了我的问题,但我仍然不明白为什么结果F有21个值?它不应该有22个值吗,因为Z实际上在6到22之间?此外,F(6)=F(8)=0,这不应该是。在我看来,指数发生了变化,但为什么呢?我还有一个问题。例如,如果我将H(x,y)定义为H(x,y)=F_x(x)+F_y(y)。我是否只需要更改H=F_x.。*F_y;线路?如果是,我应该把它改成什么?@Levent:我编辑了答案,解释了
F(1)
包含
z=2的概率。我这样定义它,并没有真正考虑索引的便利性,只是考虑了可能输出值的范围。改变代码以不同的方式定义它是很简单的关于如何定义
H
:在真实场景中,您可以直接从相关变量对中估计
H
。但是如果你想定义H=F_x+F_y,那么你应该使用
H=F_x.+F_y
。我们的想法是将x分布作为列向量,y分布作为行向量。您好@Cris,再次感谢您。事实上,我还有一个问题。我将联合分布定义为F_x和F_y的乘积,F_x和F_y是x和y的CDF。然而,在您的实现中,您将x和y的PDF相乘。您真的这样做了吗?例如,我在一篇论文中看到H=max(F_x+G_x-1,0)。从你的角度来看,这个方程的结果永远不会大于0,因为对于大量样本,任何两个PDF值之和都不会超过+1。@Levent:我不知道这个方程中的G_x是什么。但是如果你想定义H(x,y)=F_1(x)*F_2(y),我做的乘法是正确的。注意,这不是F_1(x)*F_2(x)。这里H是2D。这里H是两个自变量的联合概率,概率为F_1和F_2。现在你可以做F_1(x)=sum_y(H(x,y))和F_2(y)=sum_x(H(x,y))(也就是说,对一维求和可以得到边际分布)。
F_y(5) = 0.2857, F_y(9) = 0.5714, F_y(10) = 0.7143, F_y(12) = 0.8571 and F_y(13) = 1 
H(x,y) = F_x(x) * F_y(y)