Laboratorio Processi Stocastici Annalisa Pascarella Istituto per le Applicazioni del Calcolo "M. Picone" Consiglio Nazionale delle Ricerche
Processi di Poisson Consideriamo eventi casuali come gli arrivi di lavori in una officina che lavora su commissione, oppure gli arrivi degli aerei su una pista, oppure gli arrivi delle navi in un porto. Un processo di Poisson è un processo stocastico che simula il manifestarsi di eventi che siano indipendenti l'uno dall'altro e che accadano continuamente nel tempo. Il processo è definito da una collezione di variabili aleatorie Nt per t>0, che vengono viste come il numero di eventi occorsi dal tempo 0 al tempo t. Inoltre il numero di eventi tra il tempo a e il tempo b è dato come Nb − Na ed ha una distribuzione di Poisson. Ogni traiettoria del processo (ovvero ogni possibile mappa da t a Nt(ω), dove ω appartiene allo spazio di probabilità su cui è definita n) è una funzione a gradino sui numeri interi
Processi di Poisson v.a. indipendenti che rappresentano il tempo intercorrente tra il verificarsi di due eventi consecutivi v.a. che modellizza il tempo di arrivo dell’n-esimo evento. Sotto l’hp che due eventi non accadano simultaneamente si ha che Questi eventi possono essere descritti da una funzione N(t) definita per ogni t >=0. Il processo di contare gli eventi N(t); t >=0 si chiama processo di Poisson con tasso medio lambda se: 1. Gli arrivi si presentano uno alla volta. 2. La distribuzione dei numeri di arrivi fra t e t + s dipende solo dalla lunghezza dell'intervallo s e non dal punto iniziale t. 3. Il numero di arrivi in periodi di tempo indipendenti sono variabili aleatorie indipendenti. Quindi un grande numero di arrivi in un intervallo di numero eventi che occorrono fino all’istante t; rappresenta un processo di Poisson omogeneo
Processi di Poisson Il Processo di Poisson è un processo discreto di conteggio, continuo nel tempo è caratterizzato da una funzione N(t), definita per t>0 e detta processo di conteggio che rappresenta il numero degli eventi che si sono verificati nel periodo da 0 a t per t=0 intendiamo il momento in cui cominciamo ad osservare se gli eventi casuali specificati si verificano o meno. Il tempo 0 è il tempo di inizio dell'osservazione, anche se in quel momento non vi è nessun arrivo. N(t) è una v.a. a valori interi per ogni famiglia t1 < … < tk le variabili aleatorie N(ti+1) -N(ti) sono indipendenti C'e quindi una corrispondenza tra il processo di conteggio Nt del numero di eventi al tempo t e la variabile Sn che esprime il tempo di attesa dell`ennesimo evento lambda è il rate del processo come si simula un processo di Poisson?
Simulazione Dato l’intervallo di tempo in cui voglio simulare il processo di Poisson di parametro l il modo più semplice (ma meno efficiente in Matlab) per simulare tale processo consiste nel campionare le variabili esponenziali Xi, una alla volta e arrestarsi non appena superi l’estremo superiore; poi conto gli eventi occorsi il processo è interamente descritto dalla sequenza dei tempi di arrivo Si, dal numero di eventi verificatesi tra 0 e gli istanti Si (il numero di eventi è una funzione crescente che incrementa di 1 ogni qual volta si verifica un evento) Come si simula un processo di Poisson? Occorre utilizzare la proprietà secondo cui se N(t) è un processo di Poisson di parametro lambda, allora gli eventi si verificano con una successione di tempi Xi distribuiti in modo esponenziale di par lambda; si usa la proprietà che Xi sono v.a. indipendenti (esponenziali di parametro lambda) simulazione dei primi n eventi: simuliamo i tempi intermedi campionando dalle esponenziali usando il metodo dell’inversa ad es Xi = −1/lambda*lnUi, dove Ui sono v.a. i.i.d. gli eventi dei tempi Sn si ottengono sommando i tempi intermedi
Algoritmo Occorre allora costruire un algoritmo che genera valori i.i.d. con legge esponenziale assume che quelli generati siano i tempi in cui si verificano gli eventi Un primo modo di simulare è quello in cui si fissa a priori il numero di eventi Altro approccio fissiamo prima un orizzonte temporale T ad esempio 50. generiamo un gran numero di tempi esponenziali osserviamo i tempi in cui si verificano gli eventi fino a T. gli eventi si susseguono nel tempo sempre secondo la stessa legge di probabilità Ma nella realtà questo avviene raramente. Ad esempio, in un centralino il susseguirsi di chiamate dipende dall’ora, e lo stesso accade per i collegamenti ad Internet.... Può accadere allora di aver bisogno di processi di Poisson non omogenei in cui il tasso lambda diventa una funzione del tempo lambda(t)
Esempio: distribuzione esponenziale Generare numeri distribuiti secondo la legge esponenziale: se i numeri {ui} sono distribuiti secondo la legge uniforme, {F-1(ui)} hanno F come funzione di ripartizione. La variabile X ~exp(l) ha funzione di ripartizione La variabile X può essere ottenuta come trasformazione di una variabile uniforme E’ sufficiente osservare che la variabile V = 1 − U ha la stessa distribuzione di U per arrivare alla formula di inversione proposta.
Simulazione Simulare un processo di Poisson nell’intervallo [0,T] con l = 1 e T = 30 memorizzare un vettore S contenente tutti i tempi di arrivo e un vettore N contenente il numero cumulativo di eventi scrivere una function Verificare ripetendo un numero elevato di volte la simulazione del processo di Poisson che la v.a. N(T) ha una distribuzione di Poisson con parametro l usare la function poisspdf e poisscdf provare a scrivere delle implementazioni + efficienti
Simulazione Dato l’intervallo di tempo in cui voglio simulare il processo di Poisson di parametro l il modo più semplice (ma meno efficiente in Matlab) per simulare tale processo consiste nel campionare le variabili esponenziali Xi, una alla volta e arrestarsi non appena superi l’estremo superiore; poi conto gli eventi occorsi Simulare un processo di Poisson nell’intervallo [0,T] con l = 1 e T = 30 memorizzare un vettore S contenente tutti i tempi di arrivo e un vettore N contenente il numero cumulativo di eventi scrivere una function Come si simula un processo di Poisson? Occorre utilizzare la proprietà secondo cui se N(t) è un processo di Poisson di parametro lambda, allora gli eventi si verificano con una successione di tempi Xi distribuiti in modo esponenziale di par lambda; si usa la proprietà che Xi sono v.a. indipendenti (esponenziali di parametro lambda) simulazione dei primi n eventi: simuliamo i tempi intermedi campionando dalle esponenziali usando il metodo dell’inversa ad es Xi = −1/lambda*lnUi, dove Ui sono v.a. i.i.d. gli eventi dei tempi Sn si ottengono sommando i tempi intermedi
Simulazione Si può dimostrare che condizionando a N(T) = n le n v.a. Sn sono indipendenti e uniformemente distribuite in [0, T]. Si può sfruttare questo fatto per simulare un processo di Poisson nel modo seguente campionare la variabile N(T) ~ P(lT) campionare N(T) variabili indipendenti uniformi in [0,T] ordinare i valori ottenuti al punto precedente; i valori cosi ottenuti rappresentano un campionamento delle variabili Sn ,n = 1, …, N(t) Utilizzare questo metodo per simulare un processo di Poisson di parametro l = 1 in [0,30]