Resumen

Se presentan la teorƭa bƔsica sobre el proceso de Poisson homogƩneo y un algoritmo para simular las trayectorias.

Proceso de Conteo.

Un proceso estocĆ”tisco \(\{N(t),t\leq 0\}\) en tiempo continuo un proceso de conteo si \(N(t)\) representa el total de nĆŗmeros de ā€œeventosā€ que ocurren hasta el tiempo \(t\), el cual satisface las siguientes propiedades.

  1. \(N(t)\geq 0\).
  2. \(N(t)\) es un valor entero.
  3. Si \(s<t\) entonces \(N(s)\leq N(t)\).
  4. Para \(s < t, N(t)-N(s)\) es igual al nĆŗmero de eventos que ocurren en el intervalo \((s,t]\).

El Proceso de Poisson.

El proceso de contar \(\{N(t),t>0\}\) es un proceso de Poisson (HomogƩneo) con intensidad o tasa \(\lambda>0\), si

  1. \(N(0)=0\)
  2. El Proceso tiene incrementos independientes.
  3. El numero de eventos en cualquier intervalo de longitud \(t\) tiene distribución Poisson con media \(\lambda t\).

Simulación

Para si simulación utilizaremos el siguiente resultado que nos indica la distribución de los tiempos de ocurrencia condicionado a \(N(t)=n\).

Sea \(\{N(t),t\geq 0\}\) un proceso de Poisson con intensidad \(\lambda > 0\) y \(S_n\) el tiempo de ocurrencia del n-ésimo evento o tiempo de espera del n-ésimo . Entonces condicionado a \(N(t)=n\), la distribución conjunta de \(S_1,S_2,...,S_n\) es

\[ f_{S_1,S_2,...,S_n|N(t)}(s_1,s_2,...,s_n|n)=\frac{n!}{t^n} \]

para \(0\leq s_1<...<s_n\leq t\).

Es decir los tiempos \(S_1,...S_n\) condicionados a \(N(t)=n\) siguen la distribución de los estadisticos de orden de variables aleatorias uniformes\((0,t)\) independientes.

El anterior resultado nos ofrece una manera de simular \(N(t)\) con el siguiente algoritmo.

  1. Simular \(k=N(t)\sim Poisson(\lambda t)\)
  2. Simular \(k\) variables aleatorias \(U(0,t)\)
  3. Ordenar las \(k\) simulaciones uniformes como \(S_1,...,S_n\)
ProcesoPois<- function(t,lambda){
  N<- rpois(1,t*lambda) #Paso 1
  C<- sort(runif(N,0,t)) #Paso 2 y 3 
  data.frame(x=c(0,0,C),y=c(0,0:N)) 
}

Graficación

La función anterior nos devuelve una dataframe con las cordenadas lista para graficar el proceso, veamos un ejemplo de un proceso de intesidad 3 al tiempo 3.

library(ggplot2)
P<-ProcesoPois(3,3)
qplot(x,y,data=P,xlab="Tiempo",ylab="N(t)",main="Proceso de Poisson",geom=c("step","point"))

De modo de ilustración mostraremos simulaciones de N procesos de Poisson con la siguiente función

library(plyr)
NPois<-function(n,t,rate){
  C<- lapply(1:n, function(n) data.frame(ProcesoPois(t,rate),simulacion=n)) #Genera N dataframes con los procesos
  C<-ldply(C, data.frame) #Une en una sola dataframe
  C$simulacion<-factor(C$simulacion) #Convierte en factores
  qplot(x,y,data=C,geom=c("step","point"),color=simulacion,xlab="Tiempo",ylab="N(t)",main=sprintf("%d Simulaciones del Proceso de Poisson de Intensidad %.2f",n,rate))
}

De aqui podemos jugar con los diferentes parametros para ver tanto su comportamiento con una intensidad alta como su comportamiento a largo plazo.

NPois(5,10,2) #Intensidad = 2

NPois(10,10,0.1) #Intesidad Baja

NPois(5,1000,1) #Largo Plazo