Sistemi di supporto alle decisioni di acquisto
2) supposto che esista una relazione funzionale tra le variabili considerate, è necessario verificare che essa sia di tipo lineare.
Successivamente si procede con i seguenti passi: a) individuazione della relazione causale tra le variabili; b) stima dei parametri;
86 Per relazione funzionale consideriamo direttamente una relazione di tipo lineare la cui forma è:
Y = α+βX
Dove:
Y = variabile dipendente
α = intercetta della retta di regressione
β = coefficiente angolare della retta di regressione X = regressore (variabile indipendente )
L’equazione che abbiamo appena visto è denominata “equazione della retta di regressione”. La retta di regressione approssima la “nuvola di punti” data dalle osservazioni campionarie. Può essere effettuata una regressione lineare utilizzando metodi differenti.
I principali metodi utilizzabili per effettuare regressione lineari sono il metodo dei minimi quadrati (Ordinary Least Squares) ed il metodo di regressione a passi (Stepwise Regression).
Il metodo Least Squares è una tecnica di stima dei parametri che permette di trovare una funzione che si avvicini il più possibile ad un'interpolazione di un insieme di dati (tipicamente punti del piano). In particolare la funzione stimata é quella che minimizza la somma dei quadrati delle distanze dai punti dati.
La Stepwise regression è invece una tecnica utilizzata soprattutto per scegliere le variabili, ovvero i termini, da includere in un modello di regressione multipla. In presenza di molti attributi, ovviamente non tutti sono indispensabili per effettuare una buona selezione delle opzioni (non tutte le variabili sono significative); attraverso la stepwise è possibile identificare quali sono le variabili indispensabili e quali sono le variabili o attributi che si può fare a meno di considerare.
La tecnica Stepwise utilizza una metodologia di selezione delle variabili che utilizza delle procedure di “forward selection” (selezione in avanti) e di “backward elimination” (eliminazione all’indietro).
La procedura di forward selection inizia includendo nell’equazione la variabile esplicativa o indipendente (predictor) che ha il più alto coefficiente di correlazione con la variabile da spiegare o dipendente (criterion variable). La procedura di backward elimination inizia con l’inclusione di tutte le variabili esplicative, ed elimina sequenzialmente quelle che hanno un più basso potere esplicativo.
Step 1: Viene individuata la variabile esplicativa (caratteristica dei cellulari) che presenta il più
elevato coefficiente di correlazione con la variabile da spiegare (prezzo dei cellulari). Se la probabilità associata al test di significatività è minore o uguale di 0,05, questa variabile esplicativa è inclusa nell’equazione.
Step 2: Viene individuata una seconda variabile esplicativa che presenta il più elevato
coefficiente di correlazione parziale con la variabile da spiegare; se la probabilità associata al test di significatività è minore o uguale di 0,05, anche questa variabile esplicativa è inclusa nell’equazione.
Step 3: Viene individuata la variabile esplicativa la cui eliminazione riduce meno il potere
esplicativo del modello; se il criterio per eliminare la variabile è soddisfatto (POUT = .10), la
variabile viene eliminata.
Step successivi: Il programma prosegue poi alternando procedure di “forward selection” e di
“backward elimination”. Esso termina quando nessun’altra variabile esplicativa soddisfa i criteri per entrare o essere eliminata dall’equazione .
87 3.8 Recuperare informazioni rilevanti tra tante informazione superflue, attraverso le tecniche di data mining
L’information overload si avverte anche negli ambienti online dedicati agli acquisti. Possono essere tante le opzioni di prodotto, gli attributi di ogni prodotto, le informazioni sui venditori e sui produttori, senza dimenticare le valutazioni rilasciate sui siti specializzati da esperti e/o consumatori che hanno provato il prodotto.
Per selezionare informazioni rilevanti tra tante informazioni inutili, esistono dei particolari programmi statistici in grado di effettuare le cosiddette analisi di Data Mining; una di queste applicazioni si chiama Microsoft Analysis Service. La statistica può essere definita come "estrazione di informazioni utili da insiemi di dati", il data mining è analogo, ma a differenza della statistica, ha a che fare con insiemi enormi di dati. Il data mining è quindi una tipica applicazione informatica usata per rintracciare ed accorpare dati significativi sepolti sotto una montagna di informazioni irrilevanti. L’applicazione di apprendimento automatico statistico
Microsoft Analysis Service, ad esempio, consente la progettazione, la creazione e la gestione di
strutture multidimensionali contenenti dati aggregati provenienti da diverse sorgenti di dati, solitamente database relazionali; essa dispone di algoritmi di data mining che consentono di creare modelli di data mining. Il termine inglese mining fa proprio riferimento al lavoro di estrazione che viene fatto nelle miniere. Il data mining è ritenuta una delle attività cruciali per la comprensione e lo sfruttamento dei dati nella nuova era digitale; si tratta del processo automatico di scoperta e individuazione di strutture all’interno dei dati, vale a dire di patterns, modelli e relazioni. Questo processo, noto anche col nome KDD (Knowledge Discovery in Databases), consente di estrarre conoscenza, in termini di informazioni significative ed immediatamente utilizzabili, da grandi moli di dati, tramite l’applicazione di particolari tecniche ed algoritmi.
Microsoft Analysis Service, utilizza in particolare due algoritmi, per effettuare analisi di data mining: Decision tree analysis, in grado di realizzare alberi decisionali, e Cluster analysis,
per segmentare l’insieme di cellulari venduti online in gruppi omogenei al loro interno e dissimili tra di loro, detti clusters.
Intendendo per progetto, in questo contesto, l’applicazione di tecniche di data mining in un ambito specifico e circoscritto, per il raggiungimento di uno specifico obiettivo, le fasi di un progetto di data mining sono le seguenti:
• individuazione delle fonti dei dati;
• estrazione / acquisizione dei dati (e integrazione, se provenienti da fonti o data base diversi); • pre-processing (pulizia dei dati , analisi esplorative, selezione, trasformazione, formattazione); • data mining vero e proprio (scelta dell'algoritmo, individuazione dei parametri, elaborazione, valutazione del modello;
• interpretazione / valutazione dei risultati; • rappresentazione dei risultati.
L’algoritmo Microsoft Clustering viene definito anche algoritmo di segmentazione perché consente di dividere i dati in gruppi, o cluster, di elementi con proprietà simili. Data una popolazione di oggetti rappresentabili come punti in uno spazio multidimensionale in cui ciascuna dimensione corrisponde ad una caratteristica (feature) di interesse, e data una funzione che esprima la similarità o vicinanza tra due punti, effettuare un clustering significa raggruppare gli oggetti in un ridotto numero di insiemi (cluster) che caratterizzino al meglio la popolazione [Jain, 1988]. In generale, si può affermare che il clustering individua e mette in evidenza le somiglianze tra oggetti; poiché le categorie da individuare non sono note a priori, nella letteratura sul pattern recognition in intelligenza artificiale si parla anche di apprendimento non supervisionato L'algoritmo utilizza tecniche iterative per raggruppare i casi di un set di dati in
cluster con caratteristiche simili. Tali raggruppamenti sono utili per l'esplorazione dei dati,
l'identificazione delle relative anomalie e l’effettuazione di stime. L'algoritmo di clustering si differenzia dagli altri algoritmi di data mining, per esempio dall'algoritmo Microsoft Decision
88
Trees, per il fatto che non è necessario designare una colonna stimabile per creare un modello di clustering.
L’Algoritmo Microsoft Decision Trees, è in grado invece di creare alberi decisionali in base agli attributi disponibili; viene definito anche algoritmo di classificazione, perché consente di stimare una o più variabili discrete, in base agli altri attributi del set di dati. Gli algoritmi decisionali vengono usati per la comprensione di un particolare fenomeno, poiché permettono di classificare in ordine di importanza le cause che portano al verificarsi di un evento. In un albero di decisione ciascun nodo intermedio modella una scelta, tipicamente attraverso una condizione che confronta un attributo con una costante, ciascun arco in uscita da un nodo rappresenta un possibile esito della condizione ivi contenuta, ciascuna foglia rappresenta una decisione finale. Il principale vantaggio di questo tipo di pattern è la facilità di interpretazione da parte dell’utente. Per gli attributi discreti, l'algoritmo esegue le stime in base alle relazioni tra le colonne di input in un set di dati. I valori di tali colonne, noti come stati, vengono utilizzati per stimare gli stati di una colonna designata come stimabile. In particolare, l'algoritmo identifica le colonne di input correlate alla colonna stimabile. Se ad esempio, in uno scenario finalizzato alla stima dei clienti che probabilmente acquisteranno una bicicletta, nove su dieci tra i clienti più giovani acquistano la bicicletta mentre solo due su dieci tra i clienti meno giovani l’acquistano, l'algoritmo desume che l'età rappresenta un criterio di stima valido per l'acquisto di biciclette. L'albero delle decisioni esegue le stime in base alla tendenza verso un determinato risultato.
Per gli attributi continui, l'algoritmo utilizza una regressione lineare per determinare le divisioni dell'albero decisionale. Se più colonne vengono impostate come stimabili o i dati di input contengono una tabella nidificata impostata come stimabile, l'algoritmo crea un albero delle decisioni separato per ogni colonna stimabile.L'algoritmo Microsoft Decision Trees genera un modello di data mining creando una serie di divisioni, chiamate anche nodi, nella struttura. L'algoritmo aggiunge un nodo al modello ogni volta che rileva una colonna di input correlata in modo significativo alla colonna stimabile. Il modo in cui l'algoritmo determina una divisione varia a seconda che venga stimata una colonna continua o discreta
Qualunque sia l’algoritmo utilizzato, dopo aver effettuato l’elaborazione dei dati, il programma espone i risultati attraverso il visualizzatore modelli di data mining. Esso consente di visualizzare il contenuto di modelli di data mining dal punto di vista di un singolo attributo e delle relative relazioni. Questo strumento mostra il contenuto del modello di data mining per ogni nodo influenzato da un singolo attributo nonché i dati dell'istogramma per ogni nodo, visualizza i nodi del modello di data mining utilizzati nel modello, incluse le relazioni tra i nodi e le regole o gli attributi a essi assegnati, sotto forma di una serie di caselle collegate. Ogni casella rappresenta un nodo di una singola struttura decisionale o di un singolo cluster. A ogni nodo viene assegnato un colore indicante l'intensità dei dati di un attributo applicabile a un nodo selezionato in relazione al numero totale di casi elaborati dal nodo selezionato. Le assegnazioni dei colori e l'attributo selezionato possono essere modificati utilizzando l'elenco a discesa dei colori della struttura nel riquadro della legenda. I nodi vengono rappresentati in base alla classificazione dei fattori degli attributi, da sinistra verso destra, nel riquadro con i dettagli del contenuto. Quanto più una suddivisione è rappresentata verso la parte bassa della struttura, tanto minore sarà l'influenza del fattore che l'ha causata sul modello di data mining. Inoltre, il riquadro degli attributi consente di ordinare gli attributi in base al numero di casi o alla probabilità di occorrenza nel nodo selezionato, al fine di poter meglio comprendere la pertinenza di un dato attributo per un nodo.
I vantaggi offerti dalla visualizzazione del contenuto del modello di data mining mediante il
visualizzatore modelli di data mining sono la possibilità di comprendere i modelli e le regole che
caratterizzano un set di casi e la capacità di ottimizzare questi modelli e regole in base ai dati di
training. Ad esempio, è possibile utilizzare le funzioni di visualizzazione del visualizzatore
modelli di data mining per evitare un problema comune del data mining denominato “sovradattamento” (overfitting). Il sovradattamento si verifica quando il modello di data mining
89 inizia a creare regole specifiche di singoli casi. Il modello inizia così ad attribuire importanza a informazioni in realtà non rilevanti. Si supponga, ad esempio, che esista un insieme dei clienti per un modello di data mining relativo a un punto vendita contenente il cognome del cliente come campo di attributo. Il modello di data mining potrebbe creare una regola in base alla quale un cliente di nome Bianchi ha maggiori probabilità di acquistare alcuni utensili, soltanto perché un singolo cliente di nome Bianchi li ha acquistati. Questa regola si basa su un modello casuale, privo di contenuto significativo, e rappresenta un esempio di sovradattamento; la correlazione tra il cognome di un cliente e il tipo di prodotti acquistati in realtà non è significativa. Nella maggior parte dei casi il sovradattamento si verifica quando a un modello di data mining vengono aggiunti attributi che non hanno contenuto significativo; in tali casi, il modello tenta di creare regole laddove non ne esistono.
3.9 Conclusioni
In questo capitolo sono state presentate delle tecniche di information retrieval, vale a dire di recupero delle informazioni rilevanti. Sono stati evidenziati i vantaggi dell’uso dei motori di ricerca per il World Wide Web, dove un utente può inserire un quesito (query), e ottenere una lista di pagine rilevanti.
Sono state considerate alcune delle principali metodologie di filtraggio delle informazioni, che sono le metodologie cognitive (content based) e le metodologie “sociali” o “collaborative” oppure una sintesi dei due approcci. Le metodologie cognitive (content based) selezionano le opzioni sulla base dei contenuti, per esempio la presenza o meno in un testo di alcune parole, oppure la presenza o meno in un telefonino di particolari caratteristiche ma con lo svantaggio di non poter estendere le valutazioni a prodotti significativamente diversi da quelli valutati dall’utente, con il rischio di perdere importanti opportunità. Le metodologie di filtraggio collaborative si basano invece, sulle relazioni fra le valutazioni di persone diverse; l’applicazione più interessante è rappresentata dai filtri collaborativi, che cercano di aiutare le persone a decidere sulla base delle opinioni di altri, nell’ipotesi che le persone che hanno evidenziato preferenze analoghe in passato concorderanno anche in futuro. Ma queste ultime hanno lo svantaggio di non poter essere applicate né a nuovi utenti né a nuove opzioni; quando si presenta un nuovo utente non si sa con quali vecchi utenti sono correlate le sue valutazioni, e quindi non esistono elementi per consigliargli delle opzioni; oppure le nuove opzioni non sono state ancora valutate da nessuno, e quindi non si sa a chi consigliarle. Per una efficace implementazione di un sistema collaborativo di raccomandazione è necessario che sia raggiunta una massa critica di valutazioni, quindi il sistema funziona bene soltanto se c’è un gruppo sociale di persone che collaborano, e nel quale sono molte le persone con simili sistemi di preferenze. I sistemi di raccomandazione collaborativi, difatti, sono maggiormente utilizzati online, soprattutto per la valutazione dei prodotti o servizi, sia per la loro semplicità, sia per la fiducia che i problemi possano essere superati, sia, soprattutto, perché con questi sistemi non è necessario considerare il contenuto, vale a dire le caratteristiche delle opzioni, per potere effettuare delle raccomandazioni. Facendo riferimento alle principali tecniche di filtraggio delle informazioni sono stati realizzati diversi sistemi di raccomandazione; speciali software intelligenti in grado di considerare contemporaneamente un vasto numero di prodotti presenti in un database e di selezionarne un set più ristretto, sulla base delle preferenze di ciascun consumatore. Pur tenendo conto dei diversi vantaggi offerti dall’utilizzo di sistemi collaborative filtering, l’utilizzo di un agente content based filtering, può risultare molto più efficace e affidabile nella selezione di prodotti che corrispondano meglio alle preferenze di ciascun consumatore. Questo perchè un sistema di raccomandazione content based, avvalendosi dei valori di performance degli attributi di ogni opzione di prodotto, effettua delle comparazioni con dati oggettivi e non derivanti dalle indicazioni di un gruppo qualsiasi di opinionisti. Secondo Häubl e Trifts, i sistemi content-based
90 cognitivo, allentando il trade-off tra grado di accuratezza delle decisioni e sforzo sostenuto [Häubl, Trifts, 2000].
Infine per quel che riguarda le tecniche specifiche di filtraggio delle informazioni, l’attenzione è stata in particolare concentrata sugli algoritmi di clustering, e in particolare sulle reti neurali autoorganizzantesi, sulle tecniche di regressione, e sulle analisi di data mining.
91