Repositioning based on side effects on mithril - ciccotta
R Morris OAT (Sensitivity Analysis)
1. Analisi di Sensitivit´a
Progetto di Intelligenza Artificiale
Ciccotta Andrea
August 10, 2016
1 Introduzione
In statistica applicata , il metodo Morris per analisi di sensitivit globale un
cosiddetto metodo on-step-at-a-time ( OAT ), il che significa che in ogni se-
duta a un solo parametro di input viene assegnato un nuovo valore . Facilita
un’analisi di sensitivit globale effettuando un numero r di modifiche locali a
vari punti x(1→r) della possibile gamma di valori di ingresso . Lo scopo di
tale operazione quello di vedere come reagisce un dato modello o funzione a
n-input che variano singolarmente in ogni step del metodo per poter cos deter-
minare quale configurazione pi adatta: ad esempio se si parla di ottimizzazione,
sceglieremo per la nostra funzione la configurazione degli input migliore che mas-
simizza [minimizza] il risultato finale, scegliendo cos quali parametri incidono
maggiormente per il nostro modello.
2 Metodo di Screening
Quando si tratta di modelli che sono computazionalmente costosi da valutare e
hanno un gran numero di parametri di input, le metodologie di screening pos-
sono essere utilizzate per identificare il sottoinsieme di parametri che controllano
maggiormente l’andamento del modello, con un basso sforzo computazionale.
Infatti, spesso, solo pochi parametri di ingresso hanno una effetto significativo
sulla produzione di modelli complessi. I metodi di Screening sono progettati
per che contengono centinaia di fattori di input. Per questa ragione essi dovreb-
bero essere computazionalmente economici. Lo svantaggio di questi metodi
”economici” che tendono a fornire misure di sensitivit qualitative, ma non
quantificano quanto pi importante un dato fattore rispetto un altro.
3 Step dell’algoritmo
Il metodo inizia campionando un insieme di valori entro gli intervalli definiti
per tutte le variabili di ingresso e calcola quindi l’esito del modello per il setting
1
2. dello step corrente. Il secondo passo cambia i valori di una variabile (tutti gli
altri ingressi mantengono i loro valori) e calcola il conseguente cambiamento
nel modello. Successivamente, i valori di un’altra variabile vengono modificati
(ancora tutti gli altri ingressi mantengono i loro valori) e di nuovo calcola il
conseguente cambiamento sul modello. Questo continua finch tutte le variabili
di ingresso sono cambiate. Questa procedura viene ripetuta r volte (dove r di
solito presa fra 5 e 15), ogni volta con un diverso insieme di valori iniziali, che
porta ad una serie di r (k + 1) di step eseguiti, dove k il numero di variabili in
input . Tale numero si dimostrato efficiente per i metodi di analisi di sensitivit.
4 Metodi di Screening: il metodo Morris screen-
ing
Il metodo Morris screening si basa sulla quantificazione degli effetti elementari
(EE) che la variazione dei fattori di input producono sugli output del modello.
In particolare l’effetto elementare dell’ i-esimo fattore (EEi) conseguente ad una
perturbazione Delta del fattore rappresenta la differenza relativa tra l’output
del modello ottenuto con e senza perturbazione:
5 Le statistiche σ, µ, µ∗
Nel lavoro originale di Morris le due misure di sensitivit proposte sono rispet-
tivamente la media µ e la deviazione standard σ. Tuttavia la scelta Morris
presenta l’inconveniente che se la distribuzione contiene elementi negativi che
si verificano quando il modello non monotono , quando si calcola la media al-
cuni effetti possono annullarsi reciprocamente . Cos la misura µ da solo non
affidabile, viene introdotta quindi µ*. Si parla quindi di ”Revised Morris µ*”
che viene utilizzato per rilevare i fattori di input con un importante influenza
generale sull’uscita. σ utilizzato per rilevare fattori coinvolti nell’interazione
con altri fattori o il cui effetto non lineare. Come quindi possibile intuire, µ*
fa uso del valore assoluto.
Per ogni fattore i la misura della sensitivit espressa dalla media µ e dalla
deviazione std della funzione degli effetti elementari; µ quantifica l’importanza
del fattore e l’interazione.
6 Generalizzazioni
E’ possibile utilizzare questa tecnica per problemi di ottimizzazione, quindi
quando si vuole trovare la configurazione migliore che massimizza o minimizza
la funzione data; infatti la metodologia OAT pu essere sostituita con quella
SIMPLEX per problemi che ad esempio fanno largo uso di matrici. Ad oggi,
2
3. l’algoritmo di Morris utilizzato in campo medico nello studio di patologie che
subiscono mutazioni in base ad agenti interni o esterni (che intuitivamente pos-
siamo approssimare a semplici variabili per parlare in termini pi matematici).
7 R Morris OAT
Il progetto R Morris OAT, come vuole suggerire il nome stesso, riproduce
l’algoritmo di Screening di Morris in linguaggio R. Le classi del progetto sono:
1. ind.rep
2. main
3. morris oat
4. myMorris
5. response
7.1 inde.rep
E’ l’indice dell’i-esima traiettoria nel DOE, cio:
Per un dato valore di X, l’effetto elementare dell’i-esimo input definito come:
3
4. dove ∆ un valore in 1 / (p - 1) , ..., 1- 1 / (p - 1), p il numero di livelli,
X = x1, x2,...,xn un qualsiasi valore selezionato in tale che il punto trasfor-
mato (X + ei ) ancora in Ω per ogni indice i = 1,..., k, e ei un vettore di
zeri e ith (i-esime traiettorie) componenti. La distribuzione finita degli effetti
elementari associati con il fattore di ingresso i-esimo, ottenuto campionando a
caso X diverso da Ω. Una scelta conveniente per i parametri p e ∆ p uniforme
e ∆ uguale a p / [2 (p- 1)].
7.2 morris oat
E’ la sub-routine principale dell’algoritmo e quindi del progetto. Questa classe
composta da due funzioni principali: random.oat e ee.oat. Come abbiamo
gi discusso, il metodo Morris per analisi di sensitivit globale un cosiddetto
metodo one-step-at-a-time ( OAT ) , il che significa che in ogni seduta a un
solo parametro di input viene assegnato un nuovo valore . Facilita un’analisi
di sensitivit globale effettuando un numero r di modifiche locali a vari punti
x( 1→ r ) della possibile gamma di valori di ingresso. Il metodo random.oat
ritorna quindi un vettore di 3 dimensioni, che sono proprio le statistiche σ, µ
e µ*. La computazione degli effetti riportati dai valori ottenuti svolta nella
seconda parte della classe, quindi dalla funzione ee.oat Si ottiene quindi una
”ee-matrix” di dimensione r * p, di cui si far allo step successivo la relativa
trasposta per ottenere benefici in termini di consistenza (il tutto dimostrabile
matematicamente).
7.3 response
E’ la classe che si occupa di settare (appunto in maniera responsible) il plot
grafico ottenuto alla fine della computazione, con coordinate (σ, µ*).
7.4 myMorris
Questa la classe basata sull’algoritmo originale del Morris Screening Method,
con piccole modifiche per operare solo in modalit OAT (e facile passare da
OAT a SIMPLEX, vedremo dopo come) e qualche miglioria computazionale per
ottenere un codice pi snello e pi veloce per lo scopo del progetto.
7.5 main
Ovviamente questa la classe da eseguire per lanciare in esecuzione il progetto.
Il metodo principale pu essere riassunto come: myMorris(function, factors, seed,
graphics component) Cio vengono passate alla classe vista prima, la funzione sui
cui vogliamo fare l’analisi di sensitivit, il numero di fattori (parametri o varibili
se vogliamo) del vettore principale X da cui dipenderanno le perturbazioni sulla
funzione scelta, il seed per settare in maniera random il vettore X (di default
4), le componenti grafiche utilizzate nella classe response.
4
5. La funzione gi settata ” k1 * (X - k2)”, dove X gi stato discusso e k1 e
k2 sono costanti. Ovviamente possibile cambiare in qualsiasi modo si voglia la
funzione, a patto di mantenere l’integrit di X e utilizzare un linguaggio matem-
atico compatibile con R. E’ inoltre possibile cambiare anche gli altri parametri,
ad esempio il codice stato impostato (a differenza di quello originale e di quelli
facilmente reperibili in rete) per poter cambiare facilmente il numero di fat-
tori: basta cambiare il valore in MAX DEFAULT FACTORS (che troverete
all’interno di myMorris) e in factors (che troverete come valore passato durante
l’instanziamento di myMorris).
5
15. 9.0 Conclusioni
L'algoritmo implementato in linguaggio R si è dimostrato computazionalmente leggero.
Le esecuzioni hanno mostrato come diviene facile per problemi comuni come quelli di ottimizzazione, trovare il massimo
[minimo] e scegliere quindi quali input sono più o meno essenziali per il risultato finale. Si può quindi prendere quei
parametri e annullare [eliminare] gli altri.
Diviene quindi interessante applicare questo algoritmo per problemi in cui il gran numero di variabili causa problemi
(computazionali, di leggibilità,...), potendo così facilmente decidere quali eliminare e quali invece tenere perché
realmente incidenti sul risultato finale e sull'orientamento del modello verso una data direzione.