Se presentan la teorĆa bĆ”sica sobre el proceso de Poisson homogĆ©neo y un algoritmo para simular las trayectorias.
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.
El proceso de contar \(\{N(t),t>0\}\) es un proceso de Poisson (HomogƩneo) con intensidad o tasa \(\lambda>0\), si
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.
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))
}
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