Corso di CorsoIndustriale di Automazione 1 Automazione Industriale 1 Capitolo 4 Analisi delle prestazioni tramite l’approccio simulativo Aspetti statistici della simulazione: generazione di variabili aleatorie con distribuzione generica Simona Sacone - DIST Distribuzioni continue • Gaussiana o normale: variabili con “piccoli” scostamenti rispetto ad un valore atteso (scostamento rispetto ad un tempo di servizio atteso, scostamento rispetto alla dimensione di un lotto) • Normale troncata: è la distribuzione normale in cui non sono ammessi i valori estermi per le code • Lognormale: per variabili il cui logaritmo ha distribuzione normale Simona Sacone - DIST 2 Distribuzioni continue Distribuzione normale Simona Sacone - DIST 3 Distribuzioni continue • Esponenziale: per variabili che modellano l’intervallo tra due eventi il cui accadimento non è influenzato dal tempo trascorso dall’evento precedente (intervallo tra l’arrivo di due clienti, intervallo tra due guasti della stessa risorsa) • Esponenziale doppia: generalizza l’esponenziale, è simmetrica rispetto all’origine • Erlang: per variabili che modellano intervalli esprimibili come somma di esponenziali λi x i −1e −λx Ei ( x) = (i - 1)! Simona Sacone - DIST 4 Distribuzioni continue Distribuzione esponenziale Simona Sacone - DIST 5 Distribuzioni continue • Gamma: generalizza Erlang, per fattore forma non intero. Modella interarrivi e tempi di servizio, il maggior numero di parametri che la caratterizza permette di fissare la forma delle code. • Weibull: come gamma. Trova applicazione, e.g., per modellare intervalli tra guasti quando questi sono dovuti alla presenza di più difetti e dipendono dal più serio tra essi. • Beta: generalizza gamma, viene in genere utilizzata per lo studio su campioni delle variazioni percentuali di un elemento o di una situazione qualsiasi, quale ad esempio il numero di ore che si trascorrono quotidianamente davanti al televisore. Simona Sacone - DIST 6 Distribuzioni continue Distribuzione gamma Simona Sacone - DIST 7 Distribuzioni continue Distribuzione Weibull Simona Sacone - DIST 8 Distribuzioni continue Distribuzione beta Simona Sacone - DIST 9 Distribuzioni continue • Logistica: utilizzata, soprattutto in biologia, per modelli relativi a livelli di tolleranza. • Pareto: utilizzata per distribuzione di redditi che superano un dato valore. • Gumbel: utilizzata per statistiche su valori estremi. • Triangolari, trapezoidali, spline empiriche: utilizzate per distribuzioni su intervalli finiti non meglio approssimate da altre distribuzioni. Simona Sacone - DIST 10 Generazione di variabili aleatorie con distribuzione generica A partire da una sequenza di numeri random (U(0,1)) opportunamente generati, i metodi per la generazione di variabili aleatorie con distribuzione generica, sono: Î tecnica di trasformazione inversa Î tecnica di trasformazione diretta Î metodo di accettazione/rifiuto Simona Sacone - DIST 11 Generazione di variabili aleatorie con distribuzione generica Una routine di generazione di variabili aleatorie deve: Î essere veloce Î avere un ciclo sufficientemente lungo Î non presentare larghi gap Î essere replicabile Î generare numeri con proprietà statistiche più vicine possibile a quelle ideali Î utilizzare poche volte la routine di generazione di numeri random Simona Sacone - DIST 12 Tecnica di trasformazione inversa Si vuole generare una variabile aleatoria X con funzione di densità di probabilità fX(x). 1) si calcola la funzione di distribuzione di probabilità o funzione cumulativa di probabilità x FX (x) = ∫ f x (τ) dτ −∞ Tale funzione (qualora sia possibile calcolarla in forma chiusa) è continua, monotona crescente ed è sempre compresa tra 0 e 1 (per definizione FX(x) = P[X ≤ x]). Simona Sacone - DIST 13 Tecnica di trasformazione inversa 2) si pone u= FX(x) con u numero random (u ~ U(0,1)) 3) si risolve X= FX-1(u) e la variabile aleatoria X è distribuita secondo fX(x) (X ~ fX(x)). Graficamente: FX(x) 1 uk 0 Simona Sacone - DIST Xk x 14 Tecnica di trasformazione inversa Esempio: generare una variabile aleatoria X con funzione di densità di probabilità esponenziale con media 1/λ (X ~ exp(λ)). 1) FX (x) = 1 − e − λx 2) u = 1 - e-λ x, con u ~ U(0,1) 3) X= -ln(1-u)/ λ, o, in modo equivalente, X= -(1/λ) ln(u) Simona Sacone - DIST 15 Tecnica di trasformazione inversa Osservazioni La routine di generazione di una variabile aleatoria X con funzione di densità di probabilità esponenziale: • chiama una sola volta, per ogni istanza di X, la routine (RAND) di generazione di numeri random; • ha lo stesso ciclo di RAND; • ha gap crescenti per X crescenti; • è replicabile se lo è RAND; • genererebbe numeri con proprietà statistiche ideali se RAND generasse numeri random ideali. Simona Sacone - DIST 16 Tecnica di trasformazione diretta La tecnica di trasformazione diretta sfrutta proprietà caratteristiche di alcune funzioni di densità di probabilità Esistono metodi esatti e metodi approssimati; noi vedremo: Î metodo esatto per generare variabili con funzione di densità di probabilità Erlang Î metodo esatto per generare variabili con funzione di densità di probabilità gaussiana Î metodo approssimato per generare variabili con funzione di densità di probabilità gaussiana Simona Sacone - DIST 17 Tecnica di trasformazione diretta Metodo esatto per generare variabili con funzione di densità di probabilità Erlang λi x i −1e −λx Ei ( x) = (i - 1)! Proprietà: una variabile con funzione di densità di probabilità Ei(x) può essere espressa come la somma di i variabili con funzione di densità di probabilità di tipo esponenziale e valor medio 1/iλ. Metodo di generazione di variabili con pdf Erlang(i,λ): i ln(u ) 1 i 1 i k = X = ∑ ∑ ln(u k ) = ln ∏ u k iλ k =1 iλ k =1 k =1 iλ Simona Sacone - DIST 18 Tecnica di trasformazione diretta Metodo esatto per generare variabili con funzione di densità di probabilità gaussiana 1 N ( x) = e σ 2π − ( x −µ ) 2 2σ 2 Proprietà: date due variabili aleatorie indipendenti z1 e z2 distribuite secondo la distribuzione normale standard (µ=0, σ=1), il numero complesso w= z1 + jz2 è tale che: 1 w 2 = z12 + z 2 2 ≈ exp 2 Φ w ≈ U (0,2π) Simona Sacone - DIST 19 Tecnica di trasformazione diretta Metodo di generazione di variabili con pdf N(µ,σ2): • si generano due istanze delle variabili x1 e x2, con 1 x1 ≈ exp 2 x2 ≈ U (0,2π) quindi, x1,k =-2ln(u1,k) e x2,k = 2π(u2,k) • si generano z1 e z2 come z1 =(-2ln(u1,k))0.5cos(2π(u2,k)) z2 =(-2ln(u1,k))0.5sin(2π(u2,k)) Simona Sacone - DIST 20 Tecnica di trasformazione diretta Metodo approssimato per generare variabili con funzione di densità di probabilità gaussiana Proprietà (teorema del limite centrale): la somma di n variabili indipendenti e identicamente distribuite (i.i.d.) com media µ e varianza σ2, è approssimata da una variabile con funzione di densità di probabilità gaussiana con media nµ e varianza nσ2. Simona Sacone - DIST 21 Tecnica di trasformazione diretta Metodo di generazione di variabili con pdf N(µ,σ2) (metodo di convoluzione): 1) si utilizzano n variabili con pdf U(0,1), ossia n numeri random e si calcola un’istanza di una variabile con pdf N(0,1) come: n ∑ u k - 0.5n X = k =1 n 12 2) in particolare, con n=12 12 X = ∑ uk − 6 k =1 Simona Sacone - DIST 22 Tecnica di trasformazione diretta Metodo di generazione di variabili con pdf N(µ,σ2) (metodo di convoluzione): 3) si calcola un’istanza di una variabile y con pdf N(µ,σ2) come: Y= µ +σX Simona Sacone - DIST 23 Metodo di accettazione-rifiuto Si vuole generare una variabile aleatoria X con funzione di densità di probabilità fX(x) su un intervallo [a,b]. Algoritmo accettazione-rifiuto: 1) si genera un’istanza di una variabile R distribuita in modo uniforme nell’intervallo [a,b] (U(a,b)) 2) si accetta tale valore con probabilità pari a fX(R)/ max fX(x), lo si rifiuta con probabilità 1- fX(R)/max fX(x). Simona Sacone - DIST 24 Metodo di accettazione-rifiuto prob. di rifiuto (da normalizzare) prob. di accettazione (da normalizzare) 10 0 Simona Sacone - DIST 2 4 6 8 10 25 Metodo di accettazione-rifiuto Osservazioni La routine di generazione di una variabile aleatoria X con il metodo di accettazione-rifiuto: • chiama almeno due volte, per ogni istanza di X, la routine RAND di generazione di numeri random; una volta per generare le variabile R, una volta per decidere se accettare o rifiutare il valore (esistono, però, metodi più specializzati e più efficienti); • ha ciclo e gap che dipendono da RAND*RAND; • è replicabile se lo è RAND; • si utilizza solo in assenza di altri metodi. Simona Sacone - DIST 26 Distribuzioni discrete • Uniforme: per variabili che assumono indifferentemente uno dei valori compresi in un certo intervallo (valore di un dado singolo, posizione di una ruota, ...) • Poisson: numero di eventi verificatisi, tali che il tempo di interevento è distribuito in modo esponenziale (numero di telefonate, numero di clienti arrivati ad un sistema a coda M/M/1) • Bernoulli: per variabili con due sole realizzazioni, con probabilità p e 1-p, rispettivamente Simona Sacone - DIST 27 Distribuzioni discrete • Binomiale: per variabili che rappresentano il numero di prove di successo x su un numero n di prove di tipo bernoulliano • Geometrica: per variabili che rappresentano il numero di prove x prima di un successo • Binomiale negativa: per variabili che rappresentano il numero di insuccessi x prima dell’i-esimo successo Simona Sacone - DIST 28 Distribuzioni discrete Per generare una variabile discreta generica X definita dalla funzione di probabilità di massa seguente a1 , a , X= 2 M an , con prob. p1 con prob. p 2 con prob. p n con p1+ p2+…+ pn= 1, si utilizza un numero random uk nel seguente modo: a1 , a , X= 2 M an , Simona Sacone - DIST 0 ≤ u k ≤ p1 p1 ≤ u k ≤ p1 + p 2 p1 + p 2 + K + p n -1 ≤ u k ≤ 1 29 Distribuzioni discrete Il metodo è sostanzialmente basato sulla tecnica di trasformazione inversa. Infatti, la funzione di distribuzione di probabilità F(X), in questo caso è lineare a tratti. Ad esempio, con n=3 F(X) 1 p1+ p2 p1 a1 a2 a3 e, quindi, calcolo X come { ( ) X = min a j : F a j ≥ u k , j = 1,..., n Simona Sacone - DIST } 30