TEORIA DELLA STIMA E DELLA DESCISIONE STATISTICA
STIMA A MASSIMA VEROSIMIGLIANZA
Per determinare la stima a massima verosimiglianza di un parametro θ, partendo da un campione di dati X,
bisogna scrivere la densità di probabilità f(x;θ) dipendente dal parametro incognito θ . Successivamente si
ricava la funzione di verosimiglianza oppure il suo logaritmo:
N
L(θ ) = ∏ f ( xi ;θ )
i =1
N
ln[ L(θ )] = ∑ ln[ f ( xi ;θ )]
i =1
Per procedere nella stima a massima verosimiglianza, basta semplicemente verificare che ln[L(θ)] sia
derivabile, calcolare la derivata prima e ricavare il valore di θ per cui si annulla:
∂ ln[ L(θ )]
=0
∂θ
θ =θˆML
Le stime a massima verosimiglianza vengono in genere indicate con Θ̂ ML . Le principali proprietà di cui
godono sono:
‰ Le stime Θ̂ ML sono consistenti;
‰ Le stime Θ̂ ML sono asintoticamente efficienti;
‰ Se per il problema in esame esiste uno stimatore efficiente, esso è proprio lo stimatore Θ̂ ML
Inoltre se ϕ(θ) è una funzione invertibile del parametro θ, la stima a massima verosimiglianza di ϕ(θ), sarà
proprio ϕ (θˆML ) .
2
Esercizi e Complementi
Esercizio 1.1
Determinare la stima a massima verosimiglianza del valor medio e della varianza di un campione di dati
X =(x1, x2, …, xN) gaussiano N(μ,σ2)
Il primo passo è di scrivere la funzione di verosimiglianza:
N
N
L( μ ,σ ) = ∏ f ( xi ;θ ) =∏
1
2
i =1
i =1
2πσ 2
−
e
( xi − μ )2
2σ 2
passando al logaritmo:
ln[ L( μ , σ 2 )] = −
1
N
N
ln(2π ) − ln(σ 2 ) −
2
2
2σ 2
N
∑ (x
i =1
i
− μ)2
le derivate parziali valgono:
∂ ln[ L( μ ,σ 2 )] 1 N
= 2 ∑ ( xi − μ )
∂μ
σ i =1
∂ ln[ L( μ ,σ 2 )]
N
1 N
=
−
+
∑ ( xi − μ ) 2
∂σ 2
2σ 2 2σ 4 i =1
I valori per cui si annullano sono le stime a massima verosimiglianza dei parametri, rispettivamente:
μ̂ ML =
1 N
∑ xi
N i =1
2
σˆ ML
=
1 N
( xi − μˆ ML ) 2
∑
N i =1
che corrispondono alla media e alla varianza campionaria.
Modelli e Metodi per la Simulazione
3
Complemento 1.1
Per verificare la bontà della stima ottenuta bisogna verificare che le stime siano corrette. Per il valor
medio si ha:
E[ μˆ ML ] =
1
N
N
∑ E[ x ] = μ
i
i =1
Poiché il valor medio dello stimatore coincide con il parametro da stimare, la stima si definisce non
polarizzata. Per verificare se la stima del valor medio μ̂ ML è una stima efficiente bisogna confrontare la
varianza della stima con il limite di Cramer-Rao, a tal proposito è necessario ricordare la disuguaglianza di
Cramer-Rao che nel caso specifico vale:
Var[ μˆ ML ] ≥
1
⎡⎛ ∂ ln[ f ( x; μ , σ 2 )] ⎞ 2 ⎤
⎟ ⎥
E ⎢⎜⎜
⎟ ⎥
∂μ
⎢⎝
⎠ ⎦
⎣
=
σ2
N
Per calcolare la varianza della stima μ̂ ML bisogna eseguire la seguente operazione:
⎡1
Var[ μˆ ML ] = Var ⎢
⎣N
N
∑
i =1
⎤ σ2
xi ⎥ =
⎦ N
Poiché la varianza della stima coincide con il limite di Cramer-Rao, possiamo concludere che la media
campionaria μ̂ ML ottenuta dalla stima a massima verosimiglianza del valor medio di un campione dati
gaussiano è una stima efficiente. Inoltre per quanto visto prima è anche una stima non polarizzata e
consistente, in definitiva è la migliore stima possibile che possiamo ottenere per questo tipo di parametro.
Questo risultato è valido sia se la varianza del campione è nota, e sia se è incognita come in questo caso.
Complemento 1.2
Le stesse verifiche effettuate per la stima del valor medio possono essere effettuate per la stima della
2
. Il risultato della stima a massima verosimiglianza suggerisce di utilizzare la
varianza del campione σˆ ML
varianza campionaria come stima della varianza di un campione gaussiano. Purtroppo la varianza
campionaria non è una stima corretta infatti:
4
Esercizi e Complementi
[ ]
2
E σˆ ML
=
1
N
∑ E [( x
N
i
]
− μˆ ML ) 2 =
i =1
N −1 2
σ
N
In questo caso la stima si dice polarizzata, e la sua polarizzazione b vale:
[ ]
2
b = E σˆ ML
−σ 2 = −
σ2
N
uno stima non polarizzata è ad esempio:
2
σˆ NP
=
N
2
σˆ ML
N −1
Il limite di Cramer-Rao, richiede un calcolo più laborioso:
2
Var[σˆ ML
]≥
2
⎛
∂b(σˆ ML
)⎞
⎟
⎜1 +
2
⎟
⎜
∂σ
⎠
⎝
⎡⎛ ∂ ln[ f ( x; μ , σ 2 )] ⎞ 2 ⎤
⎟ ⎥
E ⎢⎜⎜
⎟ ⎥
⎢⎝
∂σ 2
⎠ ⎦
⎣
=
2σ 4
N
1⎞
⎛
⎜1 − ⎟
N
⎝
⎠
2
2
Per calcolare la varianza di σˆ ML
. Consideriamo la seguente variabile:
χ2 =
N −1
σ2
2
σˆ NP
Si dimostra che questa variabile ha una densità di probabilità del Chi-quadro con N – 1 gradi di libertà, e
la sua varianza vale:
[ ]
Var χ 2 = 2( N − 1)
pertanto:
Modelli e Metodi per la Simulazione
[ ]
Var σ
2
ˆ ML
2
[ ]
⎡ N −1 2 ⎤ ⎛ N −1⎞
⎛ N −1⎞
2
= Var ⎢
σˆ NP ⎥ = ⎜
⎟ Var σˆ NP = ⎜
⎟
⎣ N
⎦ ⎝ N ⎠
⎝ N ⎠
2
2
5
[ ]
⎛ σ2 ⎞
2
⎜
⎟
⎜ N − 1 ⎟ Var χ
⎝
⎠
In definitiva:
[ ]
⎛ N −1⎞
2
Var σˆ ML
=⎜
⎟
⎝ N ⎠
2
2
2
⎛ σ2 ⎞
N − 1 ⎞ 2σ 4 2σ 4
⎟ 2( N − 1) = ⎛⎜
⎜
=
⎟
⎜ N −1⎟
N
⎝ N ⎠ N −1
⎝
⎠
1⎞
⎛
⎜1 − ⎟
N⎠
⎝
Confrontando questa espressione con il limite di Cramer-Rao, appare evidente che la varianza
campionaria ha una varianza di stima sempre superiore al limite di Cramer-Rao, quindi la stima a massima
verosimiglianza della varianza di un campione dati non è una stima efficiente, ma tende al limite di
Cramer-Rao solo per N → ∞. In questo caso la stima si dice asintoticamente efficiente. Possiamo
riepilogare quanto detto dicendo che la stima a massima verosimiglianza di un campione dati gaussiano è
2
la varianza campionaria di σˆ ML
, la quale risulta essere una stima consistente(in quanto stima ML), una
stima non corretta (perché polarizzata), ed una stima asintoticamente efficiente. A questo punto è
interessante confrontare le proprietà della varianza campionaria con quelle della stima non polarizzata
2
determinata in precedenza σˆ NP
:
[ ]
2
=
Var σˆ NP
2σ 4
N −1
2
Poiché la varianza di questa stima è maggiore della varianza della stima σˆ ML
, dobbiamo concludere che la
stima a massima verosimiglianza della varianza di un campione di dati gaussiano, sebbene sia una stima
polarizzata, ha una bontà maggiore di qualsiasi altra stima, poiché è quella a varianza minore.
6
Esercizi e Complementi
Esercizio 1.2
Determinare la stima a massima verosimiglianza del valor medio di una v.a. esponenziale negativa
utilizzando il campione di dati X =(x1, x2, …, xN)
Il primo passo è di scrivere la funzione di verosimiglianza:
L( μ ) =
N
∏
f ( xi ; μ ) =
i =1
1
μ
N
−
e
1
μ
( x1 + x2 +L+ x N )
passando al logaritmo:
ln[ L( μ )] = − N ln(μ ) −
1
μ
(x1 + x 2 + L + x N )
la derivata vale:
∂ ln[ L( μ )]
1
N
= − + 2 (x1 + x 2 + L + x N )
∂μ
μ μ
Il valore per cui si annulla è la stima a massima verosimiglianza del parametro:
μ̂ ML =
(x1 + x 2 + L + x N )
N
che corrispondono alla media campionaria. Anche la media campionaria è una stima non polarizzata,
consistente ed efficiente, quindi la miglior stima per il valor medio di una v.a. esponenziale negativa
Modelli e Metodi per la Simulazione
7
Esercizio 1.3
Sia λ il numero medio di chiamate ricevute in un’ora in una centrale telefonica. Ipotizzando che il numero
effettivo di chiamate orarie sia modellabile con una variabile aleatoria discreta di Poisson, con valor
medio pari a λ, e di avere a disposizione N osservazioni indipendenti del fenomeno, determinare:
‰ La stima a massima verosimiglianza del parametroλ.
‰ La polarizzazione della stima ottenuta;
‰ Verificare la consistenza e l’efficienza della stima ottenuta
Ricordiamo che una v.a. discreta di Poisson a funzione massa di probabilità pari a :
pn =
λn
n!
e −λ
inoltre:
E[ n] = Var[n] = λ
Il primo passo è di scrivere la funzione di verosimiglianza, sostituendo opportunamente la funzione
densità di probabilità con la funzione massa di probabilità, perché questa volta il problema riguarda una
v.a. discreta, ed il campione delle osservazioni è (n1,n2…,nN):
L (λ ) =
N
λni
N
∏ p λ =∏ n ! e
i,
i =1
i =1
λ∑i =1
N
−λ
i
=
ni
N
∏n !
e − Nλ
i
i =1
passando al logaritmo:
ln[ L( μ )] = ln(λ )
N
∑
i =1
la derivata vale:
ni −
N
∑ ln(n !) − Nλ
i
i =1
8
Esercizi e Complementi
∂ ln[ L(λ )] 1
=
∂λ
λ
N
∑n
i
−N
i =1
Il valore per cui si annulla è la stima a massima verosimiglianza del parametro:
λ̂ ML =
1
N
N
∑n
i
i =1
Per verificare se la stima è corretta (non polarizzata):
[ ]
1
E λˆML =
N
N
∑ E[ n ] = λ
i
i =1
La stima ottenuta mediante la tecnica a massima verosimiglianza è la media campionaria, e risulta essere
una stima corretta. Poiché si tratta di una stima ML è anche consistente. Per verificare se la stima è
efficiente bisogna calcolare la varianza della stima e confrontarla con il limite di Cramer-Rao. Poiché per
ipotesi le N osservazioni sono indipendenti, la varianza si può calcolare come il prodotto delle singole
varianze:
[ ]
Var λˆML =
1
N2
λ
N
∑ Var[n ] = N
i
i =1
Il limite di Cramer-Rao è:
Var[λˆML ] ≥
1
⎡⎛ ∂ ln p , ] ⎞
iλ
⎟⎟
E ⎢⎜⎜
λ
∂
⎢⎝
⎠
⎣
2
⎤
⎥
⎥
⎦
=
1
⎡ ∂ ⎛1
E ⎢ ⎜⎜
⎢⎣ ∂λ ⎝ λ
N
∑n
i =1
i
⎞⎤
− N ⎟⎟⎥
⎠⎥⎦
=
1
⎡1
E⎢ 2
⎣λ
⎤
N
∑ n ⎥⎦
i
i =1
=
1
⎛ 1
⎜
⎜ λ2
⎝
⎞
N
∑ E[n ]⎟⎟⎠
=
i
i =1
Poiché la varianza della stima coincide con il limite di Cramer-Rao la stima è efficiente.
λ
N
Modelli e Metodi per la Simulazione
9
Esercizio 1.4
Si consideri un esperimento che può avere solo due risultati: “successo” o “insuccesso” e che essere
ripetuto N volte. Ipotizzando che la probabilità dell’evento “successo” sia pari a p, e che durante le N
prove dell’ esperimento l’evento favorevole si è verificato k volte, determinare una stima non polarizzata
del parametro p e verificarne la consistenza.
La variabile aleatoria discreta che descrive l’esercizio è una v.a. binomiale la cui funzione massa di
probabilità vale:
⎛N⎞
p k = ⎜⎜ ⎟⎟ p k (1 − p ) ( N − k )
⎝k⎠
Chiaramente la funzione massa di probabilità è funzione del parametro p, inoltre è anche la funzione di
verosimiglianza, quindi per determinare la stima ML è sufficiente derivare pk.:
⎛ N ⎞ k −1
⎛N⎞
dL( p) dp k
d ⎡⎛ N ⎞ k
( N −k ) ⎤
( N −k )
=
=
− ⎜⎜ ⎟⎟( N − k ) p k (1 − p ) ( N − k −1)
⎢⎜⎜ ⎟⎟ p (1 − p )
⎥ = ⎜⎜ ⎟⎟kp (1 − p )
dp
dp dp ⎣⎝ k ⎠
⎝k⎠
⎦ ⎝k⎠
la derivata si annulla per
dL( p )
dp
= 0 ⇒ pˆ ML =
p = pˆ ML
k
N
poiché si tratta di una v.a. binomiale il valor medio e la varianza di k sono:
E[ k ] =
N
∑ kp
k
=Np
k =0
Var[k ] = E[k 2 ] − E 2 [k ] = Np(1 − p)
Verifichiamo se la stima ML è una stima polarizzata:
10
Esercizi e Complementi
E[ pˆ ML ] =
E[k ]
=p
N
La stima ML del parametro p è una stima corretta.
Var[ pˆ ML ] =
Var[k ] p(1 − p)
=
N
N2
Poiché:
lim Var[ pˆ ML ] = 0
N →∞
La stima ML del parametro p è una stima consistente.
Modelli e Metodi per la Simulazione
11
DISTRIBUZIONE NORMALE STANDARD
La distribuzione normale standard si indica con Φ(z), e la sua espressione vale:
z
1
Φ( z ) =
2π
∫e
−
x2
2
dx
−∞
La funzione Φ(z), rappresenta l’area sottesa ad una curva gaussiana di valor medio nullo, e varianza
unitaria. Questa espressione permette di calcolare la probabilità degli eventi X ≤ z, quando X è appunto,
una v.a. gaussiana a media nulla, e varianza unitaria.
Φ (z)
-3.5
0.4
z
3.5
x
Ogni v.a. gaussiana X ∈ N(μ,σ2), può essere normalizzata alla v.a. gaussiana standard Z mediante la
trasformazione:
Z=
X −μ
σ2
In appendice, nella tavola A.1, viene riportata la tabella con i valori di Φ(z). Anche se la curva è definita
nell’intervallo ]-∞,+∞[ , in pratica assume valori significati nell’intervallo [-3.5, +3.5]. Per questo motivo
nelle tabelle vengono riportati soltanto in questo intervallo. Inoltre poiché la curva gaussiana è una
funzione simmetrica, la funzione Φ(z), gode della seguente proprietà:
Φ (− z ) = 1 − Φ ( z )
Pertanto la tabella riporta soltanto i valori nell’intervallo [0, +3.5].
12
Esercizi e Complementi
Esercizio 1.5
Mediante l’utilizzo della tavola statistica Tav. A1 (che riporta i valori della distribuzione normale
standard), calcolare la probabilità che la v.a. gaussiana X ∈ N(4,4), assuma valori tra 3 e 5.
La prima operazione da effettuare è normalizzare la v.a. X alla gaussiana standard, e successivamente e
seguire il calcolo della probabilità. In pratica:
⎛5− 4⎞
⎛3− 4⎞
Pr{3 < X < 5} = Φ⎜
⎟ − Φ⎜
⎟ = Φ (0.5) − Φ (−0.5) = Φ (0.5) − [1 − Φ (0.5)]
⎝ 2 ⎠
⎝ 2 ⎠
Dalla tabella si ha: Φ(0.5) = 0.6915, si ha:
Pr{3 < X < 5} = 0.383
Esercizio 1.6
La quantità di carburante, in migliaia di litri, richiesta settimanalmente ad una stazione di servizio, può
essere schematizzata come una v.a. gaussiana X ∈ N(20,16). Sapendo che la stazione viene
completamente rifornita all’inizio di ogni settimana, si chiede di calcolare la capacità C del serbatoio, in
modo che la probabilità di esaurire il carburante nella settimana risulti 0.01
Poiché la probabilità che il carburante richiesto dalla stazione superi la capacità del deposito deve essere
0.01, si ha:
Pr{X > C } = 0.01
e poiché:
⎛ C − 20 ⎞
Pr{X > C} = 1 − Pr{X < C} = 1 − Φ⎜
⎟ = 0.01
⎝ 4 ⎠
da cui:
Modelli e Metodi per la Simulazione
13
⎛ C − 20 ⎞
Φ⎜
⎟ = 0.99
⎝ 4 ⎠
Dalla tabella si ha:
C − 20
≈ 2.33 ⇒ C ≈ 29,32
4
Quindi la capacità del serbatoio deve essere circa di 29,32 migliaia di litri.
Complemento 1.3
Le variabili aleatorie gaussiane godono di alcune importanti proprietà, tra le quali, ricordiamo che due v.a.
gaussiane incorrelate sono anche indipendenti. Un’altra proprietà riguarda la somma di due v.a. gaussiane
In particolare se una v.a. V è combinazione lineare di due v.a. gaussiane X e Y incorrelate
V = aX + bY
E’ una v.a. gaussiana con i seguenti parametri:
μ V = aμ X + bμ Y
σ V2 = aσ X2 + bσ Y2
Questo risultato può essere esteso anche alla combinazione lineare di N v.a. gaussiane.
Se invece le due v.a. non sono incorrelate, le relazioni date sopra non sono valide. Nel caso di due v.a.
gaussiane correlate con grado di correlazione pari a ρ può essere interessante calcolare le probabilità
condizionate X|Y e Y|X. In questo caso valgono le seguenti relazioni:
E [X Y = y ] = μ X + ρ
σX
( y − μY )
σY
(
Var [X Y = y ] = σ X2 1 − ρ 2
)
14
Esercizi e Complementi
E [Y X = x ] = μ Y + ρ
σY
(x − μ X )
σX
(
Var [Y X = x ] = σ Y2 1 − ρ 2
)
Esercizio 1.7
Un operaio A per compiere un lavoro impiega un certo tempo( in minuti) TA schematizzabile con
una v.a. gaussiana con parametri (102,9). Un secondo operaio impiega un tempo( in minuti) TB
B
schematizzabile con una v.a. gaussiana con parametri (100,16). I due operai inizano il lavoro
contemporaneamente ed in maniera indipendente.Quale è la probabilità che l’operaio A finisca il
lavoro prima dell’operaio B
La coppia di variabili TA e TA sono due una coppia di v.a. gaussiane indipendenti. Pertanto la
variabile D = TA - TA è ancora una v.a. gaussiana con parametri (8,25):
⎛− 2⎞
Pr{T A < TB } = Pr{(T A − TB ) ≤ 0} = Pr{D ≤ 0} = Φ⎜
⎟ ≈ 0.334
⎝ 5 ⎠
Esercizio 1.8
Si supponga che l’altezza(cm) di un gruppo molto numero sia una v.a gaussiana X ∈ N(170,100).
Mentre il peso(Kg) sia espresso da una v.a gaussiana Y ∈ N(75,100). Poiché le v.a. X e Y si
riferiscono allo stesso gruppo di persone sono correlate (ρ = 0.8) Quale è la probabilità che scelta
una persona a caso pesi meno di 75 Kg?. Quale il peso medio delle persone alte 180 cm? Quale
è la probabilità che una persona alta 180 cm pesi meno di 75 Kg?
La prima domanda riguarda soltanto la v.a. Y pertanto:
Pr{Y ≤ 75} = Φ (0 ) = 0.5
Modelli e Metodi per la Simulazione
La seconda domanda implica il calcolo del valor medio condizionato E[Y|X = 180]
E [Y X = 180] = μ Y + 0.8
σY
(180 − μ X ) = 75 + 0.8(180 − 170) = 83 Kg
σX
La deviazione standard della v.a. condizionata Y|X, vale:
(
)
σ Y2 X = σ Y2 1 − ρ 2 = 10 1 − 0.64 = 6
Quindi la risposta alla terza domanda è :
⎛ 4⎞
⎛ 75 − 83 ⎞
Pr{(Y X = 180) ≤ 75} = Φ⎜
⎟ = Φ⎜ − ⎟ ≈ 0.0912
⎝ 6 ⎠
⎝ 3⎠
15
16
Esercizi e Complementi
STIMA PER INTERVALLI
La stima per intervalli, consiste nel determinare se il valore del parametro θ da stimare ricade in un certo
intervallo, che viene definito intervallo di fiducia della stima. Il problema viene formulato nel seguente
modo
Pr{B1 < θ < B2 } = 1 − γ
Dove B1 e B2 sono due variabili statistiche, il cui valore è completamente determinato dal campione dati X,
B
B
mentre γ viene detto livello di incertezza.
Ricordiamo due risultati importanti della teoria della stima:
1) Quando il parametro da stimare è il valor medio μ di un campione dati gaussiano, la stima per
intervalli viene formulata nel seguente modo:
t1
t2
⎧
⎫
Pr ⎨ X −
S<μ<X +
S ⎬ = 1− γ
N −1
N −1 ⎭
⎩
dove X e S2 sono rispettivamente la media e la varianza campionaria. Le variabili B1 e B2 nel caso
B
specifico sono variabili t-Student con N – 1 gradi di libertà (N dimensione del campione).
2)Quando il parametro da stimare è la varianza del campione il problema viene formulato nel seguente
modo:
⎧ NS 2
NS 2 ⎫
Pr ⎨
<σ 2 <
⎬ = 1− γ
x1 ⎭
⎩ x2
I valori x1 e x2 si determinano facilmente dalle tavole del χ2 imponendo le condizioni:
{
}
Pr χ 2 ≥ x2 =
γ
2
{
}
Pr χ 2 ≥ x1 = 1 −
γ
2
Modelli e Metodi per la Simulazione
17
Esercizio 1.9
Dato un campione di dati X di dimensione N = 100, estratto da una popolazione avente scarto
quadratico medio σ = 5.1. Ipotizzando che la media campionaria sia X =21.6 costruire un
intervallo di fiducia al 95% per la stima del valor medio della popolazione.
L’esercizio consiste nel determinare un intervallo entro quale ritenere accettabile la stima del parametro μ,
con un livello di incertezza γ = 0.05. Poiché la varianza del campione è nota il problema può essere
formulato semplicemente nella forma:
Pr{z1 < μ < z 2 } = 0.95
Graficamente si ha la seguente situazione:
re g io n e d i
a c c e tta z io n e
re g io n e d i rifiu to
X
zγ
σ
μ
N
X + z
γ
σ
N
Per determinare la regione di accettazione [z1,z2] bisogna quindi calcolare la variabile zγ mediante la
conoscenza del livello di incertezza γ. Dalla tabella della distribuzione normale standard, si ricava:
{
}
[
]
Pr − z γ < Z < z γ = Φ ( z γ ) − 1 − Φ ( z γ ) = 2Φ ( z γ ) − 1 = 0.95 ⇒ Φ ( z γ ) = 0.975 ⇒ z γ = 1.96
Dal valore di zγ si ottiene il seguente intervallo di fiducia:
⎧
5 .1
5 .1 ⎫
σ
σ ⎫
⎧
< μ < X + zγ
< μ < 21.6 + 1.96
Pr ⎨ X − z γ
⎬ = Pr ⎨21.6 − 1.96
⎬ = 0.95 ⇒ 20.6 ≤ μ ≤ 22.6
10
10 ⎭
⎩
N
N⎭
⎩
18
Esercizi e Complementi
Esercizio 1.10
Considerato il campione dati X (N = 80), riportato in tabella, determinare un intervallo di
fiducia al 99% per la stima del valor medio.
15.8
26.4
17.3
11.2
23.9
24.8
18.7
13.9
9.0
13.2
22.7
9.8
6.2
14.7
17.5
26.1
12.8
28.6
17.6
23.7
26.8
22.7
18.0
20.5
11.0
20.9
15.5
19.4
16.7
10.7
19.1
15.2
22.9
16.6
20.4
21.4
19.2
21.6
16.9
19.0
18.5
23.0
24.6
20.1
16.2
18
7.7
13.5
23.5
14.5
14.4
29.6
19.4
17.0
20.8
24.3
22.5
24.6
18.4
18.1
8.3
21.9
12.3
22.3
13.3
11.8
19.3
20.0
25.7
31.8
25.9
10.5
15.9
27.5
18.1
17.9
9.4
24.1
20.1
28.5
L’esercizio è molto simile a quello precedente, bisogna però fare attenzione al fatto che questa volta la
varianza non è nota. La prima operazione da compiere è calcolare la media e la varianza campionaria:
X=
S2 =
1
N
1
N
N
∑x
i
= 18.8
i =1
N
∑ (x
i
− X ) 2 = 31.96
i =1
Il problema viene formulato nel seguente modo:
⎧
Pr ⎨ X −
⎩
tγ
N −1
S<μ<X +
⎫
S⎬ =1− γ
N −1 ⎭
tγ
(2 – 40)
Anche in questo caso il problema si riconduce al calcolo di una variabile tγ, mediante le tavole statistiche.
Questa volta bisogna utilizzare le tavole della distribuzione t-Student, poiché la varianza del campione dati
non è nota.
{
}
Pr − tγ < T < tγ = 1 − γ = 0.01
Poiché N = 80, è necessario conoscere la distribuzione t- Student con 79 gradi di libertà. Nella tabella a
disposizione, questo valore non è riportato. Quindi si può procedere in diversi modi, il primo è utilizzare il
Modelli e Metodi per la Simulazione
19
valore più vicino riportato nella tabella, e quindi dalla riga della distribuzione con 80 gradi di libertà si
legge tγ = 2.638, di conseguenza si ricavo l’intervallo:
⎫
⎧
2.638
2.638
Pr ⎨18.8 −
31.96 < μ < 18.8 +
31.96 ⎬ = 0.01 ⇒ 17.3 ≤ μ ≤ 20.47
79
79
⎭
⎩
Un secondo metodo è l’approssimazione gaussiana, tanto più valida quanto più grande è N. Per N = 79, è
ragionevole poter utilizzare tale approssimazione:
{
}
[
]
Pr − z γ < Z < zγ = Φ ( z γ ) − 1 − Φ ( z γ ) = 2Φ ( z γ ) − 1 = 0.99 ⇒ z γ = 2.5758
⎧⎪
31.96
31.96 ⎫⎪
Pr ⎨18.8 − 2.5758
< μ < 18.8 − 2.5758
⎬ = 0.99 ⇒ 17.1 ≤ μ ≤ 20.5
80 ⎪⎭
80
⎪⎩
Esercizio 1.11
Si consideri il seguente campione dati X (N = 15):
[0.060, 0.082, 0.056, 0.075, 0.091, 0.074, 0.072, 0.074, 0.080, 0.064, 0.068, 0.085, 0.078, 0.071]
Si determini un intervallo di fiducia al 95% per la stima del valor medio e della deviazione standard.
Calcolo della media e della varianza campionaria:
X=
S2 =
1
N
1
N
N
∑x
i
= 0.074
i =1
N
∑ (x
i
− X ) 2 = 0.000081
i =1
Per la stima del valor medio utilizziamo le tavole della distribuzione t-Student con 14 gradi di libertà,
poiché il livello di incertezza è γ = 0.05, si ha tγ = 2.145:
⎧
⎫
2.145
2.145
Pr ⎨0.074 −
0.009 < μ < 0.074 +
0.009⎬ = 0.05 ⇒ 0.069 ≤ μ ≤ 0.079
14
14
⎩
⎭
20
Esercizi e Complementi
Per la stima della varianza, si ha:
⎧ NS 2
NS 2 ⎫
2
Pr ⎨
<σ <
⎬ = 1− γ
x1 ⎭
⎩ x2
I valori x1 e x2 si determinano dalla tabella del χ2 facilmente imponendo le condizioni:
{
}
Pr χ 2 ≥ x 2 =
{
γ
}
Pr χ 2 ≥ x1 = 1 −
2
γ
2
Pertanto x2 = 26.119 e x1 = 5.629, da cui:
⎧⎪ NS 2
<σ <
Pr ⎨
⎪⎩ x 2
NS 2
x1
⎫⎪
⎧⎪
15 ⎫⎪
15
< σ < 0.009
⎬ = 1 − γ = Pr ⎨0.09
⎬ = 0.95 ⇒ 0.007 ≤ σ ≤ 0.015
5.629 ⎪⎭
26.119
⎪⎩
⎪⎭
Complemento 1.4
E’ importante notare, che se diminuisce il livello di incertezza γ, l’intervallo di fiducia aumenta. Questo
che apparentemente è un risultato positivo, deve far riflettere. Perché l’aumento della fiducia nella stima,
significa che la stima è poco attendibile, perché più è ampio l’intervallo in cui si cerca un parametro, e più
facile è trovarlo. Quindi una buona stima, è una stima con un livello di incertezza basso ed un intervallo di
fiducia molto stretto.
Modelli e Metodi per la Simulazione
21
TEST DI IPOTESI STATISTICHE
Si chiamano test di ipotesi statistiche (o prove d’accordo) tutti quei procedimenti atti a verificare, per
mezzo dello studio di campioni, se sono accettabili o meno delle ipotesi fatte sulla legge di distribuzione
di una variabile. Nella sua forma più generale il test delle ipotesi statistiche viene formulato nel seguente
modo:
‰ Si definisce una variabile H (funzione del campione dati X) detta statistica del test;
‰ Si definisce un intervallo di fiducia entro il quale devono essere verificate le ipotesi;
‰ Se in corrispondenza del particolare campione osservato la variabile H assume un valore esterno
all’intervallo di fiducia, l’ipotesi fatta viene rifiutata.
Quindi formalmente il problema viene formulato in maniera analoga al calcolo dell’intervallo di fiducia
per la stima dei parametri:
Pr{h1 < H < h2 } = 1 − γ
Se il valore di H, ottenuto dal campione in esame, cade all’interno dell’intervallo [h1,h2] non è ragionevole
rifiutare l’ipotesi, che può essere accetta con una certa cautela derivante dal livello di incertezza γ.
Un test molto importate è il test del χ2 (Chi-quadro), che viene utilizzato, per verificare se un campione
dati X osservato segue una distribuzione uniforme. Per condurre il test si suddivide l’intervallo della
variabile uniforme ipotizzata in s parti e si determina la variabile Ri che rappresenta il numero di elementi
del campione che assumono un valore compreso nella i-esima parte, i valori (R1, R2, R3, … RS).
Poiché sulla variabile in esame viene fatta l’ipotesi sulla sua distribuzione, in ogni intervallo dovrebbe
cadere un numero di valori pari a : (p1, p2, p3, …, pS). La statistica del test V viene calcolata nel seguente
modo:
V =
S
(Ri − Npi )2
i =1
Npi
∑
Fissato un certo livello di incertezza γ, dalle tabelle del χ2 con s-1 gradi di libertà, si può ricavare xγ tale
che
{
}
Pr χ 2 ≥ xγ = γ
22
Esercizi e Complementi
A questo punto possiamo formulare un test di ipotesi statistiche del tipo:
Pr {0 < V < xγ } = 1 − γ
dove l’intervallo [0, xγ] definisce la regione di accettazione. L’ipotesi verrà rifiutata se il valore di V
ottenuto da un particolare campione, è esterno alla regione di accettazione.
Esercizio 1.11
Gli incidenti di auto avvenuti in un anno su un tratto di strada sono indicati per ogni mese nella seguente
tabella:
MESE
GEN
FEB
MAR APR
MAG GIU LUG
AGO SET
OTT
NOV
DIC
n° incidenti
19
16
20
33
35
18
30
21
22
30
34
22
Si vuole provare con un livello di incertezza γ = 0.01, l’ipotesi che la probabilità evento incidente non
dipenda dal particolare mese in cui accada.
L’ipotesi che il numero di incidenti non dipenda dal mese, si traduce definendo una v.a. discreta X, che sia
uniformemente distribuita nell’intervallo [1,12], con vettore delle probabilità: p1,= p2,= p3,= …,= pS = 1/12.
Per verificare se il numero degli incidenti segua questa legge di distribuzione utilizziamo il test del χ2
definendo la variabile V:
S
(Ri − Npi )2
i =1
Npi
V =∑
L’intervallo dei definizione della distribuzione in esame, viene suddiviso chiaramente in dodici parti s=12
Al posto di Ri sostituiamo il relativo numero di incidenti nel relativo mese, mentre la dimensione del
campione si ottiene sommando tutti i valori della tabella:
12
N = ∑ Ri = 300 ⇒ Npi = 25
i =1
A questo punto siamo in grado di calcolare il valore di V:
Modelli e Metodi per la Simulazione
V=
12
(Ri − 25)2
i =1
25
∑
23
≅ 20.8
Dalle tabelle del χ2 ricaviamo xγ tale che:
{
}
Pr χ 2 ≥ xγ = γ = 0.01 ⇒ xγ = 24.72
Poiché V < xγ, l’ipotesi fatta è vera con un livello di fiducia pari al 99%.
Esercizio 1.12
Si supponga di effettuare 100 lanci con una moneta e di ottenere 45 volte testa. Verificare mediante il test
del χ2 che la moneta non sia truccata.
Se la moneta è perfettamente simmetrica la variabile X che esprime il risultato del lancio, può assumere
due valori con probabilità pari a pi = 0.5, i = 1,2. Associamo ad 1 il risultato testa e a 2 il risultato croce:
N=
2
∑R
i
= 100 ⇒ Np i = 50
i =1
V=
S
(Ri − Npi )2
i =1
Np i
∑
=
(45 − 50) 2 (55 − 50) 2
(5) 2
+
=2
=1
50
50
50
Dalle tabelle del χ2 con 1 grado di libertà, si ricava che xγ è sempre maggiore di 1, per ogni γ >0.3. Quindi
l’ipotesi di simmetria sulla moneta può essere accettata con un livello di incertezza pari a 0.3
24
Esercizi e Complementi
Esercizio 1.13
Si supponga di effettuare al calcolatore l’esperimento del lancio di un dado. L’esperimento viene ripetuto
120 volte ottenendo i seguenti risultati:
Valore
1
2
3
4
5
6
Risultato
25
17
15
23
24
16
Per poter verificare se la simulazione condotta riproduce fedelmente la realtà, analizziamo il risultati
ottenuti. Mediante il test del χ2 si vuole verificare che la sequenza di dati ottenuti sia uniforme
nell’intervallo [1,6] con un livello di incertezza γ = 5%
Questo tipo di verifica è molto frequente, nell’analisi degli Input di un simulazione. In pratica lo scopo è
verificare che la sequenza casuale generata al calcolatore segua la distribuzione desiderata. Nel caso
specifica bisogna verificare che la sequenza si uniforme nell’intervallo [1,6]
N=
6
∑R
i
= 120 ⇒ Np i = 20
i =1
V=
S
(Ri − Npi )2
i =1
Np i
∑
=
(25 − 20) 2 (17 − 20) 2 (15 − 20) 2 ( 23 − 20) 2 (24 − 20) 2 (16 − 20) 2
+
+
+
+
+
=5
20
20
20
20
20
20
Dalle tabelle del χ2 con 5 gradi di libertà ricaviamo xγ tale che:
{
}
Pr χ 2 ≥ xγ = γ = 0.05 ⇒ xγ = 11.071
Poiché V < xγ, l’ipotesi fatta è vera con un livello di fiducia pari al 95%.
Modelli e Metodi per la Simulazione
25
Esercizio 1.14
Durante l’esecuzione di una simulazione è previsto generare una sequenza di 250 numeri casuali tra
[0,9]. Per poter verificare la corretta generazione della sequenza casuale, viene suddiviso l’intervallo
[0,9] in 10 parti e si effettua il conteggio di quanti valori cadono nel singolo intervallo, e si ottiene la
seguente tabella:
Valore
0
1
2
3
4
5
6
7
8
9
Risultato
17
31
29
18
14
20
35
30
20
36
Mediante il test del χ2 si vuole verificare che la sequenza di dati ottenuti sia uniforme nell’intervallo [0,9]
Analogamente all’esercizio precedente:
N=
10
∑R
i
= 250 ⇒ Np i = 25
i =1
V=
S
(Ri − Npi )2
i =1
Np i
∑
=
10
(Ri − 25)2
i =1
25
∑
= 23.28
Poiché non viene fatta nessun riferimento al livello di incertezza scegliamo due valori γ = (5%,1%) Dalle
tabelle del χ2 con 9 gradi di libertà ricaviamo xγ tale che:
{
}
{
}
Pr χ 2 ≥ xγ = γ = 0.05 ⇒ xγ = 16.919
Pr χ 2 ≥ xγ = γ = 0.01 ⇒ xγ = 21.666
In entrambi i casi non è possibile accettare il test.
Se si analizza attentamente la tabella si vede che per γ =0.5%, si ottiene xγ = 23.589. Il test in questo caso
può essere accettato anche se lo scarto è minimo. E’ opportuno ricordare, che in questo caso è poco
significativo accettare il test, in primo luogo perché lo scarto è minimo, ma soprattutto perché l’ipotesi è
verificata con un livello di incertezza molto basso, e quindi con un intervallo di fiducia molto ampio.
Abbiamo più volte ribadito, che quando l’intervallo di fiducia è molto ampio è poco significativo accettare
un test di ipotesi statistiche.
26
Esercizi e Complementi
Esercizio 1.15
Nell’analisi dell’ accadimento di un certo evento, si è misurato che l’evento nelle ultime 90 settimane si è
verificato secondo il seguente campione dati:
N° di eventi per settimana
0
1
2
3 o più
N° di settimane in cui si è verificato
52
32
6
0
Dalla tabella, si evince che sono 52 le settimane in cui non si è verificato, mentre sono 32 le settimane in
cui si è verificato una volta, e 6 le settimane in cui si è verificato 2 volte, etc. Verificare mediante il test
del χ2 che la frequenza degli evento segua una distribuzione di Poisson con parametro λ = 0.4 con livello
di incertezza γ = 5%
L’esperimento in esame consiste nell’osservare, in un intervallo temporale ben definito (0,t) pari ad una
settimana il verificarsi di un dato evento. In generale ogni osservazione è indipendente dalle altre, e quindi
ogni occorrenza dell’evento è indipendente dalle altre, inoltre dai dati osservarti la frequenza delle
occorrenze dell’evento sembra piuttosto regolare Quindi è lecito supporre, che l’occorrenza di questo
evento segua una distribuzione di Poisson. Per calcolare i valori delle probabilità pi bisogna utilizzare la
formula di Poisson:
pn =
λn
n!
e −λ
da cui:
p0 =
0.4 0 −0.4
e
= 0.6703
0!
p1 =
0 . 4 1 − 0 .4
e
= 0.2681
1!
p2 =
0.4 2 −0.4
e
= 0.0536
2!
p 3 = 1 − ( p 0 + p1 + p 2 ) = 0.0080
Chiaramente nel nostro caso sebbene l’indice parte da zero (p0, p1, p2, p3), queste probabilità vanno lette
come (p1, p2, p3, p4) perché l’indice della sommatoria del calcolo della statistica del test V parte da 1:
Modelli e Metodi per la Simulazione
V=
3
∑
i =1
(Ri − Npi )2 (52 − 60.33)2 (32 − 24.13)2 (6 − 5.54)2
=
+
+
Np i
60.33
24.13
5.54
27
= 3.76
Le ultime due probabilità sono state accorpate, poiché la somma delle loro probabilità assolute è minore di
5 è quindi sono ininfluenti per il test (Np3 = 0.0536*90=4.824, Np4 = 0.0536*90=0.72) le abbiamo
sommate e considerate come un unico caso (Np3+4 = 5.54). Questa è una regola empirica per assicurarsi
che la statistica del test sia una v.a. del χ2.
Dalle tabelle del χ2 con 2 gradi di libertà ricaviamo xγ tale che:
{
}
Pr χ 2 ≥ xγ = γ = 0.05 ⇒ xγ = 5.991
Poiché V < xγ, l’ipotesi fatta è vera con un livello di fiducia pari al 95%.
Esercizio 1.16
Si ipotizza che il numero di difetti di presenti su un circuito stampato segue una legge di Poisson. Su un
campione di 60 circuiti presi a caso si misurano le seguenti frequenze di difetti:
N° difetti
0
1
2
3 o più
N° di circuiti in cui è sono presenti i difetti
32
15
9
4
Verificare mediante il test del χ2 che la frequenza degli evento segua una distribuzione di Poisson con
livello di incertezza γ = 5%
Poiché in questo caso non viene fatta nessuna ipotesi sul parametro della distribuzione utilizzimo un
valore stimato. Dalla teoria è noto che la media campionaria è corrisponde alla stima a massima
verosimiglianza del valor medio di un v.a. di Poisson, pertanto:
λˆ =
0 ⋅ 32 + 1 ⋅ 15 + 2 ⋅ 9 + 3 ⋅ 4
= 0.75
60
da cui:
28
Esercizi e Complementi
p0 =
0.75 0 −0.75
e
= 0.4724
0!
p1 =
0.751 −0.75
e
= 0.3543
1!
p2 =
0.75 2 −0.75
e
= 0.1329
2!
p 3 = 1 − ( p 0 + p1 + p 2 ) = 0.0404
Anche in questo caso conviene accorpare le ultime due probabilità. Questo si poteva anche vedere , dalla
tabella iniziale, infatti perché il test sia significativo, in ogni intervallo i-esimo, in cui si divide il campione
dati è bene che cadano al meno 10 valori. Unendo le ultime due colonne otteniamo : 9+4 =13
V=
3
∑
i =1
(Ri − Npi )2 (32 − 28.34)2 (15 − 21.26)2 (13 − 10.39)2
=
+
+
Np i
28.34
21.26
10.39
= 2.97
Poiché il valor medio della variabile di Poisson è stato stimato dal campione, non bisogna utilizzare la
distribuzione del χ2 con 2 gradi di libertà ( come si dovrebbe perché la statistica del test è stata calcolato
con s = 3), ma quella con un grado di libertà, perché bisogna anche considerare l’incertezza della stima
effettuata, quindi diminuire i gradi di libertà del numero di parametri stimati dal campione dati (in questo
caso solo il valor medio), pertanto ricaviamo xγ tale che
{
}
Pr χ 2 ≥ xγ = γ = 0.05 ⇒ xγ = 3.841
Poiché V < xγ, l’ipotesi fatta è vera con un livello di fiducia pari al 95%.
Modelli e Metodi per la Simulazione
29
Esercizio 1.17
Osservando gli arrivi in un centro di servizio, si registrano i seguenti valori:
0.87
2.57
3.23
3.94
0.06
0.95
2.48
1.43
1.63
15.80
1.50
1.36
3.43
0.25
1.04
5.53
0.54
1.41
2.68
0.80
3.86
2.23
2.00
1.88
2.73
0.17
0.01
0.55
3.48
0.77
che rappresentano i tempi di inter-arrivo delle richieste di servizio al sistema. Verificare mediante il test
del χ2 che la distribuzione dei tempi di inter-arrivo segua una legge esponenziale negativa.
Nell’analisi dei sistemi a coda, questo tipo di verifica è necessaria per poter decidere di adottare un
modello markoviano per descrive il sistema. Poiché abbiamo soltanto un campione dati X osservato senza
nessuna ipotesi calcoliamo la media e varianza campionaria:
X=
S=
1
N
N
∑x
1
N
i
= 2.31
i =1
N
∑ (x
i
− X ) 2 = 2.88
i =1
Se i tempi di inter-arrivo fossero esponenziali, ogni arrivo è indipendente dal precedente, è si può
ipotizzare che gli arrivi sono uniformemente distribuiti all’interno dell’intervallo di osservazione. Questo
significa che se suddividiamo la sequenza complessiva di 30 valori in s = 6 intervalli, in ogni intervallo
devono cadere 5 valori della sequenza. Se suddividiamo l’intervallo [0,1] in 6 parti otteniamo i seguenti
sottointervalli con i rispettivi valori di soglia:
5
5
5
5
5
5
* * * * * * * ** * * * ** *
* *** *
* ** * * * * * * *
0.00
0.167
0.333
0.500
0.667
0.883
1.00
30
Esercizi e Complementi
Il problema va trasportato ad una distribuzione esponenziale, quindi dobbiamo traslare i valori di soglia
secondo la formula:
E ( x ) = −2.31 ln[1 − U ( x )]
E contare in ogni intervallo quanti valori cadono:
4
5
6
5
* ** * ** ** * * * * * * * * *
0.00 0.421 0.935
1.599
* * *
2
8
* * ** * ** * *
2.534
4.133
*
15.95
chiaramente per effetto della trasformazione di variabile gli intervalli non sono della stessa lunghezza, ma
in ogni caso dovrebbero cadere 5 valori in ogni intervallo (ipotesi di uniformità). Poiché si osservano dei
valori diversi in ogni intervallo, effettuiamo il test del χ2 con un livello d’incertezza del 5% per verificare
l’ipotesi:
N=
6
∑R
i
= 30 ⇒ Np i = 5
i =1
V=
6
∑
i =1
(Ri − Npi )2 (4 − 5)2 (5 − 5)2 (6 − 5)2 (5 − 5)2 (8 − 5)2 (2 − 5)2
=
+
+
+
+
+
Np i
5
5
5
5
5
5
=4
Poiché abbiamo utilizzato, un valore stimato del valor medio della distribuzione esponenziale, bisogna
utilizzare la tavola del χ2 con 4 gradi di libertà:
{
}
Pr χ 2 ≥ xγ = γ = 0.05 ⇒ xγ = 9.488
Poiché V < xγ, l’ipotesi fatta è vera con un livello di fiducia pari al 95%.
NUMERI PSEUDO-CASUALI
GENERATORI DI SEQUENZE PSEUDO-CASUALI
Un generatore congruente lineare, ha la seguente espressione
X n+1 = (aX n + c)
mod m
Il parametro a è detto moltiplicatore mentre c incremento, m è il valore rispetto al quale si esegue
l’operazione di modulo. In particolare se c = 0, il generatore viene detto moltiplicativo. Il termine iniziale
dell’algoritmo X0 è detto seme ed è un numero intero. Per ottenere dalla sequenza numerica Xn una
sequenza di valori distribuita tra [0,1] è sufficiente la seguente operazione
Un =
Xn
m
La sequenza ottenuta è periodica al più di periodo m, in particolare si dice che ha periodo pieno se il suo
periodo è proprio m, e ciò si verifica quando sono verificate le seguenti condizioni:
‰ Se m e c sono primi tra loro;
‰ Se m è divisibile per un numero primo b, per il quale deve essere divisibile anche a – 1;
‰ Se m è divisibile per 4, allora anche a – 1 deve essere divisibile per 4.
Oltre a queste verifiche è necessario anche verificare l’uniformità della sequenza mediante l’istogramma
(analisi qualitativa) e mediante il test del χ2 (analisi quantitativa).
Dopo aver ottenuto una sequenza pseudo-casuale è possibile ottenere altre distribuzioni mediante le
trasformazioni di variabili aleatorie, o mediante il metodo della reiezione-accettazione.
Appare evidente che maggiore è il periodo della sequenza ottenuta, e maggiori sono le probabilità di aver
ottenuto un buon generatore. Poiché per ottenere un periodo molto elevato bisogna utilizzare valori di m
molto elevati, almeno m ≥ 235, e di conseguenza anche valori di a molto grandi, questo significa che
bisogna avere elaboratori elettronici con notevoli capacità di calcolo. Bisogna anche considerare lo scopo
per cui si svolge la simulazione, infatti se non sono necessarie sequenze molto numerose si possono
utilizzare anche generatori con valori più bassi.
32
Esercizi e Complementi
Esercizio 2.1
Dato il seguente generatore congruente lineare (LCG), calcolare la sequenza pseudo-randomica generata
e verificare l’uniformità,mediante la tecnica dell’istogramma. LCG = (a = 3, X0 = 3, m = 7).
Calcoliamo la sequenza Xn:
X1 = 3X 0
mod(7) = 2
X 2 = 3X1
mod(7) = 6
X 3 = 3X 2
mod(7) = 4
X 4 = 3X 3
mod(7) = 5
X 5 = 3X 4
mod(7) = 1
X 6 = 3X 5
mod(7) = 3
X 7 = 3X 6
mod(7) = 2
Un =
Xn
= [0.285 0.857 0.571 0.142 0.428 0.428 0.285]
7
suddividiamo l’intervallo [0,1] in 6 intervalli e contiamo quanti valori cadono in ogni singolo intervallo:
I= [0, 0.167, 0.333, 0.500, 0.667, 0.833, 1]
R = [2, 2, 1, 1, 0, 1]
2
1.8
1.6
1.4
1.2
1
0.8
0.6
0.4
0.2
0
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
Modelli e Metodi per la Simulazione
33
Esercizio 2.2
Ripetere l’esercizio precedente con m = 14
Calcoliamo la sequenza Xn:
X 1 = 3X 0
mod(14) = 9
X 8 = 3X 7
mod(14) = 13
X 2 = 3X 1
mod(14) = 13
X 9 = 3X 8
mod(14) = 11
X 3 = 3X 2
mod(14) = 11
X 10 = 3 X 9
mod(14) = 5
X 4 = 3X 3
mod(14) = 5
X 11 = 3 X 10
mod(14) = 1
X 5 = 3X 4
mod(14) = 1
X 12 = 3 X 11
mod(14) = 3
X 6 = 3X 5
mod(14) = 3
X 13 = 3 X 12
mod(14) = 9
X 7 = 3X 6
mod(14) = 9
X 13 = 3 X 14
mod(14) = 13
Un = [0.6429, 0.9286, 0.7857, 0.3571, 0.0714, 0.2143, 0.6429, 0.9286, 0.7857, 0.3571, 0.0714,
0.2143, 0.6429, 0.9286]
R = [4, 2, 0, 3, 2, 3]
4
3.5
3
2.5
2
1.5
1
0.5
0
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Il risultato non è molto incoraggiante, quindi la scelta di aumentare il periodo non basta per migliorare, il
generatore, infatti abbiamo ottenuto una sequenza con un periodo molto basso, infatti il numero primo per
cui è divisibile m è 7, mentre a-1 non è divisibile per 7.
34
Esercizi e Complementi
Esercizio 2.3
Dato il seguente generatore congruente lineare (LCG: a = 17, c = 43, X0 = 27, m = 100), verificare al
calcolatore, l’uniformità mediante la tecnica dell’istogramma e il test del χ2 con un livello di incertezza
del 5%
Prima di generare la sequenza al calcolatore bisogna fare alcune verifiche preliminari sui parametri del
LCG:
‰ Se m e c sono non hanno divisori comuni, sebbene m non sia un numero primo;
‰ Sia m = 100 che a – 1 = 16 sono divisibili per 2 (numero primo)
‰ Sia m = 100 che a – 1 = 16 sono divisibili per 4
Quindi possiamo concludere che la sequenza generata avrà periodo pieno. Di seguito riportiamo i primi 3
(la sequenza completa ha lunghezza N = 100):
X n+1 = (aX n + c)
mod m
X1
= 0.02
m
X 1 = 17 X 0 + 43
mod(100) = 2 ⇒ U 1 =
X 2 = 17 X 1 + 43
mod(100) = 77 ⇒ U 2 =
X2
= 0.77
m
X 3 = 17 X 2 + 43
mod(100) = 53 ⇒ U 3 =
X3
= 0.52
m
Per implementare il test del χ2 è possibile suddividere l’intervallo [0,1] in s = 10 parti, per ognuna di
queste parti pi = 0.1:
N=
10
∑R
i
= 100 ⇒ Np i = 10
i =1
Il vettore delle variabili Ri = [25, 0, 0, 25, 0, 0, 25, 0,0, 25]
Poiché ci sono geli intervalli in cui non cadono valori, effettuiamo l’aggregazione, calcolando il test su 4
con 25 valori:
Modelli e Metodi per la Simulazione
V=
4
∑
i =1
(Ri − Npi )2 (25 − 25)2 (25 − 25)2 (25 − 25)2 (25 − 25)2
=
+
+
+
Npi
25
25
25
25
35
=0
Mediante la tavola del χ2 con 3 gradi di libertà:
{
}
Pr χ 2 ≥ xγ = γ = 0.05 ⇒ xγ = 7.185
Poiché V < xγ, l’ipotesi fatta è vera con un livello di fiducia pari al 95%. Bisogna in questo caso fare
attenzione perché il test del χ2 condotto in questo modo è falsato. Infatti osservando il vettore Ri è
possibile notare che ci sono degli intervalli in cui sono concentrati molti valori, ed altri vuoti, questo basta
per concludere che la sequenza generata non può essere utilizzata come sequenza pseudocasuale in una
simulazione perché il generatore LCG scelto non è affidabile:
25
20
15
10
5
0
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
Istogramma della sequenza casuale di 100 con s =10
Questo esercizio mette in risalto un forte limite del test del χ2 , quando viene utilizzato per verificare il
comportamento di un generatore LCG per questo motivo, la verifica si accompagna molto spesso con
l’istogramma e ad altri tipi di verifiche più significative che saranno illustrate nelle pagine seguenti.
36
Esercizi e Complementi
Esercizio 2.4
Data la seguente sequenza di numeri pseudocasuali Un = [0.44, 0.81, 0.14, 0.05, 0.93] verificare
l’uniformità mediante il test di Kolmogorov-Smirnov con un livello di incertezza pari al 5%
Il campione dati disponibile è molto piccolo ( N = 5), quindi il test del χ2 non può essere condotto in
maniera significativa. In questo caso si preferisce il test KS:
La prima operazione da compiere è ordinare i valori del campione osservato:
F 0 (0.05) = 0.20, F 0 (0.14) = 0.40 F 0 (0.44) = 0.60 F 0 (0.81) = 0.80 F 0 (0.93) = 1
E’ opportuno ricordare che una variabile aleatoria che segue una legge di distribuzione uniforme
nell’intervallo [0,1] è descritta dalle seguenti curve:
F(x)
f(x)
X
X
1
1
0
1
x
0
Densità di
Probabilità
1
x
Distribuzione di
Probabilità
Per implementare il test KS bisogna utilizzare la curva Distribuzione di Probabilità (la curva di destra):
F 0 ( X (i ) )
FX ( X (i ) )
F 0 ( X ( i ) ) − FX ( X ( i ) )
0.20
0.05
0.15
0.40
0.14
0.26
0.60
0.44
0..16
0.80
0.81
0.01
1.00
0.93
0.07
Il punto di massima distanza dalla curva ipotizzata è il 2° della tabella quindi X(2) = 0.14, per cui la
statistica del test è D = 0.26. Se poniamo un livello di incertezza pari a γ = 0.05, le tabelle (K – S) curva
Modelli e Metodi per la Simulazione
37
forniscono per N = 5, un valore dγ = 0.56, poiché la statistica del test D è minore di questo valore, l’ipotesi
fatta (sequenza osservata uniforme) può essere accettata.
Tes t di K olm ogorov-S m irnov
1
0.9
0.8
Curva os servata ->
0.7
< - Curva teoric a
F(x )
0.6
0.5
0.4
0.3
0.2
0.1
0
0
0.1
0.2
0.3
0.4
0.5
x
0.6
0.7
0.8
0.9
1
Interpretazione grafica del test di Kolmogorov-Smirnov
Complemento 2.1
Il test di Kolmogorov-Smirnov, a differenza del test del χ2, analizza la forma della legge di distribuzione,
pertanto è più potente nel caso di campioni con pochi valori. Il test del χ2 è più idoneo ad analizzare la
densità dei punti all’interno degli intervalli in cui suddividiamo l’intervallo di definizione della variabile, e
molto spesso è necessario accompagnare questo test mediante un’analisi fatta con l’istogramma. Quando
la sequenza pseudocasuale è molto numerosa il test KS diventa molto laborioso ma con l’attuale
disponibilità di calcolatori elettronici, è possibile implementare entrambi i test al calcolatore, pertanto
quando si genera una sequenza pseudocasuale uniforme, è consigliabile effettuare tutte le verifiche prima
di accettare il generatore ed utilizzarlo per una simulazione.
38
Esercizi e Complementi
Complemento 2.2
La verifica dell’uniformità della sequenza pseudocasuale non è l’unica verifica da effettuare, per accettare
un LCG. Una verifica molto importante e necessaria è quella della correlazione tra i valori della sequenza.
Questo tipo di verifica è molto più complessa, ma è necessaria perché un generatore LCG che supera i test
di uniformità non può essere utilizzato se i valori della sequenza non sono incorrelati. Questa condizione
non si può ottenere e quindi è sufficiente che la correlazione sia molto bassa. Un test molto potente che
viene condotto per verificare la bontà dei generatori LCG è il test spettrale, che sfrutta una particolare
proprietà dei generatori LCG. Questi generatori presentano una struttura a reticolo, se ad esempio
suddividiamo la sequenza in triple, ed analizziamo la disposizione dei valori in uno spazio tridimensionale
osserviamo una figura del tipo:
Generatore moltiplicativo IBM RANDU( LCG: a = 65539, c = 0, X0 = 1, m = 231), 1968
Il generatore LCG in figura è noto come RANDU, ed è stato implementato dalla IBM sui propri sistemi
nel 1968.
Come si vede dalla figura, i valori della sequenza si dispongono su dei piani ( questa è una diretta
conseguenza della struttura a reticolo dei generatori congruenti lineari). Se i piani non sono equidistanti,
significa che vi sono delle zone dell’intervallo [0,1] a maggiore densità di valori, e soprattutto che c’è una
elevato correlazione tra i valori della sequenza. Pensiamo ad esempio ad un generatore che simuli il lancio
del dado, se prendiamo i risultati a valori singoli è auspicabile che ogni valore abbia una percentuale pari
ad 1/6, mentre se prendiamo i valori della sequenza a coppie desideriamo che ogni coppia abbia una
percentuale pari a 1/36 e cosi via. Da questa considerazione nasce l’idea di verificare la correlazione e
l’uniformità della sequenza mediante la distanza tra i piani di cui è formato il reticolo. Se l’analisi è
condotta su due dimensioni i piani si riducono a delle rette, mentre se l’analisi viene condotta per
dimensioni k > 3, i piani diventano degli iperpiani non più rappresentabili graficamente, ma in ogni caso la
Modelli e Metodi per la Simulazione
39
distanza è calcolabile. Il test spettrale, consiste nel calcolare per ogni dimensione k > 1, la distanza
minima tra i paini e di effettuare una normalizzazione tale che si ottiene una variabile 0<S<1. Se S è molto
vicino ad 1, la correlazione è abbastanza bassa perché gli iperpiani sono quasi equidistanti, se invece S è
molto vicino a zero allora ci degli iperpiani molto vicini tra loro e quindi la sequenza generata ha una
elevata correlazione. Un risultato molto interessante del test spettrale, è che S non ha lo stesso valore per
tutte le dimensioni. Di seguito si riportano alcuni esempi di LCG molto comuni ed i rispettivi test spettrali.
LCG: a = 477211307, c = 0, X0 = 1, m = 232
Il test spettrale è stato condotto fino ad 8 dimensioni (k = 8) con il seguente risultato:
k
2
3
4
5
6
7
8
S
0.6581
0.0095
0.0500
0.1367
0.2608
0.4103
0.5660
Questo generatore analizzato in 2 dimensioni sembra buono, ma poi presenta un’elevata correlazione già
per valori della sequenza distanti più di due valori (k > 3). Graficamente:
Sui generatori LCG vengono fatte numerose prove ed poiché questi generatori dipendono molto
dai loro parametri tanto che un piccolo cambiamento di uno di essi può provocare la totale
modifica della sequenza generata il parametri (a, c, X0, m) vengono nella pratica determinati in
maniera esaustiva ripetendo per ogni scelta, il test spettrale ed i test di uniformità.
40
Esercizi e Complementi
Unix ANSI-C : LCG: a = 1103515245, c = 12345, X0 = 12345, m = 231
Il test spettrale è stato condotto fino ad 8 dimensioni (k = 8) con il seguente risultato:
k
2
3
4
5
6
7
8
S
0.84
0.52
0.63
0.49
0.68
0.43
0.54
BCSLIB: LCG: a = 515, c = 0, X0 = 1, m = 235
Implementato nel linguaggio SIMULA :
k
2
3
4
5
6
7
8
S
0.5809
0.4145
0.8004
0.6401
0.6951
0.6379
0.7473
Modelli e Metodi per la Simulazione
APPLE: LCG: a = 513, c = 0, X0 = 1, m = 235
Implementato da Apple Computers :
k
2
3
4
5
6
7
8
S
0.4746
0.3715
0.6376
0.6124
0.7416
0.6781
0.7473
Fishman-Moore: LCG: a = 742938285, c = 0, X0 = 1, m = 231-1
Implementato da Apple Computers :
k
2
3
4
5
6
7
8
S
0.8672
0.8607
0.8627
0.8319
0.8340
0.6239
0.7067
41
42
Esercizi e Complementi
Complemento 2.3
Un’altra importante classe di generatori di sequenze pseudocasuale è costituita dai generatori congruenti
inversi denominati ICG (proposti da Euchenauer e Lehr nel 1986), la cui formula è:
X n +1 = (a
1
+ c)
Xn
Un =
mod m
Xn
m
Questa classe di generatori è molto meno sensibile alla variazione dei parametri rispetto ai generatori
LCG. Purtroppo non avendo una struttura regolare non è possibile implementare il test spettrale, possiamo
in ogni caso analizzare una figura bidimensionale che ci dà una misura della correlazione, prendendo i
punti a coppia e disponendoli su di un piano. Questa operazione è analoga a quella vista in precedenza per
i generatori LCG, per i quali è stato possibile misurare la correlazione grazie alla struttura a reticolo ( che
in un piano ha come effetto di disporre le coppie di valori su delle rette parallele), per un generatore ICG
si ottiene una figura del tipo:
Oltre ai classici test illustrati, esistono molti altri tipi di test empirici che si effettuano sui generatori di
sequenze pseudocasuali per verificarne le prestazioni: come ad esempio verificare che un generatore
uniforme simuli correttamente delle variabili aleatorie indipendenti ed identicamente distribuite in [0,1]
Modelli e Metodi per la Simulazione
43
SEQUENZE PSEUDO-CASUALI NON UNIFORMI
La generazione di sequenze pseudocasuale uniformi in[0,1], è soltanto il primo passo della generazione di
numeri casuali. Infatti una volta ottenuta una sequenza che simuli in maniera accettabile una v.a. uniforme
in [0,1] bisogna determinare delle sequenze che rappresentino bene anche altre variabili aleatorie. Esistono
diverse tecniche per ottenere variabili aleatorie con densità di probabilità nota da una sequenza numerica
pseudocasuale. Negli esercizi proposti di seguito saranno illustrati alcuni esempi.
Esercizio 2.5
Data una sequenza di numeri pseudocasuali Un in [0,1], determinare una sequenza di numeri
pseudocasuale che segua una distribuzione uniforme in [b,b+a]
Consideriamo la seguente variabile Y
Y = aU + b
la funzione inversa è :
U = g −1 (Y ) =
Y −b
a
Quindi la distribuzione della v.a. uniforme in [a,b]:
⎧0
⎪⎪ y
FY ( y ) = ⎨
⎪a
⎪⎩ 1
−∞< y<b
b< y<b+a
y>b
44
Esercizi e Complementi
Esercizio 2.6
Data una sequenza di numeri pseudocasuali Un in [0,1], determinare una sequenza di numeri
pseudocasuale che segua una distribuzione esponenziale negativa
Indichiamo con E la v.a. esponenziale, e riflettiamo sulla seguente legge di corrispondenza:
E = − ln(1 − U )
la funzione inversa è :
U = g −1 ( E ) = 1 − e − E
Quindi la distribuzione della v.a. esponenziale:
FE ( y ) = 1 − e − y y ≥ 0
Sebbene siamo ceri di aver utilizzano un generatore molto affidabile per generare la sequenza
pseudocasuale Un conviene sempre effettuare dei test di verifica, come il test del χ2 oppure il test di
Kolmogorov-Smirnov per verificare che la v.a. generata segua la curva desiderata, molto semplice è
sufficiente una verifica mediante istogramma:
600
500
400
300
200
100
0
0
1
2
3
4
5
6
7
8
Modelli e Metodi per la Simulazione
45
Esercizio 2.7
Data una sequenza di numeri pseudocasuali Un in [0,1], determinare una sequenza di numeri
pseudocasuale che segua una distribuzione di Weibull con parametri (β,δ )
Questo esercizio è molto simile al precedente. La funzione densità di probabilità della v.a. di
Weibull è:
f X ( x) = e
β
⎛x⎞
−⎜ ⎟
⎝δ ⎠
β
δ
⎛x⎞
⎜ ⎟
⎝δ ⎠
β −1
La funzione distribuzione di probabilità vale:
FX ( x) = 1 − e
β
⎛x⎞
−⎜ ⎟
⎝δ ⎠
ponendo
U = g −1 ( X ) ⇒ X = δ [− ln(1 − U )] β
1
Confrontiamo l’istogramma con parametri (δ = 1, β = 2) con la curva reale (δ = 1, β = 2) per un’analisi
qualitativa, ma è possibile anche effettuare analisi più consistenti mediante il test del χ2 oppure il test di
Kolmogorov-Smirnov:
Densità di probabilità della v.a. di W eibull
250
1.8
1.6
200
1.4
b=0.8
1.2
150
f(x )
1
0.8
100
0.6
b=2
b=1
0.4
50
0.2
0
0
0
0.5
1
1.5
2
2.5
3
0
0.5
1
1.5
2
x
2.5
3
3.5
4
46
Esercizi e Complementi
Complemento 2.4
Con il metodo della trasformazione di variabili aleatorie è possibile anche generare variabili aleatorie
gaussiane. Osservando la probabilità congiunta di due v.a. gaussiane indipendenti X e Y si ha:
⎛ x2 + y 2
⎜
2
1 −⎜⎝
f XY ( x, y ) = f X ( x) f Y ( y ) =
e
2π
⎞
⎟
⎟
⎠
Consideriamo la seguente trasformazione in coordinate polari:
R = X 2 +Y2
⎛Y ⎞
Θ = arctan g ⎜ ⎟
⎝X⎠
Le variabili X e Y si ottengono dalle variabili R e Θ mediante la seguente trasformazione inversa:
X = R cos Θ
Y = R sin Θ
La densità di probabilità congiunta di R e Θ è:
r
f RΘ (r , θ ) =
e
2π
⎛ r2
−⎜
⎜ 2
⎝
⎞
⎟
⎟
⎠
con le singole densità di probabilità marginali :
f R (r ) = re
f Θ (θ ) =
⎛ r2
−⎜
⎜ 2
⎝
1
2π
⎞
⎟
⎟
⎠
r≥0
0 ≤ θ ≤ 2π
Modelli e Metodi per la Simulazione
47
In definitiva R è una variabile aleatoria di Rayleigh mentre Θ è una variabile aleatoria uniforme in [0,2π].
Poiché siamo in grado di generare solo variabili aleatorie uniformi in [0,1] il nostro obiettivo è di
manipolare le espressioni appena calcolate per ricavare una legge di trasformazione che permetta di
ricavare le v.a. gaussiane X e Y da v.a. uniformi U in [0,1]. La densità di Rayleigh è una legge
esponenziale quindi è molto semplice verificare che dalla distribuzione di probabilità di R:
r
FR (r ) =
∫f
R ( r )dr
=1− e
⎛ r2
−⎜
⎜ 2
⎝
⎞
⎟
⎟
⎠
r≥0
0
si ricava la seguente trasformazione, che permette di esprimere una v.a. R di Rayleigh in funzione di una
v.a. uniforme in [0,1] :
R = − 2 ln (1 − U )
la variabile Θ è uniforme in [0,2π], e nell’esercizio 2.5 abbiamo visto come si operano le trasformazioni di
v.a. uniformi, quindi definite due v.a. uniformi in [0,1] U1 e U2 la trasformazione che consente di ottenere
due v.a. gaussiane indipendenti X e Y è:
X = − 2 ln (1 − U 1 ) cos(2πU 2 )
Y = − 2 ln (1 − U 1 ) sin (2πU 2 )
48
Esercizi e Complementi
SEQUENZE PSEUDO-CASUALI DISCRETE
La generazione di variabili aleatorie discrete è molto semplice, basta ricordare la definizione di una v.a. di
Bernoulli. Questa v.a. può assumere solo due valori 0 ed 1, rispettivamente con probabilità (1 – p)
e p. L’idea è quella di determinare una regola che ci aiuti a passare da una variabile continua
uniforme in [0,1] alla v.a. di Bernoulli. Se fissiamo un valore di soglia pari a p ed eseguiamo un
test definendo una variabile B tale che:
⎧0 U > p
B=⎨
⎩1 U ≤ p
Otteniamo una v.a. di Bernoulli. Allo stesso modo si procede per qualsiasi v.a. discreta come vedremo
negli esercizi che seguono.
Esercizio 2.7
Data una sequenza di numeri pseudocasuali uniforme in [0,1] U, determinare una sequenza di numeri
pseudocasuale che segua una distribuzione discreta pn = [0.5, 0.3, 0.2]
La v.a discreta definita nella traccia dell’esercizio può assumere solo tre valori [0,1,2] e rispettivamente
con probabilità p0 = 0.5, p1 = 0.3, p2 = 0.2, partendo da una v.a. uniforme si può ottenere semplicemente
con seguente test:
⎧ 0 0 < U ≤ 0.5
⎪
Bn = ⎨1 0.5 < U ≤ 0.8
⎪ 2 0.8 < U ≤ 1
⎩
Modelli e Metodi per la Simulazione
49
Esercizio 2.8
Data una sequenza di numeri pseudocasuali uniforme in [0,1] U, determinare una sequenza di numeri
pseudocasuale che segua una distribuzione binomiale con parametri p e N
La v.a Binomiale ha funzione massa di probabilità:
⎛N⎞
p n = ⎜⎜ ⎟⎟ p n q ( N − n )
⎝n⎠
p + q =1
Massa di probabilità della v.a. binomiale
0.35
0.3
0.25
Pn
0.2
0.15
0.1
0.05
0
0
2
4
6
8
10
12
14
16
18
Xn
Massa di probabilità della v.a. Binomiale per N=15, p=0.8
Ed esprime la probabilità che un evento si realizzi n volte in un esperimento ripetuto N volte. Per N = 1, la
v.a. binomiale si riduce ad una v.a. di Bernoulli. Questo ci suggerisce di generare una v.a. di Bernoulli e di
ripetere l’esperimento N e contare il numero di volte che si verifica l’evento favorevole. Un possibile
algoritmo è riportato di seguito:
Binomiale (N,p)
for i=1:100
sum=0;%inizializzazione
for j=1:N
if(U < p);%generazione di una v.a. di Bernoulli
sum=sum+1;
end
end
B=sum+1;%B rappresenta una v.a. Binomiale
h(B)=h(B)+1;%compilazione dell’istogramma
end
50
Esercizi e Complementi
Esercizio 2.9
Data una sequenza di numeri pseudocasuali uniforme in [0,1] U, determinare una sequenza di numeri
pseudocasuale che segua una distribuzione geometrica con parametro p
La v.a. discreta geometrica è definita come il numero di prove k da effettuare prima che si abbia l’evento
favorevole, il quale ha probabilità p di accadere.
prove) = p(1 − p) k
Pr( successo dopo k
Massa di probabilità della v.a. geometrica
0.35
0.3
0.25
Pn
0.2
0.15
0.1
0.05
0
0
1
2
3
4
5
Xn
6
7
8
9
10
- Distribuzione geometrica (k = 10, p = 0.3)
Quindi per generare una v.a. geometrica basta semplicemente, generare una v.a. U, definire
l’evento favorevole come: U < p e contare il numero prove del test fino al primo evento
favorevole (ricordiamo che il primo campione della v.a. geometrica vale p: p0 = p).
for i=1:1000
geo= 0; %initializione
while U>p & geo+1<k
%stepping through the distribution
geo=geo+1; %geo è la v.a. geometrica
end
h(geo+1)=h(geo+1)+1; %compiliazione istogramma
end
La v.a. geometrica è definita per n = 0,1,…,∞. In realtà la sequenza viene generata per un numero
finito di valori k. Poiché la somma di tutti elementi della sequenza deve essere 1, è possibile
soprattutto negli ultimi termini (coda della distribuzione) che i valori della sequenza generata non
coincidano con quella teorica.
Modelli e Metodi per la Simulazione
51
Complemento 2.5
Alle volte per generare una v.a. discreta occorre esaminare attentamente le sue proprietà. Ad esempio la
v.a. di Poisson ha funzione massa di probabilità:
pn =
λn
n!
e −λ
Massa di probabilità della v.a. di Poisson
0.25
0.2
Pn
0.15
0.1
0.05
0
0
2
4
6
8
10
Xn
12
14
16
18
20
Massa di probabilità di una v.a. binomiale negativa con λ = 7
Partire dalla funzione massa di probabilità per generare la v.a. può essere complicato, quindi è opportuno
sfruttare alcune proprietà. Ad esempio una proprietà molto importante di cui gode una v.a. di Poisson è la
proprietà dell’uniformità degli eventi. Tutti gli eventi che si susseguono nell’intervallo di osservazione
(0,t) hanno inter-tempi esponenziali, quindi indicando con ei una successione di v.a. esponenziali con
valor medio 1/λ si ha:
n
∑
ei ≤ t <
i =1
n +1
∑e
i
i =1
il valore di n esprime il numero di eventi accaduti nell’intervallo (0,t) e quindi segue una distribuzione di
Poisson. Ricordando l’espressione che lega la v.a. esponenziale a quella uniforme, si può generare la v.a.
di Poisson direttamente da sequenze uniformi in [0,1] Ui
n +1
∏
i =1
U i < e − λt ≤
n
∏U
i =1
i
METODO MONTE CARLO
CALCOLO INTEGRALE
Il metodo Monte Carlo consiste nel ripetere numerose volte un esperimento per conteggiare il numero di
volte che si verifica un evento (un particolare risultato dell’esperimento) rispetto al numero totale di volte
che si ripete l’esperimento. In questo modo è possibile calcolare una stima della probabilità dell’evento:
Pr{ε } =
N (ε )
N tot
Dove con N(ε) abbiamo indicato il numero di volte che si verifica l’evento ε.
Questo metodo è molto usato nei problemi, ove si conosce una formulazione matematica, ma non riesce a
determinare una soluzione per via analitica. Il metodo Monte Carlo, può essere impiegato sia in problemi
di natura probabilistica, e sia in problemi di natura non aleatoria. Infatti grazie al forte impulso che ha
avuto l’informatica negli ultimi decenni, e alla possibilità di generare variabili casuali al calcolatore, negli
ultimi decenni questo metodo è stato molto impiegato per determinare soluzioni approssimati di equazioni
non risolvibili per via analitica. L’idea che è alla base, nasce dalla relazione integrale che definisce la
probabilità di un evento:
Pr{ε } = Pr{X (ε ) ≤ x} =
x
∫f
X
( x) dx
−∞
Da un esperimento definito su uno spazio campione Ω, è sempre possibile definire una variabile aleatoria
X con funzione di densità di probabilità fX(x), tale che la probabilità dell’evento ε, possa essere
determinata mediante il calcolo di un integrale definito. Questo significa calcolare la probabilità di un
evento mediante il calcolo di un’area.
1
0
1
Modelli e Metodi per la Simulazione
53
La possibilità di generare sequenze pseudo-casuali al calcolatore suggerisce di risolvere il problema
inverso, cioè conoscendo la probabilità di un determinato evento stabilire la stima dell’area a cui
corrisponde. Come si vede dalla figura, per calcolare l’area tratteggiata, è necessario risolvere un integrale
definito
x2
A=
∫ f ( x)dx
x1
che può essere molto complicato da risolvere per via analitica. Mediante il metodo Monte Carlo è
possibile generare delle sequenze pseudo-casuali, è contare quanti di questi valori cadono nell’area di
interesse, in questo modo si ottiene una stima dell’area cercata. Poiché questo procedimento è una vera e
propria simulazione utilizzata per ottenere un risultato che non è possibile ottenere per altre vie, bisogna
fare attenzione ad alcuni aspetti. In particolare considerare quelle operazioni necessarie in tutte le
simulazioni:
‰ Analisi degli Input
‰ Analisi degli Output
In questo tipo di simulazione l’input è costituito delle sequenze pseudo-casuali generate al calcolatore,
quindi occorre verificare la bontà delle sequenze affinché il risultato non sia falsato proprio da dati di
input non corretti. L’analisi degli output è necessaria per analizzare correttamente le variabili di stima per
ottenere un risultato quanto più vicino a quello reale.
Chiaramente questo procedimento può essere esteso anche agli integrali di superficie e agli integrali di
volume, in questo caso bisogna fare molta attenzione ai generatori LCG, poiché la disposizione sui piani
dei valori delle sequenze generate, potrebbe vanificare la simulazione. Infatti la struttura a reticolo dei
LCG, ha come conseguenza che delle regioni dello spazio sono più dense di punti di altre, e questo
potrebbe condurre ad una stima errata del volume d’interesse. Per questo motivo prima di utilizzare un
generatore LCG, per il calcolo dei volumi è necessario condurre il test spettrale sulla sequenza generata.
Quanto detto chiaramente può essere esteso al calcolo di ipervolumi di N dimensioni. Infine è importante
notare che le variabili di stato dei sistemi studiati nelle applicazioni scientifiche ed industriali sono sempre
esprimibili mediante relazioni integrali più o meno complesse, pertanto stimare il loro valore mediante la
simulazione ci riconduce quasi sempre al problema del calcolo di ipervolumi mediante il metodo Monte
Carlo.
54
Esercizi e Complementi
Esercizio 3.1
Determinare una stima del valore di π mediante il metodo Monte Carlo
Poiché l’area del cerchio vale A = πr2, possiamo considerare un cerchio di raggio unitario sul piano
cartesiano, o meglio il settore circolare del primo quadrante. Generando due v.a. uniformi in [0,1]: X, Y,
possiamo contare il numero di punti tali che: X2 + Y2 < 1:
π
4
1
-1
1
-1
Bisogna scegliere la lunghezza delle sequenze M, ed il numero di volte che si ripete la simulazione N. In
questo modo si ottiene una sequenza di Output A di N valori:
A = [a1 , a 2 , K a N ]
Ogni singolo valore ai è ottenuto dividendo il numero di valori che appartengono all’area, per M. Ed il
valore stimato dell’area sarà la media campionaria della sequenza A.
Effettuando la simulazione per M = 100, ed N = 10 si ottiene la seguente sequenza di Output:
A = [ 0.79, 0.78, 0.77, 0.82, 0.71, 0.79, 0.74, 0.77, 0.74, 0.78].
1
Aˆ =
N
N
∑A
i
i =1
mentre:
π
4
= 0.7854
= 0.7690
Modelli e Metodi per la Simulazione
55
Complemento 3.1
La stima ottenuta non è molto soddisfacente. Per cercare di capire il perché è necessario condurre l’analisi
degli Input delle sequenze generate, in questo caso bisogna effettuare i test per verificare l’uniformità,
quindi il test del χ2 e l’istogramma. Mentre per gli Output è necessario verificare che la sequenza di uscita
sia un campione dati gaussiano (test di Kolmogorov-Smirnov). Infatti in questo modo siamo sicuri che la
media campionaria calcolata sia la stima a massima verosimiglianza dell’area cercata. Inoltre bisogna
anche verificare che la varianza della sequenza di output sia molo piccola e che diminuisca all’aumentare
di N. Poiché per una buona simulazione occorre generare un numero elevato di punti, è necessario
implementare i test al calcolatore. Ad esempio eseguendo la simulazione dell’esercizio 3.1 si ottengono i
seguenti istogrammi per gli Input:
120
120
100
100
80
80
60
60
40
40
20
20
0
0
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Istogramma delle sequenze X e Y con M = 1000
Per quantificare l’analisi occorre eseguire il test del χ2. Poiché la simulazione viene eseguita più volte, nel
nostro caso N volte, il test del χ2 andrebbe eseguito ad ogni run della simulazione. In questo modo per
ogni sequenza di Input si ottiene un vettore di N elementi che contiene la statistica del test V. Nel caso
specifico con un livello di incertezza γ = 5%, e dividendo l’intervallo della sequenza in s = 10 intervalli,
dalle tabelle del χ2 con s-1 = 9 gradi di libertà si ottiene xγ = 16,92. Se ad ogni run della simulazione la
statistica del test è al di sotto di questo valore, le sequenze generata X e Y, possono essere utilizzate per la
simulazione, altrimenti bisogna generare altre sequenza ed annullare la simulazione. Questo modo di
procedere è molto laborioso perché si concentra sull’analisi della singola sequenza di Input. Quando la
sequenza di Input di una simulazione è ottenuta della generazione al calcolatore di numeri pseudo-casuali,
è preferibile analizzare il generatore che si utilizza mediante il test spettrale o altri tipi di test. In questo
modo si concentra l’attenzione sul generatore, ed una volta accertata la bontà del generatore, si possono
56
Esercizi e Complementi
tranquillamente utilizzare tutte le sequenze ottenuto da esso, senza verifiche puntuali che possono essere
molto dispendiose per run di simulazione molto lunghi e con numerosi campioni.
Sulla sequenza di Output che è unica si può condurre il test di Kolmogorov-Smirnov, per verificare se ha
un andamento gaussiano attorno alla media campionaria. In figura viene riportato il test eseguito durante
la simulazione del esercizio 3.1
Test di Kolmogorov-Smirnov
1
0.9
Curva osservata ->
0.8
0.7
F(x)
0.6
0.5
0.4
0.3
<- Curva teorica
0.2
0.1
0
0.75
0.76
0.77
0.78
0.79
0.8
0.81
0.82
x
Il test viene superato anche se la stima ottenuta non è molto buona. Questo significa che il
campione dati ottenuto è gaussiano, e poiché la varianza campionaria che si ottiene vale:
σˆ 2 =
1
N
N
∑(A
i
− Aˆ ) 2 = 1.72 * 10 − 4
i =1
è molto piccola, può darsi che la stima non sia molto precisa a causa del numero esiguo di
campioni utilizzati (M = 100), se ripetiamo l’esercizio 3.1 con M = 10000, e N = 100 si ottiene:
1
Aˆ =
N
π
4
N
∑A
i
= 0.7856
i =1
= 0.7854
Notiamo infine che i valori di M ed N sono il costo della simulazione in termini di impiego delle
risorse del sistema, e di durata della simulazione. La scelta di un buon generatore di sequenze
pseudo-casuali può ridurre notevolmente i costi e la durata della simulazione.
Modelli e Metodi per la Simulazione
Esercizio 3.2
Mediante la simulazione Monte Carlo stimare il valore dei seguenti integrali definiti:
1⎤
⎡
R : ⎢I = ⎥
2⎦
⎣
1
∫
I = xdx
0
⎡ π⎤
R : ⎢I = ⎥
4⎦
⎣
1
I=
dx
1+ x2
0
∫
1/ 2
I=
dx
∫
1− x2
0
1
I=
⎡ π⎤
R : ⎢I = ⎥
6⎦
⎣
R : [I = log 2]
dx
∫1+ x
0
e − 1⎤
⎡
R : ⎢I =
3 ⎥⎦
⎣
1
∫
I = e 3 dx
0
Esercizio 3.3
Mediante la simulazione Monte Carlo stimare il valore della seguente area:
y
1
⎡
π ⎞⎤
⎛
R : ⎢ A = ⎜ π − ⎟⎥
4 ⎠⎦
⎝
⎣
2
x
57
58
Esercizi e Complementi
Esercizio 3.4
Mediante la simulazione Monte Carlo stimare il valore dell’ area racchiusa dalla curva:y2 = x3(2-x)
y
2
R : [A = π ]
x
SIMULAZIONE DI SISTEMI AD EVENTI DISCRETI
MODELLI E SIMULAZIONE
Simulare il comportamento di un sistema significa stimare il valore delle variabili di stato del sistema, e di
altre grandezze che descrivono le prestazioni del sistema. I dati di ingresso di una simulazione sono detti
Input, che possono appartenere a distribuzioni empiriche, teoriche, oppure pseudo-casuali. Sicuramente
questa terza classe di Input è la più utilizzata, perché permette di caratterizzare i fenomeni aleatori al
calcolatore. Le stime dei parametri del sistema vengono ottenute dai dati di uscita della simulazione
denominati Output. Per condurre correttamente una simulazione è molto importante la scelta del modello
che descrive il sistema. Negli esercizi che seguono analizzeremo in dettaglio alcuni modelli elementari
come i sistemi a coda M/M/1, che rappresentano il mattone elementare di molti sistemi complessi. La
grandezza specifica che si analizza di un sistema a coda M/M/1 è il tempo medio di coda in funzione del
carico di lavoro del sistema, ma è possibile anche stimare grandezze diverse come il numero medio di
utenti nel sistema, oppure il coefficiente di utilizzazione del servente. Questo indice in simulazioni più
complesse permette di stimare l’utilizzazione delle risorse durante l’impiego di un sistema. I sistemi a
coda appartengono alla famiglia dei sistemi ad eventi discreti, pertanto viene utilizzata questo tipo di
simulazione per stimarne i parametri. La simulazione ad eventi discreti può essere condotta con due
tecniche differenti: modalità sincrona, comunemente detta time driven simulation, e la modalità asincrona
comunemente detta event driven simulation. La scelta della tecnica appropriata dipende dalle
caratteristiche del sistema, per i sistemi a coda si predilige la simulazione asincrona (event driven).
60
Esercizi e Complementi
Esercizio 4.1
Nella seguente tabella sono riportati i tempi di arrivo e di servizio espressi in minuti di un sistema a coda
M/M/1. Effettuare una simulazione ad eventi discreti (con tempo simulato pari a 20 minuti) del sistema a
coda M/M/1 e stimare il tempo medio di coda, il numero medio di utenti nel sistema, ed il coefficiente di
utilizzazione del servente
Arrivi
1
4
2
1
8
2
4
3
Servizio
2
5
4
1
3
2
1
3
A scopo didattico viene condotta in maniera manuale la simulazione. In ogni caso il lettore può
implementare una simulazione al calcolatore per confrontarla con i risultati ottenuti in questo esercizio. La
prima operazione da compiere è la verifica del modello. Nel testo dell’esercizio viene suggerito di
effettuare una simulazione a eventi discreti di un sistema M/M/1. Affinché il modello sia valido bisogna
verificare che i tempi di inter-arrivo seguano una distribuzione esponenziale, e che i tempi di servizio
seguano una distribuzione esponenziale. In questo particolare esercizio ci viene fornita una sequenza di
dati di ingresso derivata direttamente dall’osservazione di un sistema reale, pertanto siamo in presenza di
una distribuzione empirica di Input. In particolare abbiamo due sequenze di Input XA = tempi di arrivo, XS
= tempi di servizio. Dato il numero esiguo di campioni ( N = 8) si suggerisce di condurre il test di
Kolmogorov-Smirnov (livello di incertezza γ = 5%) per verificare che le due sequenze siano esponenziali.
Senza riportare i dettagli del test più volte illustrati, verifichiamo che per la prima sequenza XA la statistica
del test vale D = 0.1530, dalla tabella non è possibile risalire direttamente al valore di dγ per N = 8, quindi
bisogna procedere per interpolazione, dalla tabella abbiamo in fatti i valori di dγ per N = 5, e N = 10,
quindi sicuramente si avrà : 0.56 ≤ dγ ≤ 0.41, quindi possiamo accettare l’ipotesi che la sequenza di Input
XA segua una distribuzione esponenziale. Analogamente si procede per la sequenza XS ottenendo la
statistica del test pari D = 0.1980. Seguendo le stesse osservazioni fatte in precedenza possiamo accettare
l’ipotesi che la sequenza di Input XS segua una distribuzione esponenziale. A questo punto è possibile
procedere con la simulazione, che viene condotta ad eventi discreti in modalità asincrona (event driven
simulation) pertanto è necessario definire la lista degli eventi, che nel caso specifico è costituita soltanto
da due tipi di eventi: arrivi e partenze. Indichiamo il tempo simulato con TSIM. Questo valore temporale
viene aggiornato ad ogni esecuzione del ciclo principale della simulazione (main control loop). La
simulazione si arresta dopo che si è verificato l’ultimo evento. Per calcolare i parametri del sistema
costruiamo una tabella che riporta per ogni arrivo ed ogni partenza riportata i rispettivi tempi di arrivo di
partenza è di coda:
Modelli e Metodi per la Simulazione
Arrivi
Partenze
1
TAR
TPA
TCODA (D)
1
61
TSIM
1
Il primo evento è sicuramente un arrivo, perché il sistema è vuoto. Il primo utente del sistema viene
accolto subito nel centro di servizio. Per definire il secondo evento bisogna verificare la differenza tra il
tempo di servizio del primo utente (2 min) ed il tempo di arrivo del secondo utente (4 min). Pertanto
l’evento successivo è una partenza:
Arrivi
Partenze
1
TAR
TPA
TCODA (D)
1
1
TSIM
1
2
2
3
A questo punto il tempo simulato vale TSIM = 3 min, e si ripete il ciclo principale della simulazione
aggiornando la lista degli eventi. Poiché il sistema è nuovamente vuoto, il prossimo evento sarà
sicuramente un arrivo:
Arrivi
Partenze
1
TAR
TPA
TCODA (D)
1
1
2
TSIM
1
2
2
5
3
5
Anche questo utente viene subito accolto nel centro di servizio. Dalla sequenza di Input XS si vede che il
tempo di servizio del secondo utente è di 5 min, pertanto uscirà dal sistema quando il tempo simulato sarà
pari a TSIM = 10 min. Chiaramente questa riflessione non è necessaria perché confrontando ad ogni ciclo
tempi di arrivo e tempi di servizio si ottiene lo stesso risultato:
Arrivi
Partenze
1
TAR
TPA
TCODA (D)
1
1
TSIM
1
2
2
3
2
5
5
3
7
7
4
8
8
62
Esercizi e Complementi
Confrontando il tempo di inter-arrivo del 5° utente (8 min) e il tempo di servizio del secondo utente (5
min) si evince che l’evento successivo è una partenza:
Arrivi
Partenze
1
TAR
TPA
TCODA (D)
1
1
TSIM
1
2
2
3
2
5
5
3
7
7
4
8
8
2
10
5
10
TPA
TCODA (D)
TSIM
Il prossimo evento è ancora una partenza:
Arrivi
Partenze
1
TAR
1
1
1
2
2
3
2
5
5
3
7
7
4
8
8
2
10
5
10
3
14
7
14
Il terzo utente è entrato nel sistema quando il tempo simulato aveva valore TSIM = 7 min, ma entra nel
centro di servizio quando esce dal sistema il secondo utente (TSIM = 10 min). Poiché il tempo di servizio
del terzo utente è pari a 4 min, il suo temo complessivo di coda è D = 7 min.
Modelli e Metodi per la Simulazione
A questo punto entra nel centro di servizio il quarto utente, che ha tempo di servizio pari a 1 min:
Arrivi
Partenze
1
TAR
TPA
TCODA (D)
1
1
TSIM
1
2
2
3
2
5
5
3
7
7
4
8
8
2
10
5
10
3
14
7
14
4
15
7
15
TPA
TCODA (D)
TSIM
Il sistema è vuoto, quindi l’evento successivo è un arrivo:
Arrivi
Partenze
1
TAR
1
1
1
2
2
3
2
5
5
3
7
7
4
8
8
5
2
10
5
10
3
14
7
14
4
15
7
15
16
16
63
64
Esercizi e Complementi
Il prossimo evento è ancora un arrivo:
Arrivi
Partenze
1
TAR
TPA
TCODA (D)
1
1
TSIM
1
2
2
3
2
5
5
3
7
7
4
8
8
2
10
5
10
3
14
7
14
4
15
7
15
5
16
16
6
18
18
Seguito da una partenza:
Arrivi
Partenze
1
TAR
TPA
TCODA (D)
1
1
TSIM
1
2
2
3
2
5
5
3
7
7
4
8
8
2
10
5
10
3
14
7
14
4
15
7
15
5
16
16
6
18
18
5
Il prossimo evento è la partenza del sesto utente
19
3
19
Modelli e Metodi per la Simulazione
Arrivi
Partenze
1
TAR
TPA
TCODA (D)
1
1
TSIM
1
2
2
3
2
5
5
3
7
7
4
8
8
2
10
5
10
3
14
7
14
4
15
7
15
5
16
16
6
18
18
5
19
3
19
6
21
3
21
TCODA (D)
TSIM
A questo punto è facile verificare la tabella riepilogativa della simulazione:
Arrivi
Partenze
1
TAR
TPA
1
1
1
2
2
3
2
5
5
3
7
7
4
8
8
2
10
5
10
3
14
7
14
4
15
7
15
5
16
16
6
18
18
5
19
3
19
6
21
3
21
7
22
7
8
22
23
1
26
8
23
26
29
3
29
65
66
Esercizi e Complementi
La sequenza di Output della simulazione è il vettore D = [2, 5, 7, 7, 3, 3, 1, 3]. Poiché viene richiesta
l’analisi per un tempo simulato pari a 20 min la simulazione poteva essere arrestata 1 dopo la partenza del 5
utente ( TSIM = 19 min). Quindi ci limitiamo a stimare il tempo medio di coda sulla sequenza troncata di 5
elementi D* = [2, 5, 7, 7, 3]. Poiché nei sistemi M/M/1 il tempo di coda è una v.a. esponenziale, la stima
del suo valor medio può essere ottenuta mediante la media campionaria:
2+5+7+7+3
Dˆ =
= 4.8
5
Mentre per calcolare il coefficiente di utilizzazione del servente ρ verifichiamo per quanto tempo è stato
impiegato il servente rispetto al tempo totale di osservazione (20 min). Nel grafico riportato di sotto
vengono riportati i due stati in cui può trovarsi il servente (S0 = non attivo, S1 = attivo)
S1
S0
1
2
3
4
5
6
7
8
9
10 11 12 13 14 15 16 17 18 19 20 t
Dall’area tratteggiata si risale al tempo totale di attività del servente 2 (16 min), pertanto il valore stimato di
ρ è:
ρˆ =
1
16
= 0.8
20
Molto spesso queste simulazioni vengono condotte definendo un tempo limite (Tmax) per il tempo simulato. Questo
significa aggiungere un controllo all’inizio del ciclo principale della simulazione (main control loop). Se il tempo
simulato è inferiore a Tmax la simulazione procede, altrimenti si arresta.
2
Questo valore nei sistemi M/M/1 corrisponde anche al Throughput.
Modelli e Metodi per la Simulazione
67
Allo stesso modo si procede per il numero di utenti nel sistema:
n(t)
3
2
1
0
1
2
3
4
5
6
7
8
9
10 11 12 13 14 15 16 17 18 19 20 t
Dall’area tratteggiata si risale al numero medio di utenti nel sistema:
20
nˆ =
1
26
n(t )dt =
= 1 .3
20 0
20
∫
Tutti questi risultati sono delle stime dei parametri del sistema, perché ottenuti mediante una simulazione.
Dalla tabella riepilogativa della simulazione, è possibile verificare come il tempo simulato abbia degli
incrementi irregolare, da questa osservazione discende il nome che si dà a questo tipo di simulazione ad
eventi discreti, cioè asincrona.
68
Esercizi e Complementi
Complemento 4.1
Un’ importante risultato della teoria delle code è il teorema di Burke, che descrive il processo di uscita di
un sistema a coda M/M/1, come un processo di Poisson della stessa intensità λ del processo di arrivo.
Questo significa che un’ utile verifica del corretto funzionamento della simulazione, è la verifica che i
tempi di inter-partenza seguano una distribuzione esponenziale con valor medio pari a 1/λ. Un altro
risultato importante della teoria delle code è che il tempo di coda è una v.a. esponenziale negativa con
valor medio pari a:
E[D] =
1
(μ − λ )
Complemento 4.2
Quando viene effettuata una simulazione vengono effettuate due operazioni molto importati
prima di accettare il risultato: la verifica della simulazione, e la validazione della simulazione. La
verifica della simulazione consiste nel accertare che il modello della simulazione funzioni nel
modo appropriato, secondo quelli che sono gli intendimenti di chi realizza la simulazione. Ad
esempio nel caso specifico dell’esercizio 4.1. la verifica consiste nel accertamento che il modello
della simulazione si comporti realmente con un sistema M/M/1. La validazione della simulazione
consiste nel confermare che il modello della simulazione si comporti nella maniera più simile al
sistema reale oggetto di studio. La validazione può essere condotta in maniera qualitativa, per
sistemi che non hanno un elevato grado di complessità, mentre per sistemi molto complessi
possono essere necessarie delle verifiche sperimentali, che si ottengono sollecitando il sistema ed
il modello della simulazione con gli stessi input e verificando che hanno la stessa risposta agli
input e producono lo stesso risultato. Questo tipo di validazione è anche chiamata verifica
sperimentale della simulazione ed è un procedimento molto costoso ma alle volte necessario.
Modelli e Metodi per la Simulazione
69
Esercizio 4.2
Effettuare una simulazione ad eventi discreti di un sistema a coda M/M/1, con frequenza media de
processo di arrivo pari a λ = 4 arrivi al minuto, frequenza media di servizio pari a μ = 5 partenze al
minuto.Calcolare il tempo medio di coda, ed il coefficiente di utilizzazione dei serventi, dopo un’ora di
osservazione.
Ripetere la simulazione con tempo di servizio deterministico con valore pariμ = 5 partenze al minuto, e
confrontare i risultati ottenuti.
Complemento 4.3
La simulazione negli ultimi anni ha avuto un forte impulso, grazie alle sue enorme potenzialità possiamo
riassumere i vantaggi dell’utilizzo della simulazione rispetto alla progettazione tradizionale nei seguenti
punti:
‰ E’ possibile analizzare sistemi complessi, la cui rappresentazione analitica è impraticabile;
‰ E’ possibile ripetere a costo nullo, molte volte l’esperimento, e sollecitare il sistema con una
gamma molto ampia di Input, non realizzabili in esperimenti reali;
‰ Permette di capire a fondo le relazioni tra le variabili di stato,e gli indici di prestazione di un
sistema, mediante la registrazione della simulazione ed un’analisi dettagliata di tutte le iterazioni tra
le varie parti del modello.
Altresì è importante ricordare alcuni aspetti negativi:
‰ Il risultato di una simulazione è una stima del comportamento del sistema, quindi la simulazione
non produce risultati esatti;
‰ E’ necessario utilizzare strumenti statistici per verificare e validare una simulazione, prima di
accettare un risultato;
‰ Per implementare una simulazione è necessario individuare un modello del sistema reale oggetto
di studio. La scelta di un modello significa molto spesso effettuare delle semplificazioni, per poter
riprodurre al calcolatore determinati esperimenti. Questo significa che spesso le simulazioni
forniscono solo un indicazione del comportamento del sistema, e quindi bisogna fare attenzione
all’utilizzo dei risultati.
In definitiva la simulazione, nel campo della progettazione, o in altri campi può essere uno strumento
molto valido se utilizzato nella maniera appropriata.