首页 > 其他分享 >R语言中的模拟过程和离散化:泊松过程和维纳过程

R语言中的模拟过程和离散化:泊松过程和维纳过程

时间:2024-01-27 22:56:37浏览次数:31  
标签:泊松 维纳 跳跃 过程 我们 模拟 lambda

全文链接:http://tecdat.cn/?p=17303 

原文出处:拓端数据部落公众号

本文中,我们讨论了一个将Poisson过程与Wiener过程结合在一起的最佳算法的问题。实际上,为了生成泊松过程,我们总是习惯于模拟跳跃之间的持续时间。我们使用给定时间间隔内跳跃的均匀性,该条件取决于跳跃的次数。

首先,我们可以生成一个可能具有漂移的维纳过程,然后在其旁边,我们可以生成指数定律(这将对应于跳跃之间的时间),还可以生成跳跃幅度 。我们在这里

要么 。我们首先通过注意

其中增量是高斯(均值和方差),并且彼此独立。至于跳跃之间的持续时间,它们是独立的平均指数定律。这是代码,

   
n=1000
h=1/n
lambda=5
set.seed(2)
W=c(0,cumsum(rnorm(n,sd=sqrt(h))))
W=rexp(100,lambda)
N=sum(cumsum(W)<1)
T=cumsum(W[1:N])
X=-rexp(N)

问题是对于维纳过程,我们必须离散化,而对于复合泊松过程,我们不能离散化。但是,他们有相同的时间范围。第一种方法是建立trunc函数 

   
W[trunc(n*t)+1]+sum(X[T<=t])+lambda*t

然后可视化

   
L=Vectorize(Lt
plot(u,L(u),type="l

 

另一种可能性是使用我在引言中提到的泊松过程的均匀性。因为泊松过程满足一个特性:如果是第i个跳跃发生的日期,则有条件基于以下事实: ,变量 

 对应于的订单统计  独立变量,是均匀分布

该属性可在 Wolff(1982)中找到。我们从一个(单个)跳跃开始,

即我们找到一个统一的分布函数。然后,我们进行2跳,3跳等迭代。

这个想法的R翻译很简单

   
N=rpois(1,lambda)

然后,一种策略是离散化Poisson过程,与Wiener过程的时间步长相同,

   
indice=trunc(T*n
processus=W+cumsum(saut)+lambda*u

我们发现与以前相同的轨迹

通过此过程,我们不能在同一时间间隔内有两次跳跃。泊松过程的特征是

因此,极少有机会同时进行两次跳跃,尤其是在时间步长较小的情况下。如果我们生成数千条轨迹,那么一次出现问题的可能性就可以忽略不计。

有一个主意是采用离散均匀分布,

   
T=c(0,sort(sample((1:(n-1)/n),size=N,replace=FALSE)))

以避免同时发生两次跳跃。

为此,我们可以做一些测试。例如,生成一些模拟以具有一百次跳跃(因此两次跳跃之间的持续时间为一百次),然后进行指数定律检验。

   
VT=0
for(ns in 1:20){
N=rpois(1

我们在这里做了20个循环

   
lambda=5

我想进行一百次观察来进行检验。然后,我们可以进行指数拟合检验,

   
ks.test(VT[-1],"pexp",lambda)$p.value

如果我们重复很多次,则通过更改时间步长(或时间间隔的细分数),实际上,如果时间步长很大(在左下方),我们将通常拒绝,指数定律也是如此。但是很快,这是一个不成立的假设,

 

我们有两个不错的算法来生成莱维过程。


最受欢迎的见解

1.R语言泊松Poisson回归模型分析案例

2.R语言进行数值模拟:模拟泊松回归模型

3.r语言泊松回归分析

4.R语言对布丰投针(蒲丰投针)实验进行模拟和动态可视化

5.用R语言模拟混合制排队随机服务排队系统

6.GARCH(1,1),MA以及历史模拟法的VaR比较

7.R语言做复杂金融产品的几何布朗运动的模拟

8.R语言进行数值模拟:模拟泊松回归模型

9.R语言对巨灾风险下的再保险合同定价研究案例:广义线性模型和帕累托分布Pareto distributions

标签:泊松,维纳,跳跃,过程,我们,模拟,lambda
From: https://www.cnblogs.com/tecdat/p/17992308

相关文章

  • Windows 下 Nginx 配置 多个conf 文件的过程与注意事项
    Windows下配置Nginx使用多个conf文件的Include路径与Linux有所不同。 如上:Windows:include../conf.d/*.confLinux:include /etc/nginx/conf.d/*.conf; 分别来看单个配置文件的内容:总配置文件nginx.conf###########################################......
  • 第一次通过 SSH key 免密连接 GitHub 的完整过程
    原文:https://ichochy.com/posts/blog/20221107.html通过密码连接GitHub总是要输入密码,麻烦,现在使用SSHkey可以轻松实现免密验证.创建SSHkey使用ssh-keygen命令打开终端输入命令ssh-keygen创建keyssh-keygen-ted25519-C"[email protected]"注意:将ichochy......
  • 在测试过程中引入可观测性平台提升业务质量
    作者观测云产品技术专家成都办公室-刘跃兰前言随着微服务技术的发展,微服务概念已深入人心,越来越多的企业开始使用微服务架构来开发业务应用。业务应用系统的整体架构变得更加复杂,并存在各种各样的不确定性因素,从而对质量保障,以及相应的测试工作带来了巨大挑战。因此,在这样的背......
  • 在K8S中,Pod删除过程会发生什么?
    在Kubernetes(简称K8s)中,删除一个Pod时会发生以下一系列事件:发出删除命令:用户通过kubectl命令行工具或者API接口发出删除Pod的请求,例如执行kubectldeletepod<pod-name>。APIServer响应:KubernetesAPIServer接收到删除请求后,验证权限并更新其内部状态,标记指定Pod为待删......
  • 在K8S中,Pod创建过程包括什么?
    在Kubernetes(K8s)中,Pod的创建过程通常包括以下步骤:提交Pod定义:用户通过kubectl命令行工具或者调用APIServer接口,提交一个包含Pod配置信息的YAML或JSON文件。这个配置文件详细描述了Pod的元数据(如名称、标签等)、容器镜像、环境变量、端口映射、卷挂载以及其他运行时参数。接......
  • SpringBoot启动过程中发布的事件
    springboot启动过程中会发布的事件(启动类的run()方法执行时)ApplicationStartingEvent:应用运行开始事件SpringBoot运行run()方法未进行任务操作时先发布此事件ApplicationEnvironmentPreparedEvent:Environment准备完成事件在Environement准备完成且应用上下文context......
  • 存储过程
    createprocedurep1()BEGIN select*fromtest;end;--调用callp1--查看showcreateprocedurep1;--删除DROPprocedurep1;delimiter$$createprocedurep1()BEGIN select*fromtest;end$$ createprocedurep2()begin declarestr_countintdefault0; ......
  • pyqt5基本安装过程(内含pip改变默认安装路径的方法)
    今天安装pyqt的时候发现pip总是会安装到一个我自己都找不到的地方,安装完和没安装一样,每次都只能靠pycharm中设置的安装库来救命。为了愉快的用命令行下载软件包(其实是因为qt需要安装的包太多),我改变了它的默认安装路径。如何改变pip默认安装路径先看一下python安装的默认位置以......
  • Gradle下载安装与配置过程
    下载Gradle:镜像链接https://mirrors.cloud.tencent.com/gradle/,找到所需版本,这里下载gradle-8.2-all.zip,如不知道该下载哪个版本,请往下翻查看注部分。配置环境变量:解压到D盘,我这里解压目录为D:\Android\Gradle\gradle-8.2。添加该目录到系统环境变量,新建变量名为GR......
  • 【SQL】SQL Server还原完整备份和差异备份的操作过程
    还原数据库遇到这个提示 学习下差异备份原文链接:https://blog.csdn.net/david_520042/article/details/1297505651.首先右键数据库,点击还原数据库:1、还原完整数据库,选择好完整数据库的备份文件,在【选项】中,【还原选项】选择覆盖现有数据库,【恢复状态】选择第二个,点击确定。......