Matlab中复合泊松过程的有效仿真

htd

我需要在Matlab的非常精细的网格上模拟大量复合泊松过程,因此我希望能最有效地做到这一点。

我需要在相同的随机数上进行很多模拟,但是要更改参数,因此即使事先画了比我可能需要的东西多得多的东西也没关系因为与顺序500*nrepl乘以实际的复合过程生成相比,只需要执行一次即可

我的方法如下:假设T我需要模拟多长时间并N个网格点,那么我的网格是:

t=linspace(1,T,N);

设nrepl为我需要的进程数,然后模拟

P=poissrnd(lambda,nrepl,1); % Number of jumps for each replication
U=(T-1)*rand(10000,nrepl)+1; % Set of uniforms on (1,T) for jump times
N=randn(10000,nrepl); % Set of normals for jump size

然后进行复制j

Poiss=P(j); % Jumps for replication
Uni=U(1:Poiss,j);% Jump times
Norm=mu+sigma*N(1:Poiss,j);% Jump sizes

然后,我想这是我需要您的建议的地方,我使用了这种单线但似乎很慢:

CPP_norm=sum(bsxfun(@times,bsxfun(@gt,t,Uni),Norm),1);

在每个跳跃的内部,它创建一系列t0跳跃之前相同的长度,然后1相乘,将其相乘将创建一个带有零的网格,直到跳跃到达,然后跳跃大小,最后加上所有这些都将产生整个跳跃过程网格。

如何才能更有效地做到这一点?

非常感谢你。

丹尼尔

我不知道您在做什么CPP_norm,但是如果可以进行推导,则数据量少得多:

diffCPP_norm=bsxfun(@times,sparse(diff(bsxfun(@gt,t,Uni),1,2)),Norm);

使用CPP_norm=full(cumsum(diffCPP_norm))您可以重新创建原始数据,但随后您失去了优势。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

测试泊松过程

来自分类Dev

了解非均匀泊松过程Matlab代码

来自分类Dev

用可变速率拟合有上限的泊松过程

来自分类Dev

模拟多个泊松过程

来自分类Dev

在泊松过程中模拟Arival时间

来自分类Dev

在泊松过程中模拟Arival时间

来自分类Dev

在Matlab中以所需的支持截断泊松分布

来自分类Dev

代理根据泊松过程到达

来自分类Dev

R中的泊松表

来自分类Dev

MATLAB仿真过程中的睡眠机

来自分类Dev

耦合泊松方程和Matlab程序

来自分类Dev

具有多个x的泊松分布

来自分类Dev

泊松电子测试在Python中的实现

来自分类Dev

Java中的泊松分布(正确吗?)

来自分类Dev

在C ++中实现泊松分布

来自分类Dev

Python中的双变量泊松分布

来自分类Dev

拟合泊松直方图

来自分类Dev

拟合泊松分布

来自分类Dev

如何使用R中的插入符号包训练带有偏移项的glmnet模型(泊松族)?

来自分类Dev

R中泊松回归的不正确预测

来自分类Dev

方差分析中的泊松残差检验

来自分类Dev

如何在R中绘制泊松密度曲线?

来自分类Dev

R中循环的解释-泊松变量模拟;

来自分类Dev

改变泊松 GLM R 中的 Y 截距

来自分类Dev

将 javascript 中的泊松函数解析为 php

来自分类Dev

如何在 Python 中实现这个 R 泊松分布?

来自分类Dev

在一个图上绘制两个泊松过程

来自分类Dev

在一个图上绘制两个泊松过程

来自分类Dev

MatLab:生成 N 个具有泊松分布的伪随机数,其均值为 M 和总 T,其中 N、M 和 T 是用户定义的