Sum of independent Poisson processes when at least two points are required from each of them

162 Views Asked by At

I have two Poisson point processes. The first one has rate $\lambda_1$, the second one has rate $\lambda_2$. An even is supposed to happen any time k ($k \geq 2$) points are found inside the first Poisson Processes or the second (but NOT one point in the first process and one point in the second process). How the event occurrence can be described?

If $k = 1$ the situation would have been easy, since the sum of independent Point processes in that case is still a Point processes with parameter $\lambda = \lambda_1 + \lambda_2$. My question is what happens when the points required in each single point process are $k \geq 2$.

I mean something like what is stated here with Poisson Random Variables. The difference is that, in my case, the situation is $p_z(Z) = P(Z = z) = $ $\sum_{j=0}^{z} P(X = k j) \cdot P(Y = k (z-j) )$, with $k$ being a integer such that $k \geq 2$

1

There are 1 best solutions below

0
On

Let $\{X(t):t\geqslant0\}$ be a continuous-time Markov chain on $\{0,1, (1,1), 2, (2,2)\}$ with generator $$ Q = \left( \begin{array}{ccccc} -\lambda _1-\lambda _2 & \lambda _1 & 0 & \lambda _2 & 0 \\ 0 & -\lambda _1-\lambda _2 & \lambda _1 & \lambda _2 & 0 \\ 0 & 0 & -\lambda _2 & \lambda _2 & 0 \\ 0 & \lambda _1 & 0 & -\lambda _1-\lambda _2 & \lambda _2 \\ 0 & \lambda _1 & 0 & 0 & -\lambda _1 \\ \end{array} \right). $$ Set $T_0=0$ and $T_{n+1} = \inf\{t>T_n: X(t) \in \{(1,1),(2,2)\}$, and let $S_n=i$ if $X(T_n)=(i,i)$. I wrote some $\texttt R$ code to simulate this process:

rm(list=ls())

lambda_1 <- 2
lambda_2 <- 3

N <- 1000
T <- rep(0, N)
S <- rep(0, N)
transitions <- rep(0, N)

for(i in 1:N) {
  event <- FALSE
  state <- 0
  t <- 0
  while(!event) {
    transitions[i] <- transitions[i] + 1
    T_1 <- rexp(1, lambda_1)
    T_2 <- rexp(1, lambda_2)
    if(T_1 < T_2) {
      t <- t + T_1

      if(state==0||state==3||state==4) {
        state <- 1
      }
      else if(state==1) {
        state <- 2
        T[i] <- t
        S[i] <- 1
        event <- TRUE
      }
    }
    else {
      t <- t + T_2

      if(state==0||state==1||state==2) {
        state <- 3
      }
      else if(state==3) {
        state <- 4
        T[i] <- t
        S[i] <- 2
        event <- TRUE
      }
    }

  }
}

# Distribution of event types
cat(sprintf("P(Event from process 1): %f\n", length(which(S==1))/N))
cat(sprintf("P(Event from process 2): %f\n", length(which(S==2))/N))

# Mean event time by event type
cat(sprintf("E[Event time | Event from process 1)]: %f\n", mean(T[which(S==1)])))
cat(sprintf("E[Event time | Event from process 2)]: %f\n", mean(T[which(S==2)])))

# Mean number of transitions
cat(sprintf("E[Number of transitions until event]: %f\n", mean(transitions)))

Perhaps it can be of use.