Generazione di variabili aleatorie distribuite in modo arbitrario.

annuncio pubblicitario
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
Scarica