我正在尝试使用我在随机过程教科书中找到的下一个算法来模拟复合泊松过程。
- 让。
- 生成 iid 指数随机变量
- 令对于
- 对于每个令对于
S <- vector(mode="integer", length=100)
S[1] = 0
## Generation of Exponential random variables with parameter lambda
X <- rexp(n=100, rate=0.1)
for(n in 1:100){
S[n] = sum(X[1:n])
}
但是,我不清楚如何编写第步,也许我需要将整数放在两个(到达时间)之间?我对计数过程。
此外,你如何绘制它?
我有类似的东西,但我不清楚到达时间是否可以,因为在左边的第一张图中,我看到每个到达时间不一定在过程的垂直线上,而在右边所有到达时间的长度相同,我认为这与到达时间的独立性相矛盾。
nro<-10
S<-vector(mode="integer",length = nro)
S[1]=0
##Generation of Exponential random variables with parameter lambda
X<-rexp(n =nro,rate = 2)
for(n in 1:nro)
S[n]=sum(X[1:n])
S<-cumsum(X)
n_func <- function(t, S) sapply(t, function(t) sum(S < t))
t_series <- seq(0, max(S), by = max(S)/nro)
#Plot of the trajectory and add lines in the arrival times
par(mfrow=c(1,2))
plot(t_series, n_func(t_series, S),type =
"s",ylab=expression(N[t]),xlab="t",las=1,cex.lab=0.8,main="Poisson
Process",cex.axis=0.8)
grid()
abline(v = S,col="red",lty=2)
plot(t_series, n_func(t_series, S),type =
"s",ylab=expression(N[t]),xlab="t",las=1,cex.lab=0.8,main="Poisson
Process",cex.axis=0.8)
grid()
abline(v = t_series,col="blue",lty=4)