Il modello illustrato nel corso del capitolo è formato da 3 componenti, ognuna riguardante una fase diversa della vita e dell’utilizzo di una sorgente di dati. Le prime due componenti sono legate alla registrazione in DITAS di una data set, mentre la seconda si allaccia alla scelta compiuta dall’utente sulla base delle indicazioni fornite dalla piattaforma.
Per il valore della reputation legato all’utilizzo della sorgente di dati, è stata effettuata un’analisi per cercare il giusto valore per la classe di utilizzo Cu e il coefficiente di affidabilità Fv, con i risultati di tale analisi smentiti
dal giudizio degli utenti.
Per ridurre lo scostamento tra le due valutazioni, sono state apportate delle modifiche al valore di Cu prima e a quello di Fv poi.
Infine, i nuovi valori dei due parametri sono stati messi a confronto con le valutazioni fornite dagli utenti, rivelando uno scostamento accettabile.
Nel prossimo capitolo tale modulo verrà messo alla prova inserendolo in un algoritmo in grado di calcolare il valore della reputation partendo da un array rappresentante il numero di usi di una sorgente di dati.
Tale test servirà ad accertare la correttezza dei nuovi valori trovati per un numero di utilizzi molto maggiore rispetto al caso precedente.
Capitolo 4
Realizzazioni Sperimentali
Lo scopo di questo capitolo è quello di andare a testare il funzionamento del modulo proposto al capitolo precedente testandolo con un algoritmo che simulerà l’utilizzo di una sorgente di dati per milioni di volte, così da poter accertare la correttezza anche in caso di usi ripetuti dal data set.
Nella prossima sezione verrà introdotta inizialmente la descrizione tecnica di come è stato realizzato l’algoritmo che simulerà le esecuzioni, e come quest’ultime sono state schematizzate.
Alla sezione 4.2 si esplicherà la struttura delle simulazioni, descrivendo il numero di violazioni ai vincoli sulle dimensioni di data quality e di service quality che avverranno sul totale delle esecuzioni e come tali violazioni sono state modellate.
Inoltre, verranno esposti i parametri della classe di servizio Cu e sul coefficiente della affidabilità passata Fv usati durante la simulazione.
In coda alla sezione si troveranno le tabelle contenenti i risultati di ogni simulazione, con un istogramma ad esse associate e una breve disamina a riguardo.
Infine, i risultati verranno discussi nel paragrafo 4.3.
4.1
Descrizione della metodologia
Per cercare di illustrare in maniera completa il funzionamento del modu- lo per il calcolo della reputation verranno analizzati nel dettaglio tutte le componenti facenti parte dell’algoritmo usato in questo frangente.
Utilizzando la funzione randtool di Matlab è stato creato un array di dieci milioni di elementi, uno per ogni esecuzione dell’algoritmo. Ognuno degli elementi dell’array simula i risultati, in termini di qualità dei dati e qualità del servizio, dell’esecuzione del servizio e saranno utilizzati per nell’algoritmo per il calcolo del valore della reputation.
Gli elementi dell’array sono stati presi da una distribuzione uniforme, con valore di ogni elemento compreso tra 0 e 3, estremi compresi.
Questi valori sono stati modificati allo scopo di ottenere diverse simula- zioni con varie percentuali di violazioni
• se il valore dell’n-esimo elemento dell’array è pari a 0, a quella deter- minata esecuzione non è associata una violazione, cioè il data set ha rispettato tutti i vincoli imposti dall’utente.
• se il valore dell’n-esimo elemento dell’array è diverso da 0, a quella determinata esecuzione è associata una o più violazioni, con la gravità della violazione pari al valore dell’elemento.
Sull’array sono state effettuate due operazioni; in primis, per compiere le simulazioni con diverse percentuali di violazioni, si sono considerati solo alcuni valori degli array come validi.
Ad esempio, se il modulo viene testato su 10 milioni di simulazioni con una percentuale di violazioni pari all’n%, si sfrutta la proprietà della di- stribuzione uniforme che associa il numero degli elementi alla loro posizione all’interno di essa.
Come prima cosa, si calcola il valore relativo all’n-esimo percentile della distribuzione. Successivamente si sottrae dal massimo valore possibile della distribuzione il valore calcolato in precedenza. Il numero trovato corrispon- derà alla "soglia d’errore", cioè il minimo valore che ogni elemento dell’array delle simulazioni deve avere per essere considerato una violazione.
Grazie alle proprietà della distribuzione uniforme si saprà che i rimanenti elementi della distribuzione saranno per l’n% maggiori della soglia e per il (100-n)% minori della soglia.
In questo modo, si può scoprire che per avere una percentuale di errore pari all’1% si devono considerare solo i valori pari o maggiori di 2.97 come violazioni, gli altri valori che erano diversi da zero ma minori della soglia sono stati posti a zero.
Successivamente si sono presi i valori maggiori di 0 rimanenti ed essi sono stati normalizzati tra 0 e 3 con la seguente formula:
3 ∗x − min
3 − min (4.1)
con 3 corrispondente al valore massimo e min alla soglia per avere la percen- tuale di errore desiderata. Questa normalizzazione viene eseguita per riuscire a simulare violazioni che abbiano un valore compreso tra 0 e 3 e non tra la soglia impostata e il massimo valore, 3.
Come visto nella sezione 3.4, la penalità inflitta alla reputation è compo- sta da 3 elementi, la classe di utilizzo Cu, il parametro legato all’affidabilità Fv e al valore stesso della violazione. Ai fini del test, la prima componen-
te è definita a priori al momento dell’esecuzione dell’algoritmo; per quanto riguarda Fv, essa è definita come:
Fv = e/Nex (4.2)
con e il numero di esecuzioni con violazioni e Nex il numero di esecuzioni totali di un determinato metodo di un data set.
Si è deciso di scegliere il seguente numero di esecuzioni iniziali, 750 ∗ 106, per evitare che Fv passi da un coefficiente di affidabilità all’altro nell’arco
di un numero di violazioni ridotte. Il numero di violazioni che compone il numeratore serve solamente a stabilire il valore iniziale del parametro.
Come valori di partenza per questo parametro si hanno:
5/(750 ∗ 106) (4.3)
associato al valore 0.5,
75 ∗ 102/(750 ∗ 106) (4.4)
associato al valore 1 e
5 ∗ 105/(750 ∗ 106) (4.5)
associato a 2, il valore di Fv con l’affidabilità minima.