Analisi Statistisca in Simulazione Aspetto fondamentale in simulazione, a volte sottovalutato Corrette interpretazione dei risultati * Analisi dei dati di input definizione e parametrizzazione del modello caratterizzazione del carico (distribuzioni, etc.) * Analisi dei risultati di un esperimento di simulazione derivare le caratteristiche stocastiche degli indici valutati • analisi del comportamento transiente influenza delle condizioni iniziali • analisi del comportamento stazionario (steady-state) sistema in equilibrio, elim. della fase transiente • numero di esperimenti, lunghezza degli esperimenti • condizioni iniziali di ogni esperimento. * Convalida degli esperimenti di simulazione Esempi: - stimare se un processo di arrivo ad un sistema (p.es. di calcolo) è Poissoiniano di media λ - stimare se un processo di servizio di un servente è esponenziale - stimare i parametri di una distribuzione data - caratterizzare il carico del sistema composto da input multiclasse • stazionarietà e indipendenza Sim.3.1 Analisi statistica classica • stima della media • stima della varianza • stima della distribuzione * test di "goodness of fit" * test di Kolmogorov-Smirnov • operazioni su intervalli di confidenza • Stazionarietà della popolazione osservata Indipendenza delle osservazioni (proprietà non sempre verificate sia in input che in output) Stima della media • x1 x2 ... xn campione di osservazioni indipendenti (v.c.) • popolazione caratterizzata da una funzione di distribuzione di probabilità f(x) di media E[x] = µ e varianza Var[x] = σ2 • media campionaria x = Σ xi / n stimatore non distorto della media µ della distribuzione • x è una v.c. di media E[x] = E[Σi xi / n] = n µ / n = µ e di varianza Var[x] = E[(x-µ) 2] = Σi Var[xi] / n2 = σ2 / n x è una buona stima di µ se σ/n è piccolo poiché (disuguaglianza di Chebyshev) Prob{| x - µ | > c σ/√n } ≤ 1/ c2 (1) • la distribuzione f(x) è normale se f(x) è normale, altrimenti, per il teorema del limite centrale, per n → ∞ tende ad una normale di media µ e varianza σ2/n (approssimazione per n>30) Sim.3.2 • (x - µ) / (σ/√n) → Ζ normale (0,1) funzione cumulativa FZ(u) = Prob { Z ≤ u } • spesso anche la varianza σ2 è ignota • Stima della varianza del campione Var[x] = E[(x-µ) 2] • lo stimatore Σi (xi - x)2 / n è distorto • varianza campionaria S2 = Σ (xi - x)2 / (n-1) stimatore non distorto della varianza σ2 della distribuzione • S2 è una v.c. di media E[S 2 ] = E[Σi (xi - x)2/(n-1)] = E[(Σi xi2 - n x2)/(n-1)] = = (Σ i E[ xi2] - n E[x2] )/(n-1) = (n (µ 2+σ2)-n(µ 2+σ2/n) /(n-1) = = σ2 • deviazione standard campionaria S stimatore non distorto della deviazione standard σ • lo stimatore della varianza può essere utilizzato per valutare la bontà della stima della media per la (1) • Se il campione è ottenuto come risultato di un esperimento di simulazione e si vuole stimare la media µ, si continua la simulazione finché n è tale che σ/√n ovvero S/√n è inferiore ad una quantità prefissata 1. fissare un valore d accettabile per la deviazione standard 2. generare almeno 30 valori dei dati 3. continuare la generazione fino a k valori tali che S/√k<d , dove S è calcolata con i k valori calcolati 4. si ottiene la stima di µ, calcolandola sui k valori determinati al passo 3 Sim.3.3 generazione ricorsiva di x e di S2 Intervalli di confidenza • necessità di calcolare intervalli di confidenza dello stimatore x • x1 x2 ... xn campione di osservazioni indipendenti e identicamente distribuite (i.i.d.) di media µ e varianza σ2 • media campionaria x : v.c. di media µ e di varianza σ2/n • S2/n è uno stimatore non distorto di σ2/n • anche la variabile (x - µ) / (S/√n) → t-Student con n-1 gradi di libertà ma per n>30 → Ζ normale (0,1) funzione cumulativa FZ(u) = Prob { Z ≤ u } • qα percentile 100a della distribuzione normale Prob{ Z ≤ qα } = α • uα è tale che Prob{ Z ≤ uα } = 1 - α • per la simmetria Prob{ - uα/2≤ Z ≤ uα/2 } = 1 - α Prob{ - uα/2≤ √n (x - µ) / S ≤ uα/2 } = 1 - α Prob{ - uα/2≤ √n (µ - x) / S ≤ uα/2 } = 1 - α Prob{ x- (S/√n)uα/2 ≤ µ ≤ x+(S/√n)uα/2 } = 1 - α intervallo di confidenza per la media µ nozione probabilistica; probabilità a priori µ, valore teorico, cade nell'intervallo con prob. 1-α • utilizzare i valori di uα/2 tabulati Esempio: α = 0.05 1−α=0.95 uα/2 =1.96 intervallo di confidenza al 100(1−α) =95% Sim.3.4 x ± (S/√n) 1.96 Prob{ x- (S/√n) 1.96 ≤ µ ≤ x+(S/√n)1.96} = 0.95 • Conviene ridurre l'ampiezza dell'intervallo di confidenza • Due misure di precisione: precisione assoluta → semiampiezza dell'intervallo precisione relativa → 100(semiampiezza dell'intervallo / x) • si usa la misura relativa se non si hanno informazioni sull'ordine di grandezza di µ Es.: x=8, intervallo [7.5,8.5] prec. rel.=100(0.5/8)=6% • Per ridurre l'ampiezza dell'intervallo di confidenza si deve aumentare il numero n di osservazioni ampiezza ∝ 1/√n se S è circa costante • Se il campione è ottenuto come risultato di un esperimento di simulazione e si vuole stimare la media µ, utilizzando gli intervalli di confidenza, fissato un livello di confidenza 100(1−α), si continua la simulazione finchè n è tale che l'intervallo di confidenza ha una ampiezza inferiore ad una quantità prefissata. • ampiezza dell'intervallo di confidenza 2 (S/√n)uα/2 1. fissare un valore d ed il livello di confidenza 100(1−α) 2. generare almeno 30 valori dei dati 3. continuare la generazione fino a k valori tali che 2 (S/√n)uα/2<d , dove S è calcolata con i k valori calcolati 4. si ottiene la stima di µ, calcolando l'intervallo di confidenzax x±(S/√n)uα/2 dove x ed S sono calcolati sui k valori determinati al passo 3 Sim.3.5 generazione ricorsiva di x e di S2 • tipici valori α = 0.01, 0.05, 0.1, a cui corrispondono uα/2 = 2.57, 1.96, 1.64 e i livelli di confidenza del 99%, 95%, 90%. Sim.3.6 Stima della varianza della popolazione • metodo indiretto : σ2 = E[x2] - E2[x] dato un campione x1...xn si stima E[x] tramite gli intervalli di confidenza, e si deriva E2[x] e dal campione x12...xn2 si deriva E[x2] combinando opportunamente gli intervalli di confidenza • metodo diretto : basato su S2, v.c. di media σ2 e varianza → 0 per n → ∞ si dimostra che la v.c. (n-1)S2/σ2 ha distribuzione X2 con n-1 gradi di libertà Si può applicare la tecnica degli intervalli di confidenza, come nel caso della media, ma facendo riferimento alla distribuzione X2 anzichè alla distribuzione normale Prob{ (n-1)S2/qα1 ≤ σ2 ≤ (n-1)S2/qα2 } = 1 - α dove qα1 e qα2 sono i percentili della v.c. X2(n-1) tali che Prob{qα1 ≤ X2(n-1) ≤ qα2 } = 1 - α ΜΑ questo metodo di stima della varianza è sensibile alla distribuzione del campione. Se il campione non ha distribuzione normale tale tecnica non può essere applicata. Sim.3.7 • calcolo dell'intervallo di confidenza per la varianza σ2 con il metodo di jackknifing (Miller 1974,Lavenberg83,Kleigren74) meno sensibile all forma della distribuzione del campione dato un campione x1...xn si calcola la media e la varianza campionaria con l'osservazione j rimossa, 1≤j≤n xj = Σi≠j xi /(n-1) Sj2= Σi≠j xi2 /(n-2) - (n-1) xj /(n-2) si definiscono gli "pseudovalori" 1≤j≤n zj = n S2 - (n-1) Sj2 (nota: S2= Σi xi2 /(n-1) - n x2/(n-1) ) da cui E[zj] = n E[S2] - (n-1) E[Sj2] = σ2 quindi la distribuzione di zj ha media σ2 Indichiamo con z e Sz 2 la media e la varianza campionaria del campione z1...zn z = Σj zj /n Sz 2= Σj (zj-z)2 /(n-1) da cui la v.c. (z - σ2) /(Sz /√n) è distribuita secondo una tStudent con n-1 gradi di libertà, da cui, come nel caso precedente si ottiene l'intervallo di confidenza per la varianza Prob{ z-(Sz /√n) uα/2 ≤ σ2 ≤ z+(Sz /√n) uα/2 } = 1 - α dove uα/2 è definito come nel caso della media. Operazioni sugli intervalli di confidenza • dalle osservazioni relative a due v.c. X e Y rispettivamente di media µ e η Sim.3.8 si vuole valutare la stima del rapporto ∂ = µ / η si ottiene un campione z1...zn dove zi= (xi, yi) 1≤i≤n • calcoliamo le medie campionarie z = (x, y) x = Σi xi /n y = Σi yi /n • definiamo la matrice di covarianza del campione S2= Σi (zi-z) (zi-z)T /(n-1) S112 S122 S212 S222 S112 =Σi (xi-x)2 /(n-1) S222 =Σi (yi-y)2 /(n-1) S212 = S122 = Σi (xi-x) (yi-y) /(n-1) • stima puntuale del rapporto µ / η A) stimatore di Fieller ∂F = [x y - k S122] / [y2- k S 222] dove k = u α/2 / n B) stimatore di Beale ∂B = [x/y] [1+ S122/(n x y)] / [1+ S222/(n y2)] C) stimatore classico ∂C = [x/y] Sim.3.9 D) stimatore jackknife ∂J = Σi Li / n dove Li = n [x/y] - (n-1) [Σj≠i xj /Σj≠i yj] E) stimatore di Tin 1≤i≤n ∂T =[x/y] [1+ (S122/(x y) - S222/(y2))/n ] • tutti gli stimatori sono consistenti (convergono al valore vero con probabilità 1) e sono generalmente distorti • B) D) E) tendono a ridurre la distorsione • calcolo dell'intervallo di confidenza per il rapporto ∂ = µ / η 1) stimatore di Iglehart : basato sulla stima puntuale ottenuta utilizzando lo stimatore di Fieller: ∂F ± √D/(y2 - k S222) dove D = [x y - k S122] - [y - k S222][x - k S112] e il livello di confidenza dipende da k = uα/2 / n 2) stimatore classico ∂C ± uα/2 γ /(y √n) dove γ = [S112 - 2 ∂CS122 + (∂C)2 S222] 1/2 2) stimatore jackknife ∂J ± uα/2 γ' /(√n) dove γ' = [ Σi (Li - 2 ∂J)2 / (n-1)]1/2 • nei due ultimi stimatori γ e γ' rappresentano stime delle varianze del campione Sim.3.10 • lo stimatore jackknife produce migliori risultati dal punto di vista statistico, specie per campioni piccoli • più complesso da realizzare • si può utilizzare come stima puntuale lo stimatore di Baele e/o di Tin • utilizzare il metodo classico per l'intervallo di confidenza, speciamente se il campione è di grandi dimensioni. Altre operazioni sugli intervalli di confidenza • siano µ e η due parametri con intervalli di confidenza [µ inf, µ sup] [ηinf, ηsup] rispettivamente al livello di confidenza 100 (1-α1) 100 (1-α2) • si ricava per µ - η Prob{µ inf - ηsup ≤ µ - η ≤ µ sup - ηinf} = 1 - α1- α2 • per A µ + B , A>0 Prob{A µinf + B ≤ A µ + B ≤ A µ sup + B} = 1 - α1 • per max(0,µ) = µ +, µ ≥0 , n>0 Prob{ (µ +inf )n ≤ (µ +)n ≤ (µ +sup )n} = 1 - α1 • queste regole sono utilizzate nel metodo indiretto della stima della varianza (vedi P.4.7) Sim.3.11 Analisi dei risultati in Simulazione caratterizzazione del carico GENERAZIONE CASUALE 1^ output realizzazione 2^ input esperimento di simulazione 2^ output esperimento di simulazione n^ output realizzazione n^ input ... esperimento di simulazione ... realizzazione 1^ input INFERENZA STATISTICA distribuzione sequenza output Schema di un esperimento di simulazione Metodi di analisi statistica classica stazionarietà della popolazione indipendenza delle osservazioni In generale le osservazioni ricavate da un esperimento di simulazione solitamente NON sono i.i.d. influenza delle condizioni iniziali correlazione fra le osservazioni stazionarietà del sistema ? Metodi per ottenere osservazioni da esperimenti di simulazione che possano essere considerate i.i.d. Sim.3.12 Output di esperimenti di simulazione : sequenze casuali x1...xn Valutazione di indici di prestazione : p.es. : tempi di risposta, throughput, utilizzazioni Valutazione della media, varianza, distribuzione di probabilità Analisi dei risultati: derivare le caratteristiche stocastiche degli indici valutati • comportamento transiente (short-run) simulazione a termine : intervallo predefinito [0,TE] TE è il tempo di occorrenza di un evento predefinito, specificato PRIMA dell'inizio della simulazione influenza delle condizioni iniziali (stato) Si possono ricavare n osservazioni indipendenti soltanto eseguendo n run (prove) di simulazione * sullo stesso periodo, * con le stesse condizioni iniziali e * con diverse sequenze di numeri pseudocasuali (e i semi diversi non devono essere in relazione fra loro) * ottenere una osservazione per ogni prova metodo delle PROVE RIPETUTE applicabile anche per l'analisi stazionaria Sim.3.13 • comportamento stazionario (long-run, steady-state) tempo di simulazione → ∞ problemi : stazionarietà sistema in equilibrio, elim. della fase transiente indipendenza • Stazionarietà : Eliminazione della fase transiente determinare no tale che ogni osservazione del campione xno+1 xno+2 ... xno+ n provenga (approssimativamente) dalla stessa popolazione con distribuzione di probabilità stazionaria F(x), di media µ e varianza σ2 (distribuzione invariante nel tempo) no ??? •Stima della lunghezza della fase transiente Indipendenza dallo stato iniziale Eliminare le osservazioni xi tali che F(xi) ≠ F(x) Più semplicemente : studiare la convergenza della media della distribuzione µ i = E[xi] La sequenza {µ i , i=1,2,…} → µ •lim i→∞ µ i = µ è C.N. per lim i→∞ F(xi) = F(x) Sim.3.14 •run pilota per determinare no : stima della sequenza {µ i, i≥1} Si effettuano M prove ripetute e si genera la sequenza delle medie campionarie: x11...x1n x21...x2n … xM1...xMn stima di µ i è M ∑x ji xi = j=1 M 1≤i≤n sequenza delle medie campionarie {xi, i≥1} , dove ogni xi fluttua attorno alla media E[xi] = µ i * per M abbastanza grande {xi, i≥1} si può considerare una stima del punto di convergenza della sequenza {µ i, i≥1} * si tabulano gli intervalli di confidenza di un sottoinsieme delle medie campionarie xi per avere una idea della convergenza. NOTA: tali intervalli sono validi solo singolarmente, poichè per un insieme di n eventi E1...Ek si ha per la prob. congiunta Prob{ ∩ i Ei} ≥ 1 - Prob{not Ei} es.: se tutti gli intevalli sono al 90% di confidenza, la prob. congiunta relativa ai k valori è solo ≥ 1- 0.1 k * Utilizzare queste informazioni in modo intuitivo * Tabulare la sequenza{xi, i≥1} per un periodo sufficientemente lungo per eliminare le oscillazioni a breve termine, ma non troppo lungo per non osservare una distorsione delle fluttuazioni a lungo termine. Sim.3.15 * Dalla sequenza{xi, i≥1}→ sequenza{xi(K), i≥1} K xi (K) = (2K+1) -1 ∑x i + j se i ≥ K+1 j = -K i-1 xi (K) = (2i-1) -1 ∑x i +j se i < K+1 j = -(i-1) definisce la media (dinamica) su una ampiezza di 2K+1 elementi * alcuni autori suggeriscono una sola prova (M=1), e considerano la stabilizzazione della media campionaria dipendenza dal seme più economico * la convergenza della media è solo C.N. per la convergenza della distribuzione * si può stimare la stabilizzazione di altre quantità (es.percentili) p.es. la varianza σ2 della distribuzione, considerando la stima ottenuta dalla varianza campionaria Si2 = Σj (xji - xi)2 / (M-1) 1≤i≤n osservata in funzione di i fino alla stabilizzazione a lungo termine, poichè Var[Si2 ]= σi2 =Var[x i]. Utilizzare eventualmente anche gli int. di confidenza Eventuale correzione come per la media. Metodi di analisi dei risultati •Stazionarietà e indipendenza * metodo delle PROVE RIPETUTE * metodo RIGENERATIVO * metodo BATCH Sim.3.16 METODO DELLE PROVE RIPETUTE •rigenerazione artificiale •eliminare la fase transiente •ripetere l'esperimento M volte (M prove ripetute), eliminando in ogni prova le informazioni relative alla fase transiente •ogni prova i fornisce n i osservazioni, 1≤i≤M ed è considerata indipendente dalle altre prove x11...xn11 → y1 z1 x12...xn22 → y2 z2 … x1M...xnMM → yM zM •si calcola ni ni yj = ∑x ij i = 1 zj = ∑x 2 ij 1≤j≤M i = 1 allora i campioni y1...yM z1...zM n1...nM si possono considerare i.i.d. e si può quindi applicare l'analisi statistica classica per la stima di media e varianza. Sim.3.17 •medie teoriche delle distribuzioni di yj, zj ed nj : δ = E[yj] λ = E[zj] γ = E[nj] • poichè E[x] = δ / γ =E[ Σi xij]/ E[nj] E[x2] = λ / γ =E[ Σi x2ij]/ E[nj] si possono ottenere le relative stime dalle stime di δ, λ e γ : σ2 = E[x2] -E2[x] = ( λ / γ ) - ( δ / γ )2 •si utilizzano le operazioni su intervalli di confidenza •n i ha tipicamente distribuizione unforme in [a,b], con a e b opportuni, dipendenti dal sistema, dalle variabili da stimare e dalla precisione p.es. [50,100] •se ni è costante si possono avere problemi dovuti alla dipendenza fra prove •in ogni prova si devono raccogliere le osservazioni a partire da uno stato stazionario 1) si stabilisce tramite il run pilota uno stato stazionario ogni prova parte da quello stato 2) ogni prova parte da uno stato non stazionario si effettua l'eliminazione della fase transiente in ogni prova •in ogni prova considerare sequenze random diverse p.es. ogni prova i>1 utilizza come semi dei generatori gli ultimi valori generati nella prova i-1. Sim.3.18 Convadida del modello di Simulazione •stabilire se il modello nel suo dominio di applicabilità è sufficientemente accurato per l'applicazione prevista •confronto fra i risultati forniti dal modello di simulazione e misure effettuate sul sistema reale. •stabilire la verosimiglianza fra modello e sistema •almeno per un sottoinsieme significativo di parametri (carico del sistema e configurazione) •un modello non convalidato richiede la revisione di almeno una possibile causa definizione del modello (rappresentatività) parametrizzazione metodo di analisi dell'output proprietà statistiche delle sequenze generate correttezza del programma •analisi statistica dei dati prodotti dal modello e dal sistema •due fasi : calibratura convalida •calibratura (messa a punto - tuning) verifica della rappresentatività del modello rispetto ad un insieme di dati (iniziali) provenienti dal sistema •verifica : generatori di numeri pseudocasuali caratteristiche probabilistiche delle var. (esogene) metodi per l'osservazione delle var. endogene •convalida verifica della rappresentatività del modello anche rispetto a comportamenti futuri del sistema •la risposta (parziale o totale) del modello varia secondo la stessa legge probabilistica della risposta del sistema. •verifica : Sim.3.19 proprietà delle var. endogene: confronto fra risultati forniti dal simulatore e dati osservati dal sistema reale. •come effettuare il confronto con il sistema reale con un modello matematico con un altro simulatore •convalida con un modello matematico il simulatore viene eseguito sotto le stesse ipotesi valide per il modello matematico es.: M/M/1 reti di Jackson reti BCMP •si estrae un campione dal simulatore es.: tempi di risposta •si effettua una stima della grandezza in esame, generandone l'intervallo di confidenza •si confronta il valore stimato con il valore teorico prodotto dal modello matematico (media, varianza, distribuzione) •il confronto dà esito positivo se il valore teorico cade nell'intervallo di confidenza stimato. Sim.3.20 •convalida con sistemi reali o con un altro simulatore •si estrae un campione dal simulatore •si considera un campione dal sistema reale o da un altro simulatore •confronto fissata una variabile di risposta Y Y= f(X1,…Xp) funzione di variabili indipendenti detti fattori che rappresentano le caratteristiche operative del sistema (p.es. discipline di servizio, distribuzioni,...) ogni fattore può assumere dei livelli differenze qualitative o quantitative p fattori, n livelli → np combinazioni di valori con cui valutare Y esprimento è detto fattoriale np •Esempio: sistema aperto formato da una singola risorsa a canale multiplo (n canali) Y= tempo medio di residenza X1= disciplina di servizio X2 = distribuzione dei servizi X3 = numero di canali a capacità totale costante [n/µ i(n)]=cost X1 = FIFO, SPTF X2 = esponenziale, normale, uniforme X3 = canale singolo, doppio, quadruplo •analisi di varianza e regressione (lineare e/o non lineare) sui dati del modello e su quelli del sistema di riferimento •dai parametri discordanti : indicazioni per le modifiche. •convalida : simulatore ⇔ sistema di riferimento •robustezza del modello Sim.3.21 modello robusto se i risultati non dipendono in modo critico dalle ipotesi di funzionamento e dalle caratteristiche operative. valutazione di diverse caratteristiche operative. proprietà di insensitività non esistono risultati generali per modelli simulativi, mentre esistono alcuni risultati per modelli analitici. •Analisi dell'errore errore di troncamento problema per simulazioni (run) molto lunghi •metodi di riduzione dell'errore di calcolo * doppia precisione maggior occupazione di memoria * uso di interi arrotondamento di reali non richiedono normalizzazione distorsione (invers. prop. alla scala) permette anche la simulazione ad intervalli fissi * somme parziali sequenza divisa in sottosequenze e calcolo strutturato * recupero dell'errore uso di accumulatori per recuperare l'errore Sim.3.22