• Non ci sono risultati.

Analisi dei Big Data basati sulla GDO per lo studio dell'integrazione della popolazione straniera

N/A
N/A
Protected

Academic year: 2021

Condividi "Analisi dei Big Data basati sulla GDO per lo studio dell'integrazione della popolazione straniera"

Copied!
57
0
0

Testo completo

(1)

Dipartimento di Informatica Corso di Laurea in Informatica

Tesi di Laurea Magistrale

Analisi dei Big Data basati sulla GDO

per lo studio dell’integrazione della

popolazione straniera

Relatori

Mirco Nanni

Riccardo Guidotti

Candidato

Roberto Zicaro

Anno Accademico 2018/2019

(2)
(3)

Sommario

Lo scopo di questo lavoro di tesi è quello di inferire, attraverso l’analisi di una grande quantità di dati transazionali provenienti dalla Grande Distribuzione Or-ganizzata (GDO), se e quanto nel corso degli anni si osserva una integrazione da parte della popolazione straniera in termini di abitudini alimentari.

Le attività legate alla gestione della grande distribuzione, generano una quan-tità immensa di dati che possono essere usati per estrarre informazioni utili all’ analisi di un fenomeno sociale come quello dell’ integrazione. Integrazione che si può manifestare anche attraverso le abitudini alimentari, che costituiscono una parte fondamentale della cultura di un popolo.

Il caso di studio analizzato riguarda il dataset proveniente da una delle più grandi catene della distribuzione organizzata presenti in Italia. All’interno del dataset sono contenuti gli acquisti effettuati dai clienti nell’arco di nove anni e la loro analisi è stata condotta individuando un modello di machine learnig in grado di classificare i clienti , in base ai prodotti acquistati, come italiani oppure come stranieri. In base a questa classificazione si attua la fase di clusterizzazio-ne, attraverso la quale i clienti vengono suddivisi in gruppi (clusters) omogenei rispetto al loro grado di adesione al profilo di spesa italiano nel corso del tempo. L’andamento del grado di adesione, viene usato per caratterizzare i gruppi di clienti e la sua bontà è stata studiata attraverso l’osservazione dei coefficienti di trend e delle serie temporali.

Vengono selezionati, inoltre, i prodotti che possono indicare un cambiamento nell’andamento degli acquisti dei clienti stranieri. La selezione viene condotta at-traverso una tecnica di esplorazione di quei prodotti che sono stati maggiormente decisivi nella classificazione dei clienti da parte del modello. Tutte queste analisi vengono condotte inizialmente sull’intera popolazione straniera e successivamente sui clienti di alcune nazionalità con culture alimentari diverse da quella italiana, per le quali è stato interessante osservarne i comportamenti di acquisto.

I risultati evidenziano una integrazione in termini di consumi ed abitudini alimentari dei clienti stranieri verso le abitudini alimentari italiane, con delle differenze in base alle varie nazionalità e con un gran numero di clienti stranieri che pur avvicinandosi ad un profilo di acquisto italiano, restano fedeli alla cultura alimentare dei propri paesi di origine.

(4)
(5)

Indice

1 Introduzione

6

2 Stato dell’arte

9

3 Background

12

3.1 Big Data e Machine Learning

. . . 12

3.2 Classificazione

. . . 13

3.2.1 Random Forest

. . . 14

3.2.2 Valutazione del Modello

. . . 15

3.3 Shap (Shapley Additive exPlanations)

. . . 17

3.4 Clustering

. . . 19

3.4.1 Algoritmo K-means

. . . 20

3.5 Time Series

. . . 21

4 Definizione del Problema

23

5 Metodologia

25

5.1 Adesione al Consumo Italiano

. . . 25

5.2 Adesione al Consumo Italiane nel Tempo

. . . 27

6 Caso di Studio

29

6.1 Esplorazione dei Dati

. . . 29

6.2 Risultati

. . . 31

6.2.1 Studio delle Abitudini di Consumo

. . . 31

6.2.2 Risultati delle Abitudini di Consumo nel Tempo

34

7 Conclusioni e Lavori Futuri

50

(6)

Elenco delle figure

Elenco delle figure

3.1 Esempio di Classificazione . . . 14

3.2 Esempio Random Forest . . . 15

3.3 Esempio matrice di confusione . . . 16

3.4 Esplorazione Shap . . . 18

3.5 Esempio di grafico Shap . . . 18

3.6 Time Series consumi di gas . . . 21

4.1 Esempi dei trend del grado di adesione al profilo di spesa italiano nel tempo per clienti italiani (trend blu), stranieri (trend giallo) e per clienti che nel corso del tempo aderiscono al profilo di acquisto italiano (trend rosso) . . . 24

5.1 Metodologia di classificazione dei clienti . . . 27

5.2 Fase di clustering . . . 28

6.1 Numero di clienti per nazione . . . 30

6.2 Quantità di prodotti venduti negli anni . . . 30

6.3 Spesa per anno . . . 31

6.4 Matrice delle features . . . 32

6.5 Accuracy sui dati di test . . . 33

6.6 Accuracy sui dati di apprendimento . . . 33

6.7 F1-score su dati di test . . . 34

6.8 a) Numero di clienti stranieri per ogni cluster, b) Trend di varia-zione del profilo di acquisto dei clienti stranieri (ISCA) al variare dei mesi per ogni cluster, c) Trend time series per il cluster 1 d), Trend time series per il cluster 5, e) Coefficienti di trend per il cluster 1, f) Coefficienti di trend per il clustere 5 . . . 35

6.9 Valori Shap dei prodotti più importanti al variare del tempo per la totalità dei clienti italiani e stranieri . . . 37

6.10 Valori Shap dei prodotti più importanti per i clienti stranieri ed italiani al variare del tempo e dei clusters . . . 38 6.11 Trend quantità media dei prodotti acquistati dagli italiani e dalla

totalità dei clienti stranieri al variare del tempo per ogni cluster . 39 6.12 a) Numero di clienti romeni per ogni cluster b) Trend di variazione

del profilo di acquisto (ISCA) dei clienti romeni al variare dei mesi per ogni cluster c) Trend time series per il cluster 5 d) Trend time series per il cluster 6 e) Coefficienti di trend per il cluster 5 f)

(7)

Elenco delle figure

6.13 Trend dei valori Shap al variare del tempo e dei clusters, dei prodotti più importanti per i clienti romeni ed italiani . . . 42 6.14 Trend quantità media dei prodotti acquistati dai clienti romeni nel

tempo per ogni cluster . . . 43 6.15 a) Numero di clienti libici per ogni cluster b) Trend di variazione

del profilo di acquisto (ISCA) dei clienti libici al variare dei mesi per ogni cluster c) Trend time series per il cluster 2 d) Trend time series per il cluster 4 e) Coefficienti di trend per il cluster 2 f) Coefficienti di trend per il cluster 4 . . . 44 6.16 Trend dei valori Shap al variare del tempo e dei clusters, dei

prodotti più importanti per i clienti libici ed italiani . . . 45 6.17 Trend quantità media dei prodotti acquistati dai clienti libici nel

tempo per ogni cluster . . . 46 6.18 a) Numero di clienti cinesi per ogni cluster b) Trend di variazione

del profilo di acquisto (ISCA) dei clienti cinesi al variare dei mesi per ogni cluster c) Trend time series per il cluster 1 d) Trend time series per il cluster 6 e) Coefficienti di trend per il cluster 1 f) Coefficienti di trend per il cluster 6 . . . 47 6.19 Trend dei valori Shap al variare del tempo e dei clusters, dei

prodotti più importanti per i clienti cinesi ed italiani . . . 48 6.20 Trend quantità media dei prodotti acquistati nel tempo dai clienti

(8)
(9)

Capitolo 1

Introduzione

“Il futuro è la datacrazia, un mondo senza più governanti, in cui gli algoritmi ci consiglieranno cosa fare” [18]. Questa significativa frase pronunciata da Derrick De Kerckhove, già professore di sociologia della cultura digitale e marketing dei nuovi media alla Università Federico Secondo di Napoli, fa capire che in un mondo sempre più interconnesso ed in movimento, l’innovazione dipende dalle relazioni sociali, dai collegamenti che permettono un aumento delle connessioni relazionali attraverso la rete. De Kerckhove sostiene che “siamo diventati tutti individui globali grazie alle nuove possibilità di accesso alle comunicazioni satellitari e alle nostre infinite connessioni globali via Internet”. Oggi nessuno di noi può fare a meno di Internet, in ambito lavorativo e non. Nel web, tutti lasciamo tracce, consciamente o inconsciamente e possiamo affermare che oggi ognuno di noi è un "generatore di dati ambulante". Il risultato di tutto ciò sono i Big Data: un grande volume di dati pronti per essere catturati, immagazzinati, analizzati e utilizzati per scopi diversi. I big data sono un fenomeno associato ad una grande evoluzione degli usi e delle abitudini delle persone. Ogni volta che usiamo un computer, accendiamo lo smartphone o apriamo una app sul tablet, sempre e comunque lasciamo una nostra impronta digitale fatta di dati. I Big Data, infatti, vengono dalla multimedialità sempre più spinta che ha origine dal proliferare di dispositivi fissi e mobili che usiamo per vivere e per lavorare. Ad esempio, dalla familiarità con il videosharing e da una cultura dell’ immagine che porta le persone a condividere ogni tipo di scatto fotografico, dai sensori integrati in migliaia di oggetti che, collegati alla rete, oggi chiamiamo Internet of Things [19], dai sistemi informatici e dalle infrastrutture a supporto della produzione, dai social network, della distribuzione e dell’ erogazione dei servizi [10].

Le attività legate alla gestione della Grande Distribuzione Organizzata (GDO) generano quotidianamente una grande mole di dati, che finora sono stati trattati ricorrendo alle tecniche e agli strumenti della business intelligence tradizionale. Le tecnologie legate ai Big Data consentono di lavorare su tali dati che ogni giorno i sistemi digitali della GDO producono. Transazioni, comportamenti d’acquisto, interazioni sui social, storico delle vendite, informazioni sulle campagne marke-ting vengono integrati e capitalizzati per restituire una conoscenza che permette, in tempo reale, di stabilire scientificamente il giusto prezzo. I Big Data, i

(10)

que-sto settore, non servono solo ad analizzare le vendite o il flusso dei visitatori. Oggi i Retailer e la GDO sono già in grado di analizzare preferenze, file, orari, durata delle visite, geo-localizzazione, tempo di permanenza, fedeltà dei clienti, frequenza, scelte, promozioni personali, clienti speciali e molto altro, ottenendo un quadro veramente completo di ogni consumatore.

Lo scopo di questo lavoro di tesi è quello di analizzare i big data provenienti dalla GDO di un noto gruppo commerciale italiano, per comprendere il fenomeno dell’integrazione della popolazione straniera in Italia. Integrazione che si mani-festa in diversi campi, tra i quali vi è anche quello dell’alimentazione, il quale ha il potenziale per creare dinamiche di inclusione e fornisce un grande contribu-to alla comprensione di quescontribu-to fenomeno epocale. L’immigrazione, infatti, è un fenomeno che ha da sempre contraddistinto la vita degli esseri umani. Definita come trasferimento permanente o spostamento temporaneo di persone in un pae-se diverso da quello d’origine, l’immigrazione interessa l’intero pianeta, benché gli stati di partenza e arrivo siano mutati col susseguirsi delle epoche storiche. L’Italia, dal punto di vista migratorio risulta essere un paese molto particolare poiché nel corso della storia ha conosciuto i due lati della stessa medaglia: flussi prima in uscita e adesso in entrata. Pertanto, lo studio delle migrazioni abbrac-cia vari ambiti di ricerca, tra cui antropologia, sociologia, economia, statistica e, più recentemente, fisica e informatica [30]. Quest’ultima, in particolare, or-mai sempre più al centro della nostra vita in tutti i campi, i quali non possono più prescindere dall’informatica, offre, grazie all’utilizzo dei big data, una analisi molto particolare di come la popolazione straniera si possa integrare, con quella italiana nella scelte dei prodotti della grande distribuzione.

In questa tesi si affronta il problema dell’analisi dei comportamenti d’acquisto, nel corso del tempo, dei clienti stranieri per comprendere se vi sia o meno una integrazione con le abitudini alimentari italiane. Il problema è stato affrontato attraverso l’individuazione di un modello di machine learnig in grado di classifi-care i clienti in base ai loro acquisti e, attraverso l’uso di tecniche di clustering per lo studio dei pattern di acquisto simili.

Pattern analizzati nel corso del tempo, di cui ne viene controllata la correttez-za attraverso l’uso di coefficienti matematici che attestano l’attendibilità statistica dei dati. I clienti vengono caratterizzati rispetto all’andamento del grado di ade-sione al profilo di spesa italiano, denominato come ISCA (Italian Consumption Agreement), il cui valore indica di quanto un cliente straniero sia più o meno vi-cino alle abitudini alimentari italiane. Viene effettuata, inoltre, una selezione dei prodotti che indicano un cambiamento nelle abitudini di acquisto dei clienti stra-nieri. Tale selezione vive effettuata attraverso la Shapley Additive exPlanations (SHAP), una tecnica che permette di individuare i prodotti che sono determi-nanti nella classificazione dei clienti in base ai loro acquisti. La metodologia di risoluzione de problema, per il nostro caso di studio, ha portato alla luce una integrazione in termini di abitudini alimentari con cambiamenti di acquisto dei prodotti da parte, sia della totalità dei clienti stranieri e sia dei clienti provenienti da pesi che hanno una cultura alimentare diversa da quella italiana, i quali sono

(11)

Il resto della tesi è organizzato come segue. Nel Capitolo 2 viene enunciato lo stato dell’arte in cui è presente uno studio su tutti i lavori di ricerca effettuati nell’ambito dei big data sulla GDO e su come è stato trattato questo argomento sino ad oggi. Nel Capitolo 3, vengono presentati i concetti fondamentali per la comprensione di questo lavoro di tesi e nel Capitolo 4 viene definito formalmente il problema da risolvere. La metodologia seguita per la risoluzione del problema viene proposta nel Capitolo 5. Il caso di studio affrontato, viene discusso nel Capitolo 6, in cui viene valutato il dataset utilizzato per gli esperimenti e i risultati ottenuti. L’ultimo capitolo, infine, contiene le conclusioni di questo lavoro di tesi ed i possibili lavori futuri che possono essere attuati partendo dai risultati ottenuti.

(12)

Capitolo 2

Stato dell’arte

Il percorso del lavoro di tesi affrontato, riguarda l’analisi di grandi quantità di dati (Big Data) circa l’utilizzo del dataset degli acquisti dei clienti di una grande catena di supermercati italiani. Nello specifico, si analizza l’evoluzione temporale degli acquisti dei clienti stranieri per capire se avviene o meno una integrazione con le abitudini alimentari italiane.

La Grande Distribuzione Organizzata è un meccanismo gestionale di attività commerciali legate al commercio al dettaglio di prodotti di largo consumo, la cui caratteristica peculiare è l’aggregazione dei propri punti vendita [27]. Natural-mente un sistema aziendale di queste dimensioni è in grado di generare quotidia-namente una grossa quantità di dati, che se raccolti ed elaborati possono diventare un supporto concreto per coloro che si occupano del controllo e della gestione di tutte le attività aziendali. Ma non solo, questi dati posso essere analizzati per estrarre importanti informazioni in grado di farci comprendere fenomeni sociali.

Nel corso degli anni, l’analisi dei dati provenienti dalla grande distribuzione organizzata, è stata oggetto di molti studi, i quali hanno interessato soprattutto l’aspetto del comportamento dei clienti, con il fine di classificarli in merito ai loro acquisti effettuati. Questo è ciò che viene chiamato customer profiling and seg-mentation, attraverso cui le aziende possono effettuare campagne di marketing mirate per ogni gruppo di clienti, canalizzando meglio le risorse a disposizio-ne [33]. Questo vuol dire anche la possibilità, da parte delle aziende della GDO, di comunicare individualmente con i loro clienti per fornire loro un miglioramen-to personalizzamiglioramen-to dei servizi. La profilazione dei clienti viene anche utilizzata per individuare nuovi clienti attraverso i dati demografici. Questi dati vengo-no utilizzati per suddividere i clienti in gruppi con caratteristiche di acquisto condivise [2].

Esistono vari lavori che hanno cercato di predire gli acquisti dei clienti [3, 11] oppure di capirne i comportamenti nello shopping online [17, 20, 22, 32]. In [14] è stato proposto un algoritmo (TxMeans) in grado di effettuare una efficiente partizione dei dati degli acquisti dei clienti in modo automatico. Per i casi in cui il clustering deve essere applicato a massicce quantità di dati diversi, si utilizza la tecnica del clustering transazionale. Allo stato dell’arte tutti i metodi per il

(13)

richiede alcuna impostazione dei parametri ed è disegnato per cercare clusters nello specifico contesto dei dati transazionali. Questo metodo è stato testato come una sorta di "assistente al carrello della spesa", per suggerire ai clienti possibili acquisti da aggiungere al loro carrello. Acquisti basati sulle analisi dei dati dei cluster dei carrelli rappresentativi, nello storico degli acquisti di ogni cliente. Anche in altri lavori presenti in letteratura sono stati usati metodi che utilizzano l’approccio temporale, ma non forniscono un modo per capire come esattamente il tempo abbia degli effetti sui comportamenti dei consumatori.

In [9] sono stati usati algoritmi di calssificazione supervisionata, gli autori del recente articolo [35] hanno proposto l’uso delle reti neurali, mentre algoritmi di pattern minig per la ricerca di itemset frequenti sono oggetto di studio in [15]. In [13] è stato sviluppato un framework per riconoscere i clienti residenti, turisti ed occasionali su un grande dataset che contiene gli acquisti di più di un milione di clienti. Si tratta di un framework metodologico non supervisionato, che è in grado di riconoscere le tre tipologie di clienti sopra citate, attraverso l’esplorazio-ne delle vendite al dettaglio: tipologia di dato complessa, di varia dimensiol’esplorazio-ne che contengono la tipologia di prodotti che vengono acquistati e quanto spende ogni cliente. Inoltre, il tipo di dato analizzato dal framework consiste nelle sessioni di acquisto dei consumatori che contengono informazioni su dove viene acquistato un determinato prodotto e le informazioni riguardanti la data delle sessioni di acquisto. Dopo aver tracciato il profilo temporale degli acquisti, i clienti vengo-no clusterizzati (raggruppati) ed in base a questo, vengovengo-no poi classificati come turisti, residenti oppure clienti occasionali.

Un altro framework analitico basato sui big data, è stato proposto dagli au-tori in [23] per comprendere le relazioni che intercorrono tra il comportamento di acquisto dei clienti ed il prezzo dei prodotti. Il tutto è stato condotto attraverso un’analisi del monitoraggio delle informazioni geografiche sui punti vendita in un ampio set di dati contenente decine di migliaia di clienti e migliaia di prodotti. I comportamenti dei clienti sono oggetto di studio anche in [12], in cui vengono confrontati con la dinamica temporale degli acquisti attraverso tecniche di data mining, per osservare la prevedibilità comportamentale dei clienti. Il comporta-mento viene stimato attraverso due aspetti: ciò che è presente nel carrello della spesa del cliente e attraverso la sessione temporale degli acquisti. Viene analiz-zato così, l’effetto che può avere la prevedibilità degli acquisti di un cliente sullo scenario della vendita al dettaglio. Tecniche di data mining sono presenti an-che in [1], per scoprire un insieme di regole an-che descrivono il comportamento dei clienti.

In altri studi recenti si analizzano ancora gli acquisti dei clienti per compren-derne il loro comportamento [29] e [8], oppure in [16] per comprendere se un cliente cambierà la marca dei prodotti acquistati. In particolare, in questo ca-so, viene sviluppato un metodo per estrarre conoscenza dai singoli acquisti di un cliente, combinando fra loro tecniche di data mining per capire se il cliente cambierà marchio oppure diventerà fedele ad un solo marchio e per prevedere con quale probabilità un cliente possa passare alla concorrenza. Sono molto pochi i lavori, presenti nella letteratura, in cui si mette in luce l’aspetto la dimensione

(14)

temporale degli acquisti per attuare nuove analisi e, nei casi in cui la componente temporale è stata tenuta in considerazione, è stato solo relativo allo scopo di con-sigliare ai clienti quali prodotti acquistare. Diversamente, in questo lavoro, al fine di capire se i clienti stranieri tendono nel tempo, attraverso gli acquisti effettuati, ad assumere un comportamento alimentare simile ai clienti italiani e quindi ad avere una forma di integrazione, si è tenuta in considerazione la variabile tempo.

(15)

Capitolo 3

Background

In questo capitolo vengono presentati i concetti chiave per comprendere il conte-nuto del lavoro di tesi.

3.1

Big Data e Machine Learning

Il "fenomeno Big Data", nato attorno al 2011, ha ormai superato la fasi in cui si trattava solo di una parola alla moda. Ma che cosa sono i Big Data? Cos’è la Big Data analytics? Una quantità crescente di informazioni che la trasformazione digitale produce dando origine a questa grande quantità di dati, in ogni ambito sociale, che saranno la chiave della competitività e dell’innovazione. I Big Data, di per sé, sono insiemi di dati spesso disordinati che “sonnecchiano” sul cloud o nei server. Per sfruttarli è necessario riordinarli. E, una volta riordinati, interrogarli. Per interrogare i dati servono degli algoritmi, capaci di categorizzarli creando dei modelli capaci di aiutarci a trarre informazione dai dati. La combinazione di dati e algoritmi sta alla base del machine learning che è il motore del valore dei Big Data. Per Machine Learning si intende invece quella branca dell’intelligenza artificiale che si occupa dello sviluppo di algoritmi e tecniche che consentono ai calcolatori di apprendere informazioni di qualsivoglia natura, utilizzandole per la sintesi di nuova conoscenza, sia sotto forma di una classificazione che della previsione di un risultato. Gli algoritmi di Machine Learning sono tipicamente suddivisi in tre principali categorie, in base alla natura dell’apprendimento [28].

• Algoritmi Supervisionati

Il calcolatore è preventivamente addestrato tramite un training set, un in-sieme di attributi relativi ad un elemento in input, ai quali è associato un valore di output chiamato label (o etichetta) che indica il risultato di ta-le eta-lemento. Il fine di tata-le approccio è quello di insegnare al programma una regola generale che mappi l’andamento degli attributi in input a quel determinato risultato (fase di training). Una volta individuato il modello migliore possibile, si passa alla fase di testing, in cui l’algoritmo utilizza il modello trovato su una serie di dati di prova (questa volta senza risultato

(16)

3.2. Classificazione

associato), per poter calcolare stime su tali dati. Questo è proprio il tipo di approccio implementato in questo lavoro di tesi.

• Algoritmi Non Supervisionati

Nessuna etichetta è data all’algoritmo come indicazione su cosa cercare, l’unico metodo che questo ha a disposizione per trovare un modello generale è quello di confrontare fra loro i dati in input, cercando analogie e differenze. A questa categoria appartengono gli algoritmi di clustering e di associacion rules.

• Algoritmi Semi-Supervisionati

Questi algoritmi lavorano su un insieme di dati che solo in parte possie-dono già una classificazione. Sono problemi simili a quelli degli algoritmi supervisionati, almeno per una parte dei dati. Solitamente, la parte dei dati già classificata è una piccola porzione del dataset, ma è sufficiente a rendere l’algoritmo più preciso. Questa classe di algoritmi è utile quando vi è una grande disponibilità dei dati non classificati ed il costo per classificarli manualmente è molto alto.

Rientrano in questa categoria i textitmodelli generativi, le Semi-Supervised Support Vector Machine e gli algoritmi self trining. [4]

Un’altra discriminante è il tipo di output desiderato. Nel caso dell’apprendimento supervisionato possiamo avere diversi tipi di approcci, tra cui

• Classificazione

Nel caso di classificatori, gli input sono suddivisi in due o più classi. L’al-goritmo deve produrre un modello che assegni i nuovi elementi testati ad una o a più di queste classi. Tipicamente implementano in un modello supervisionato.

• Regressione

Nel caso della regressione, anch’essa gestita con apprendimento supervisio-nato, gli output assegnati sono risultati numerici, invece che “descrittori”.

3.2

Classificazione

La classificazione è uno dei due problemi principali dell’ apprendimento supervi-sionato, la branca del machine learning che si occupa di insegnare ai computer come risolvere determinati problemi mostrandogli esempi di come questi sono già stati risolti in passato.

Con il termine classificazione si intende l’operazione di assegnare gli oggetti ad alcune categorie predefinite, si tratta di un problema diffuso che riguarda molte applicazioni diverse. Tra gli esempi che si possono citare c’è l’identificazione delle email di spam sulla base dell’ oggetto e del contenuto, la categorizzazione delle

(17)

3.2. Classificazione

cellule tumorali come benigne o maligne. L’input per un problema di classifica-zione è rappresentato da un insieme di dati chiamato training set, l’obiettivo è quello di creare una descrizione generale che permetta di catalogare nuovi dati non ancora visti. La classificazione è una tecnica utilizzata nell’apprendimento con supervisione dove l’obiettivo, in base alle analisi di dati precedentemente eti-chettati, è quello di riuscire a prevedere l’etichettatura delle classi di dati future. Le etichette sono valori discreti non ordinati che possono essere considerati ap-partenenti a un gruppo di una classe. Nella figura 1.1 viene mostrato un esempio di classificazione binaria basato su di un campione d’apprendimento.

Figura 3.1: Esempio di Classificazione

Per quanto riguarda i cerchi abbiamo una classe negativa, mentre per le X ab-biamo una classe positiva. In questo esempio abab-biamo a disposizione un dataset bidimensionale. Ad ogni campione vengono associati due colori x1 e x2.

Utiliz-zando un algoritmo d’apprendimento automatico con supervisione, si è in grado di riconoscere le due classi e ad associare i dati, sulla base dei loro valori, alle due diverse categorie.

In questo lavoro, la classificazione è stata attuata mediante l’uso del modello Random Forest.

3.2.1

Random Forest

Il Random Forest è un algoritmo di machine learning, appartenente alla famiglia degli alberi decisionali, ossia a quella classe di algoritmi che prendono il nome dalla loro struttura ad albero e che sono particolarmente utilizzati per determinare a quale categoria appartiene un elemento, in base al valore dei suoi attributi noti [4]. Random Forest è un algoritmo di apprendimento supervisionato e, come si può evincere dal nome, si crea una “foresta” di alberi e la si rende in qualche modo casuale. Tale “foresta” è formata da un insieme di alberi decisionali, addestrati, nella maggior parte delle volte con il metodo di “bagging”, metodo alla cui base c’è l’idea di combinare vari modelli apprendimento automatico (machine learning) per arrivare al risultato finale. Di seguito viene mostrato un esempio di Random Forest con due alberi decisionali.

(18)

3.2. Classificazione

Figura 3.2: Esempio Random Forest

In un albero decisionale ogni nodo interno rappresenta un “test” su un attributo (ad es. se un lancio di monete esce testa o croce), ogni ramo rappresenta l’esito del test e ogni nodo foglia rappresenta un’etichetta di classe (decisione presa dopo aver calcolato tutti gli attributi). In altre parole: il Random Forest crea più alberi decisionali e li unisce per fornire un risultato più accurato e stabile. Il grande vantaggio del Random Forest è che può essere usato sia nella classificazione che nella regressione. In questo lavoro di tesi è stato usato in ambito di classificazione. Il vantaggio nell’uso di questo modello risiede nel fatto che invece di cercare la caratteristica più importante durante la divisione di un nodo, si cerca la migliore features tra un sottoinsieme casuale di features. Ciò si traduce in una grande diversità che produce un modello migliore.

3.2.2

Valutazione del Modello

La prima procedura usata per la valutazione di un modello, in questo caso del Random Forest, è chiamata hold-out e consiste nella suddivisione dei dati dispo-nibili in due diversi insiemi. Il primo insieme, più numeroso e solitamente tra il 70 e l’80% del dataset iniziale, è chiamato trining set e viene usato nella fase di trining. La fase di trining è quel processo che l’algoritmo segue per definire i parametri interni che consentono di ricavare la variabile di output a partire dalle variabili di input. Il restante 20% oppure 30% dei dati viene usato per il test. La fase di test avviene usando l’algoritmo, parametrizzato grazie al trining, per generare il valore di output a partire dai dati del test set (prediction). Il con-fronto tra la predizione ed il valore reale (presente nel test set ma ovviamente non è impiegato nella prediction) fornisce alcune metriche di valutazione come l’accuracy, la precision, la recall. Nei modelli di classificazione, come in questo lavoro di tesi, la valutazione viene fatta confrontando, come visto sopra, i valori reali con i valori predetti. Questo confronto viene fatto sfruttando la matrice di

(19)

3.2. Classificazione

confusione, di cui viene mostrato un esempio in figura 3.3, che altro non è che una tabulazione incrociata delle classi reali e delle classi predette.

Figura 3.3: Esempio matrice di confusione

Da cui la classe positiva P = T P + F N e la classe negativa N = F P + T N Dalla matrice di confusione scaturisco le metriche citate in precedenza e, per ottimizzare un algoritmo è bene impiegare, fra queste, la metrica più adeguata al problema. Accuracy = (T P + T N ) (P + N ) P recision = T P (T P + F P ) Recall = T P (T P + F N )

L’accuracy è una misura che potrebbe essere fuorviante. Ad esempio se aves-simo 100.000 pazienti e solo 10 fossero malati (classe positiva), un modello che classificherebbe tutti casi come pazienti sani (classe negativa) avrebbe un’accu-racy di (0+99990)/100.000 = 99.99%. Il modello valutato con questa metrica risulterebbe perfetto ma non coglie ciò che davvero ci interessa e cioè i pazienti malati.

Quindi si dovrebbe usare:

• L’Accuracy quando desideriamo che la maggior parte degli elementi sia-no classificati correttamente, indipendentemente dalla produzione di falsi positivi o falsi negativi

• La Recall quando si vuole massimizzare i veri posotivi senza far crescere troppo i falsi positivi

• La Precision quando volgiamo massimizzare i veri positivi e minimizzare i falsi negativi

Esiste un’ulteriore misura chiamata F-score che si calcola con la formula seguente: F − score = (2 ∗ recall ∗ precision)

recall + precision

Questa misura è molto utile nella valutazione della classificazione fatta in in questo lavoro di tesi.

(20)

3.3. Shap (Shapley Additive exPlanations)

Un altro diverso approccio di valutazione è il k-fold cross validation [4] che consiste nel suddividere casualmente le osservazioni in k gruppi. Esistono quindi k iterazioni nelle quali il k-esimo insieme è considerato come test set e i restanti k-1 insiemi rappresentano il traning set. Le misure di valutazione in questo caso sono ottenute come media delle singole misure ottenute ad ogni iterazione.

Nell’apprendimento automatico applicato esiste, di solito, un compromesso tra precisione del modello e interpretabilità. Negli ultimi tempi ci sono stati grandi progressi nel fronte dell’interpretazione dei modelli e uno dei metodi più recenti nel campo e il cosiddetto metodo Shap.

3.3

Shap (Shapley Additive exPlanations)

Le recenti ricerche sull’interpretabilità di un modello si sono concentrate sullo sviluppo di spiegazioni locali: dato un modello ed un campione di dati, si spiega perché il modello ha fatto una determinata previsione o classificazione per quel campione [25]. L’accuratezza e la qualità di queste spiegazioni sono rapidamente migliorate e stanno diventando strumenti importanti per comprendere le decisioni che un modello assume sui singoli campioni di dati. Tuttavia, il costo dell’esame della comprensione dei modelli può essere proibitivo con i grandi set di dati che abbiamo a disposizione oggi ed è poco chiaro se molteplici spiegazioni di un modello possono essere aggregate senza contraddirsi a vicenda [5, 26]. Per spiegare al bontà del risultato del modello, in questo lavoro di tesi si usa Shap, un approccio basato sui valori di Shapley che è un concetto di soluzione nella teoria dei giochi comparativi. Il valore di Shapley viene calcolato attraverso la seguente formula: φi(v) = 1 |N |! X R [v(PiR)[i) − v((PiR))] Dove • N è il numero di giocatori

• |N |! è il numero di diverse permutazioni di |N |! giocatori • PR

i è l’insieme ordinato dei giocatori

• v(PR

i ) è il contributo dell’insieme ordinato dei giocatori

• v(PR i )

S

{i} è il contributo dell’insieme ordinato dei giocatori e dell’i-esimo giocatore

Questa formula calcola il contributo marginale medio di un valore di una features rispetto a tutte le altre. In altre parole, i valori di Shapley considerano tutte le possibili previsioni (nel nostro caso classificazioni) per un’istanza, usando tutte le possibili combinazioni in input. I valori di Shapley sono stati introdotti nella teoria dei giochi dal 1953, ma solo recentemente sono stati utilizzati nel contesto

(21)

3.3. Shap (Shapley Additive exPlanations)

dell’importanza delle features. Shap appartiene alla famiglia dei "metodi di attri-buzione delle caratteristiche additive". Ciò significa che Shap assegna un valore a ciascuna funzione per ciascuna previsione (ovvero l’attribuzione della funzione); maggiore è il valore, maggiore è l’attribuzione della funzione alla previsione, o classificazione, specifica.

Figura 3.4: Esplorazione Shap

Per avere una panoramica di quali sono le features più importanti per l’ouput di un modello, Shap mette a disposizione una tipologia di grafico molto intuitivo di cui riportiamo un esempio nella figura successiva.

Figura 3.5: Esempio di grafico Shap

Il grafico in figura 3.5, mostra le features ordinate in base alla somma delle gran-dezze del valore Shap su tutti i campioni e utilizza tali valori per mostrare la di-stribuzione degli impatti che ciascuna features ha sull’output del modello. Questo esempio si riferisce all’analisi di previsione dei prezzi delle case. Il colore rappre-senta il valore della funzione (rosso alto, blu basso) e rivela, ad esempio, che un

(22)

3.4. Clustering

LSTAT elevato (bassa percentuale di popolazione) fa diminuire il prezzo delle abitazioni.

3.4

Clustering

Il lavoro di analisi dei dati effettuato in questa tesi, è stato affrontato anche attraverso l’uso del clustering.

Il clustering è la divisione dei dati in gruppi di oggetti simili [6]. Ogni gruppo, detto cluster è costituito da oggetti simili fra loro, ma dissimili dagli oggetti che sono all’interno degli altri gruppi [24]. Come funzionalità del data mining, ossia di quell’insieme di tecniche e metodologie che hanno per oggetto l’estrazione di informazioni utili da grandi quantità di dati, il clustering può essere utilizzato per esaminare le distribuzioni dei dati, per osservare le caratteristiche di ciascu-na distribuzione e per focalizzarsi su quelle di maggiore interesse. L’input di un algoritmo di clustering è costituito da un campione di elementi, mentre l’output è dato da un certo numero di cluster in cui gli elementi del campione sono sud-divisi in base ad una misura di similarità [4]. La cluster analysis è utilizzata per numerose applicazioni, come ad esempio:

• Ricerche di mercato • Riconoscimento di pattern

• Raggruppamento di clienti in base ai comportamenti di acquisto • Analisi dei social network

Esistono un gran numero di algoritmi di clustering e la scelta dell’ algoritmo da utilizzare in un dato contesto, dipende dal tipo di dati disponibili, dal particolare scopo e dall’ applicazione. Gli algoritmi di clustering si dividono in due principali categorie:

• Algoritmi di clustering gerarchico • Algoritmi di clustering partizionale

I primi organizzano i dati in sequenze nidificate di gruppi [4] che vengono rap-presentate in una struttura ad albero. Gli algoritmi di clustering partizionale, invece, determinano il partizionamento dei dati in cluster, in modo da ridurre al differenza tra gli elementi all’interno dello stesso cluster e , viceversa, di aumen-tarne la differenza tra i vari cluster. A differenza degli algoritmi gerarchici, in questo caso tutti i cluster sono allo stesso livello di partizionamento. Gli algoritmi di clustering partizionali sono più adatti a dataset molto grandi, per i quali la costruzione di una struttura gerarchica porterebbe ad uno sforzo computazionale molto elevato. Approfondiamo, nella prossima sezione l’algoritmo K-means che è stato utilizzato in questo lavoro di tesi nella fase di clustering.

(23)

3.4. Clustering

3.4.1

Algoritmo K-means

Il k-means è un algoritmo di clustering partizionale molto utilizzato. I punti seguenti ne riassumono i passaggi di calcolo:

1. Definiamo il numero k di cluster desiderati. Tale numero è determinato in base a valutazioni preliminari.

2. Si suddivide l’insieme in k cluster, assegnando ad ognuno di essi degli elemento scelti a caso.

3. Si calcolano il centroide (il punto rappresentativo) di ciascun cluster attra-verso la seguente formula:

Mk = 1 nk x nk X i=1 xi,k Dove:

Mkè il centroide per il cluster k nkè il numero di elementi del cluster k xi,k

è l’ i-esimo elemento del cluster

4. Si calcola la distanza degli elementi del cluster dal centroide, ottenendo un errore quadratico attraverso la formula:

e2k= nk X i=1 (xi,k − Mk) Dove: e2

k è l’errore quadratico per il cluster k Mk è il centroide per il cluster k nk

è il numero di elementi del cluster k xi,k è l’ i-esimo elemento del cluster

L’errore quadratico è chiamato within-cluster sum of squares (WSS). La somma degli errori di tutti i cluster fornisce l’errore totale per la partizione, che rappresenta il valore da minimizzare.

5. Si riassegnano gli elementi del campione in base al centroide più vicino 6. Si ripetono i passaggi 2,3,4 e 5 finchè non si raggiunge il valore minimo

dell’errore totale, oppure finchè gli elementi dei cluster non si stabilizzano, oppure finchè non si raggiunge un numero massimo di iterazioni predefinito L’algoritmo K-means fornisce come output, oltre ai cluster, anche altre misure:

• I centroidi dei cluster • L’errore quadratico totale

(24)

3.5. Time Series

Questo algoritmo è sensibile all’allocazione iniziali dei valori e, in base ad essi potrebbe convergere ad un minimo locale della funzione d’errore e non al minimo assoluto. Sempre a causa dell’allocazione iniziale dei valori, l’algoritmo potrebbe fornire risultati diversi ad ogni esecuzione sugli stessi dati. Per far fronte al problema dell’ allocazione iniziale, si crea un certo numero di clusterizzazioni, valutando quale sia la migliore misurando la qualità di ogni cluster.

3.5

Time Series

Capita molto spesso che le osservazioni sulle variabili di interesse, siano raccolte sequenzialmente nel tempo. Una Time Series (serie temporale) è una sequenza di osservazioni cronologica oppure orientata nel tempo [21]. Alcuni esempi possono essere: le rilevazioni trimestrali del Prodotto Interno Lordo dell’Italia effettua-te dall’ISTAT, il prezzo orario delle azioni di una compagnia, il profitto annuo di un’azienda oppure la temperatura massima giornaliera in una determinata località.

Figura 3.6: Time Series consumi di gas

Il grafico in figura 3.6 ad esempio, mostra la serie temporale per le rilevazioni dei consumi di gas nel corso di un determinato arco di tempo. Le Time Series vengono impiegate nel momento in cui si vuole capire la dinamica della serie osservata, ovvero, il meccanismo con cui si evolve nel tempo. La loro analisi consiste in una serie di metodologie che permettono di scomporre l’andamento di una serie, con l’obiettivo di identificare le componenti dell’andamento della serie in modo da potersi concentrare sul movimento di fondo della stessa, ed utilizzare queste informazioni per effettuare previsioni oppure per comprendere un fenomeno.

Ci sono tre componenti sistematiche identificabili in una serie storica:

1. Trend: l’andamento tendenziale di fondo, quello che ne determina l’an-damento futuro. Una serie può cambiare trend: il trend può modificare il coefficiente angolare (appiattirsi o impennarsi), o il livello generale (un gradino verso l’alto o il basso).

(25)

3.5. Time Series

2. Ciclo: oscillazioni più o meno ampie e di varia lunghezza intorno al trend, legate a circostanze contingenti. Ad esempio il ciclo economico è il re-sponsabile della maggior parte delle oscillazioni cicliche di qualunque serie economica e finanziaria: il turismo è una di queste.

3. Stagionalità: oscillazioni precise di entità varia ma periodo sempre uguale intorno ai valori di trend e ciclo. Sono variazioni sistematiche che riguar-dano la periodicità della serie. Ad esempio, gli arrivi turistici dipendono fortemente dal periodo dell’anno in cui ci si trova.

I metodi di scomposizione di una serie temporale nelle sue componenti sono tre, a seconda di come queste interagiscano tra loro per dare luogo alla serie osservata:

1. Modello additivo, in cui le componenti si sommano tra loro 2. Modello moltiplicativo, in cui le componenti si moltiplicano

3. Modello misto, in cui una parte è moltiplicativa ed una parte è additiva In questo lavoro di tesi è stato usato il modello additivo che verrà mostrato nei successivi capitoli. Inoltre, sono stati calcolati, attraverso l’uso della regressione lineare, alcuni importanti coefficienti per lo studio delle relazioni che intercorrono fra le variabili calcolate. In particolare attraverso la regressione lineare dei minimi quadrati sono stati calcolati i seguenti coefficienti:

• Intercep: valore che intercetta la linea di regressione ossia il valore che assume la variabile y quando x=0. In altre parole rappresenta il punto nel quale la retta incrocia l’asse delle y.

• Slope: rappresenta la pendenza della linea di regressione. Ci indica quindi di quanto varia y al variare di una unità di x. Il segno di questo coefficien-te indica il verso dell’inclinazione (indica di quanto cambia yi, quando xi

incrementa di una unità).

• p-value: Indica la probabilità di ottenere un risultato campionario altret-tanto o più estremo di quello osservato. Più piccolo è il p-value, più estremo è il valore osservato e più bassa è l’evidenza che i dati siano coerenti con la distribuzione sotto l’ipotesi nulla [34].

(26)

Capitolo 4

Definizione del Problema

Lo scopo di questo lavoro di tesi è quello di inferire, attraverso l’analisi di una grande quantità di dati transazionali provenienti dalla GDO, se e quanto nel corso degli anni si osserva una integrazione da parte della popolazione straniera in termini di abitudini alimentari. In questa sezione viene formalizzato il problema che si vuole risolvere.

Definizione dei dati. Sia B = {b1, ..., bn} l’insieme delle n transazioni e sia

P = {p1, ..., pk} l’insieme dei k prodotti. Una transazione bi è definita come

un sottoinsieme di prodotti tale che ∅ ⊂ bi ⊆ P . I dati relativi all’insieme B

prendono il nome di dati transazionali e sono tipi di dati categorici. In questo lavoro di tesi si risolve un problema di tipo supervisionato, in cui si hanno una o più variabili indipendenti x, una variabile dipendente y e si deve trovare una funzione predittiva f tale che f (x) = y. L’insieme delle variabili indipendenti x vengono chiamate features e la variabile y viene chiamata target.

Al fine di risolvere il nostro problema, definiamo X = {X1, ..., Xn} come

l’in-sieme delle features, ossia delle caratteristiche che rappresentano n clienti, con Xi ∈ IRm ed m numero di features. Xit rappresenta il prodotto X acquistato al

tempo t (anno-mese) di ogni cliente i. Quindi l’insieme Xt = {X1t, ..., Xnt} rap-presenta quella che in seguito chiameremo matrice delle features, ossia l’insieme di tutti i prodotti acquistati, al tempo t con le relative quantità e prezzo. Dato un insieme di prodotti P , si calcola X come:

Xi,jt = X

bn∈Bti

pj∈bn

quant(Pj)

Definizione della funzione predittiva. Definiamo l’insieme delle label Y = {0, 1} che rappresentano le variabili target, in particolare yi = 0 se il cliente i è

italiano oppure yi = 1 se il cliente i è straniero. La funzione f è la seguente

f : X −→ [0, 1]

(27)

Questa variabile viene usata per indicare quanto un cliente sia o meno vicino al profilo italiano di spesa: 0 < ISCA < 1. Se questo valore, nel corso del tempo, si trova sotto lo 0.5, come mostrato in figura 4.1 (trend blu), oppure tende a zero allora il cliente è italiano oppure si è integrato. Viceversa, se ISCA > 0.5, figura 4.1 (trend giallo), oppure tende a 1 il cliente è straniero oppure non si integra nelle abitudini alimentari italiane. Nel grafico viene mostrato anche un esempio del trend di questa variabile (trend rosso) per un ipotetico cliente straniero, che tende nel tempo ad integrarsi in termini di abitudini alimentari; infatti come si può vedere dopo alcuni mesi, il valore ISCA va al di sotto dello 0.5 sancendo un allineamento con le abitudini alimentari italiane.

Figura 4.1: Esempi dei trend del grado di adesione al profilo di spesa italiano

nel tempo per clienti italiani (trend blu), stranieri (trend giallo) e per clienti che nel corso del tempo aderiscono al profilo di acquisto italiano (trend rosso)

Una volta applicata la funzione, l’obiettivo è:

1. Definire gruppi omogenei (cluesters) di adesione alle abitudini alimentari italiane

2. Caratterizzare tali gruppi rispetto • all’andamento del trend ISCA

(28)

Capitolo 5

Metodologia

In questa sezione verrà specificata la metodologia e quindi i vari passi, che sono stati seguiti per la risoluzione del problema illustrato nel capitolo precedente. Il dataset a disposizione, come verrà spiegato nella sezione 6, contiene le informa-zioni sui clienti e sui loro acquisti, analizzati per estrarre informainforma-zioni necessarie allo studio di una eventuale integrazione da parte dei clienti stranieri. Come primo passo viene costruita una struttura dati definita matrice delle features X , che rappresenta tali informazioni. Nel passo successivo viene individuato un modello, a cui viene data in input la funzione f, che è in grado di attuare la fase di classificazione dei clienti e quindi di distinguerli tra italiani e stranieri. I clienti all’interno di queste due categorie vengono poi raggruppati con tecniche di clustering per analizzarne gli acquisti nel tempo in maniera più approfondita.

5.1

Adesione al Consumo Italiano

La struttura iniziale, che serve a rappresentare i dati a disposizione, è costituita da una grande matrice X. Ogni riga di questa matrice, rappresenta un cliente con i suoi acquisti. Ogni categoria di prodotto è rappresentata sia come quantità ac-quistata e sia come spesa effettuata per acquistarlo. Per semplicità, nel prosieguo dell’analisi dei dati, è stata tenuta in considerazione solo la quantità dei prodotti acquistati per ogni cliente e per ogni anno-mese. In particolare, ogni riga della matrice X è un vettore di lunghezza m che contiene tutte le quantità dei prodotti acquistate dal cliente i in un dato tempo t. Nell’ultima colonna della nostra ma-trice, per ogni cliente viene specificata la sua nazionalità. Questa struttura dati rappresenta l’insieme delle features, ossia di tutte le caratteristiche, in grado di discriminare al meglio i clienti e che serviranno nella fase successiva per allenare il modello scelto ed attuare la classificazione dei clienti.

Scelta del modello. Dopo aver creato la matrice delle feautures X, è stato individuato un modello di machine learning in grado di classificare i clienti come italiani oppure stranieri. Il modello scelto è il classificatore chiamato Random Forest [7], il quale ha fornito un’ accuratezza maggiore rispetto ad altri modelli, in fase di esperimenti preliminari che non vengono riportati perchè i risultati sono

(29)

5.1. Adesione al Consumo Italiano

inconsistenti. Le righe della matrice rappresentano quindi, gli esempi che verran-no forniti all’ algoritmo di addestramento in modo tale che costruisca il modello dei dati. Tale modello, sarà in grado di dirci, partendo dall’input, e quindi da un cliente con i suoi prodotti acquistati, se il cliente è italiano oppure straniero. Ogni cliente che ha fatto acquisti nell’anno-mese considerato, è stato rappresentato con un vettore contenente le quantità acquistate di ciascun prodotto.

Traning del modello. Il procedimento con cui l’algoritmo impara dai dati di input è chiamato training [4]. La fase di training del modello è stata regolata attraverso l’impostazione degli iperparametri, ossia di tutte quelle impostazioni dell’algoritmo che permettono di ottimizzarne le prestazioni1. In questa fase

l’algoritmo apprende, in base alla classificazione, quali caratteristiche (features), in questo caso quali prodotti acquistati per ogni anno e mese, discriminano i clienti appartenenti alle due differenti categorie (italiani o stranieri). Conclusa la fase di apprendimento, la correttezza dell’algoritmo viene verificata eseguendo una fase di test.

Test del modello. Il modello scelto viene allenato usando i dati relativi agli acquisti di ogni singolo mese del 2008, per poi essere testato su tutti i dati dei restanti medesimi mesi degli anni successivi. Si è scelto di lavorare a livello di ogni singolo mese poichè mese dopo mese acquisti diversi possono dare luogo a pattern di acquisto diversi. Ad esempio, si è partiti allenando il modello su tutti i dati degli acquisti dei clienti avvenuti nel mese di gennaio 2008; per poi testarlo su tutti i dati degli acquisti dei mesi di gennaio degli anni successivi. Lo stesso procedimento è stato attuato per tutti gli altri mesi. Si è scelto di operare a livello mese per ottenere pattern di acquisti più precisi che potrebbero essere diversi mese dopo mese, anche ad esempio a causa della stagionalità dei prodotti. L’ output di questa fase sono le probabilità con cui il modello ha classificato i clienti come italiani oppure come stranieri, in base agli acquisti effettuati nel tempo. Tali probabilità, che abbiamo definito in precedenza come ISCA (Italian Shopping Consumption Agreement), saranno l’input della successiva fase di clustering in cui si analizza l’ integrazione nel tempo.

1L’impostazione ad esempio del numero di alberi decisionali all’interno della foresta, del numero di features da considerare prima di suddividere ogni nodo oppure del numero massimo di iterazioni da effettuare

(30)

5.2. Adesione al Consumo Italiane nel Tempo

Figura 5.1: Metodologia di classificazione dei clienti

La figura 5.1 mostra in sintesi la prima fase di analisi, vediamo ora come viene affrontato la parte successiva che riguarda l’osservazione dei comportamenti di acquisto nel tempo.

5.2

Adesione al Consumo Italiane nel Tempo

Terminata la fase di classificazione dei clienti in base ai loro acquisti, si attua un’analisi volta ad osservare se nel corso del tempo si ha una evoluzione delle probabilità di cambiamento di acquisto (e quindi di integrazione) da parte dei clienti stranieri. Questa analisi, condotta attraverso l’uso del clustering, porta ad una definizione dei gruppi di clienti omogenei, rispetto all’adesione alle abitudini alimentari italiane. Tali gruppi vengono poi caratterizzati in base all’andamento del trend ISCA, con lo studio delle time series, ed attraverso i valori Shap, rispetto ai prodotti acquistati su cui si è focalizzato il nostro modello.

Clustering. I clienti stranieri vengono partizionati in gruppi (clusters). Ogni cluster è quindi un insieme di clienti stranieri, con i loro acquisti, che presentano tra loro delle similarità, ma che presentano dissimilarità con i clienti stranieri degli altri cluster. Tra gli algoritmi di clustering partizionale, più adatti ai dataset molto grandi come quello che stiamo analizzando, per i quali la costruzione di una struttura gerarchica dei cluster porterebbe a uno sforzo computazionale molto elevato, si è scelto il k-means. Questo algoritmo fornisce la descrizione delle caratteristiche di ogni cluster e quindi degli acquisti fatti dai clienti nell’arco di tempo scelto per la nostra analisi. In figura 5.2 viene mostrata la metodologia seguita nella fase di clustering in cui, i trend del grado di adesione al profilo di

(31)

5.2. Adesione al Consumo Italiane nel Tempo

tale, vengono dati in input all’algoritmo di clustering. In output vengono forniti i clusters ossia i gruppi di clienti aggregati in base al loro trend di adesione al profilo di spesa italiano.

Figura 5.2: Fase di clustering

Time series. Effettuata la fase di clustering in gruppi di clienti omogenei, osser-viamo, attraverso l’uso del trend delle serie temporali, se viene ben rappresentato quello che c’è ne cluster ossia l’andamento rappresentativo dell’ adesione al profilo di spesa italiano (ISCA). Oltre all’osservazione del trend, si calcolano attraver-so l’uattraver-so della regressione lineare alcuni coefficienti utili alla comprensione delle relazioni che legano il trend ISCA al variare dei mesi. Per comprendere questa relazione sono stati calcolati il valore di slope, intercept e p-value.

Shap. Per comprendere e spiegare meglio la bontà del risultato del modello usato nella fase di classificazione, viene utilizzata la metodologia Shap menzionata nel paragrafo 3.3. Per gli acquisti di ogni mese, effettuati da ogni cliente, vengono calcolati i valori shap che rappresentano i contributi che ogni features ha fornito al risultato prodotto dal modello. Ogni valore Shap, di una determinata features, può essere negativo se quella determinata feature ha influito negativamente sulla classificazione, positivo se ha influito positivamente oppure può assumere valore zero, o vicino allo zero, se ha influito in maniera non decisiva. I valori shap, esposti attraverso opportuni grafici forniscono una chiara comprensione dei risultati del modello.

(32)

Capitolo 6

Caso di Studio

Come caso di studio è stato analizzato il dataset proveniente da uno dei più grandi gruppi italiani della distribuzione organizzata, UniCoop Tirreno, in cui vengono venduti prodotti alimentari e non alimentari. Prima di iniziare ad effettuare l’analisi vera e propria, è stato necessario sviluppare una buona comprensione dei dati a disposizione. Spesso i grandi dataset possono presentare discrepanze, mancanza di valori o altre anomalie e quindi la visualizzazione ed il riepilogo dei dati, consentono di controllarne la qualità e offrono le informazioni necessarie per la loro elaborazione. Tutto ciò verrà mostrato in questo capitolo.

6.1

Esplorazione dei Dati

Il dataset contiene gli acquisti effettuati dai clienti tra il 2007 ed il 2016. Al suo interno sono presenti sia attributi categorici come ad esempio il sesso dei clienti, il nome delle categorie dei prodotti acquistati e della località in cui si trovano gli esercizi commerciali, sia attributi numerici. Attraverso l’analisi preliminare effettuata su dati, nel dataset a disposizione non sono stati riscontrati valori mancanti, nulli o altre discrepanze.

Le transazioni dei prodotti acquistati, sono presenti con le relative categorie dei prodotti, quantità, prezzo e date degli acquisti effettuati dai clienti. Visto che i dati relativi agli anni 2007 e 2016 non erano completi per tutti i mesi dell’an-no, è stato ritenuto, per completezza, di concentrare l’analisi sui dati compresi tra gennaio 2008 e dicembre 2015. Ogni cliente è rappresentato da un numero identificativo univoco, dallo stato, dal sesso, dall’età e dall’anno di associazio-ne effettuato attraverso la sottoscrizioassociazio-ne di una carta fidelity. Sono presenti in totale 727.898 clienti di cui 25.820 clienti stranieri e 702.078 clienti italiani. In particolare, i clienti stranieri provengono da 159 diversi paesi e nella figura 6.1 è riportato il grafico che riassume il numero dei clienti per le nazionalità con più utenti. I clienti stranieri sono in maggioranza donne, 16.982, di età compresa fra i 45 ed i 50 anni e associati tra il 2000 ed il 2003, mentre i clienti di sesso maschile sono 8.850. Non sono presenti informazioni che ci indicano composizioni fami-liari. La nazionalità con il maggior numero di clienti, come si può osservare dal

(33)

6.1. Esplorazione dei Dati

grafico seguente, è la Romania con più di quattromila clienti, seguita da Svizzera, Germania e Albania con meno di duemila clienti.

Figura 6.1: Numero di clienti per nazione

I prodotti presenti nell’intero data set sono 7.868, ciascuno rappresentato da un numero identificativo univoco denominato codice marketing. Tutti i prodotti presenti nel dataset, sono aggregati a più livelli: area, settore, macrosettore, reparto, categoria, sottocategoria e segmento. Per semplicità, tutte le analisi sono state condotte a livello di categoria.

(34)

6.2. Risultati

La categoria che contiene il maggior numero di prodotti è quella dei prodotti omeopatici. Ad una prima analisi effettuata sui prodotti si è osservato, come

Figura 6.3: Spesa per anno

mostrato in figura 6.2, che tra il 2011 ed il 2013 si ha un incremento della quantità di prodotti acquistati, che tende lievemente a calare nei due anni suc-cessivi, anni in cui, a dispetto di un piccolo calo negli acquisti, si riscontra un netto calo della spesa effettuata da parte dei clienti. Le analisi preliminari hanno permesso di capire la consistenza del dataset a disposizione per il nostro caso di studio. Infatti, al suo interno sono presenti dati utilissimi alla comprensione degli acquisti dei clienti, sia come quantità e sia come descrizione. I prodotti sono descritti a più livelli e per semplicità si è scelto di lavorare a livello di categoria. Altro fattore molto importante è il tempo a cui i dati si riferiscono, infatti, come viene menzionato in precedenza, sono presenti gli acquisti effettuati in un arco di tempo vastissimo da una enorme platea di clienti provenienti da tantissime nazionalità diverse. Tutto ciò rende questo dataset una importantissima miniera da cui estrarre preziose informazioni.

6.2

Risultati

Nella sezione 5 è stata illustrata la metodologia seguita per analizzare il dataset a disposizione e verificare se nel corso degli anni si osserva una integrazione da parte dei clienti stranieri nelle abitudini alimentari. In questa parte verrà mostrato in dettaglio come è stata istanziata la metodologia.

6.2.1

Studio delle Abitudini di Consumo

(35)

6.2. Risultati

oppure che effettuano pochi acquisti, pur essendo soci della catena di negozi, si è scelto di selezionare solo quelli che hanno effettuato acquisti per almeno 120 mesi dalla data di associazione.

I dati di questi acquisti vengono raggruppati per ogni cliente e per ogni me-se di ciascun anno e vengono inme-seriti nella matrice delle features. Nella figura successiva viene mostrata, come esempio, la matrice delle features relativa agli acquisti effettuati nel mese di gennaio 2015.

Figura 6.4: Matrice delle features

Questa matrice contiene quindi tutti i prodotti, aggregati a livello di categoria e raggruppati per ogni cliente e per ogni mese. In particolare, ogni cliente è rap-presentato, nella prima colonna, da un numero identificativo univoco, dall’anno e dal mese che si stanno prendendo in considerazione per gli acquisti (di un da-to cliente), mentre le restanti colonne indicano i prodotti acquistati con il nome della relativa categoria e relativa quantità. Tale matrice viene data in input al modello scelto per classificare i clienti, ossia il Random Forest che è stato allenato con i dati degli acquisti effettuati in ciascun mese del 2008 ed è stato poi testato sui dati degli stessi mesi di tutti gli anni successivi. Si è scelto di raggruppare a livello mese i prodotti acquistati e di allenare con questi dati il classificatore, poichè mese dopo mese acquisti diversi possono dare luogo a pattern di acquisto diversi.

In questa fase, nella matrice delle features vengono separati i dati delle feau-tres e del target. Quest’ultimo, che rappresenta l’obiettivo della classificazione, è il valore che vogliamo prevedere, in questo caso i valori 0 oppure 1 a seconda se il cliente è rispettivamente italiano oppure straniero. Durante la fase di allena-mento, al modello vengono mostrate le risposte (target), in modo tale che possa imparare a classificare i clienti, mentre nella fase di test, al classificatore vengono dati in input solo gli acquisti (tranne il valore target) effettuati in tutti i mesi degli anni successivi al 2008.

Le fasi di creazione, addestramento e test del modello sono state effettuate attraverso l’uso della libreria Scikit-Learn di Python 1. Questa libreria permette

di attuare l’impostazione degli iperparametri per il Random Forest. Gli iperpa-rametri sono paiperpa-rametri regolabili scelti per regolare il processo di training di un modello. Le prestazioni del modello dipendono infatti, in larga misura, dai va-lori degli iperparametri selezionati. L’obiettivo della loro esplorazione è eseguire delle ricerche nelle varie configurazioni di questi parametri, per individuare una configurazione con le prestazioni migliori. Per automatizzare questo processo si

(36)

6.2. Risultati

usa la Random Search che sorteggia casualmente i valori degli iperparametri dai range e dalle distribuzioni, attraverso una funzione di calcolo che è stata creata appositamente, eseguendo un numero prefissato di iterazioni.

Figura 6.5: Accuracy sui dati di test

Nella figura 6.2 viene mostrato il grafico dell’andamento dell’accuratezza del modello sui dati di test. Come possiamo notare, il modello mostra una maggiore accuratezza con i dati sui test dei primi mesi relativi ai primi anni, per poi tendenzialmente diminuire. In particolare si ha una buona accuratezza per i mesi di gennaio, febbraio, ottobre e novembre. Questo ci fa già capire come le abitudini di acquisto possono cambiare nel tempo, i clienti stranieri tendono ad avvicinarsi alle abitudini di acquisto dei clienti italiani ed è più difficile distinguerli, ed è quindi plausibile usare il classificatore come misura di integrazione degli stranieri.

Figura 6.6: Accuracy sui dati di apprendimento

L’accuratezza relativa invece ai dati di training si mantiene costante durante tutti i mesi. Come menzionato nel paragrafo 3.2, l’accuratezza è una misura che può essere fuorviante, per questo motivo calcoliamo anche la F1-score (o F-mesure) riportata nella figura 6.7, che rappresenta un buon trade-off tra le altre

(37)

6.2. Risultati

Figura 6.7: F1-score su dati di test

Essendo la F1 una media armonica tra queste due misure (i falsi positivi e i falsi negativi sono ugualmente importanti quando i veri positivi rimangono gli stessi), questa dovrebbe rimanere invariata nel tempo se abbiamo più falsi positivi e meno falsi negativi; ma dal grafico emerge che la F1 tende a diminuire nel tempo. Questo può essere dovuto alla maggiore presenza di falsi negativi o falsi positivi. Gestione valori mancanti. Nella matrice delle feautres sono stati inseriti de-gli zeri nei periodi in cui un cliente non effettua acquisti. Dato che il nostro modello ha classificato i clienti come italiani (0) e stranieri (1), inserire degli zeri non è corretto perchè si andrebbero ad indicare come italiani, quei clienti che in alcuni periodi non fanno acquisti. Per ovviare a questo, nei periodi in ci non ci sono acquisti, vengono inseriti dei valori che posso simulare un comportamento. Dato che i periodi in cui non compaiono acquisti sia all’inizio del periodo che sto esaminando, sia nel centro ed alla fine, possiamo distinguere questi tre casi nel seguente modo:

1. Se gli zeri si trovano all’inizio, vengono sostituiti con il primo valore non nul-lo che troviamo (quindi ipotizziamo che si sia comportato come nell’ultimo acquisto effettuato).

2. Se gli zeri si trovano nel mezzo del periodo che stiamo esaminando allora essi vengono sostituiti con la media dei due valori non nulli prima e dopo tale periodo.

3. Se gli zeri si trovano alla fine allora vengono sostituiti con l’ultimo valore non nullo.

In questo modo vengono eliminate oscillazioni e picchi nei risultati, dovuti, ap-punto, all’enorme quantità di zeri presenti.

6.2.2

Risultati delle Abitudini di Consumo nel Tempo

Attraverso l’uso del clustering, si definiscono gruppi di clienti che sono simili per abitudini di spesa e successivamente, attraverso l’osservazione del trend che in-dica il grado di adesione alla spesa italiana ISCA (Italian Shoping Consumption

(38)

6.2. Risultati

Agreement), verifichiamo se rappresenta bene quello che c’è nei clusters. In ultima analisi, identifichiamo attraverso l’uso dei valori di Shap, i prodotti che potreb-bero indicare un cambiamento nelle abitudini di acquisto. Classificati i clienti, essi vengono raggruppati per osservare se esistono pattern di acquisto simili nel tempo. Quindi, l’obiettivo di questa fase è fare clustering rispetto al concetto di italianità e cioè rispetto al grado di adesione al profilo di spesa italiano nel tempo denominato ISCA. Questo valore viene analizzato nell’arco temporale di 120 mesi e questa fase di clusterizzazione, viene eseguita attraverso l’algoritmo K-means. Per la sua esecuzione, in tutti i casi riportati, viene impostato il numero di cluster in corrispondenza della posizione ad angolo della curva SSE [31] e si esegue su di essi l’algoritmo K-means.

Clienti stranieri. Per la clusterizzazione della totalità dei clienti stranieri, è stato impostato il numero di clusters k = 6 e di seguito vengono riportati i risultati dell’output del k-menas.

Figura 6.8: a) Numero di clienti stranieri per ogni cluster, b) Trend di

variazione del profilo di acquisto dei clienti stranieri (ISCA) al variare dei mesi per ogni cluster, c) Trend time series per il cluster 1 d), Trend time series per il cluster 5, e) Coefficienti di trend per il cluster 1, f) Coefficienti di trend per il clustere 5

Nel grafico 6.8 (a) viene riportato il numero di clienti all’interno di ogni cluster mentre nel grafico (b) viene riportato l’andamento del trend ISCA nel tempo, in

(39)

6.2. Risultati

2008 non avevano maturato 120 mesi di acquisti e quindi non idonei all’analisi. Questo andamento ci mostra come evolvono le features (e quindi gli acquisti) nel tempo per la totalità dei clienti stranieri presenti in ogni cluster. Possiamo notare, infatti, come i clienti presenti nel cluster 1 dopo 50 mesi mostrano una netta integrazione verso le abitudini alimentari italiane, con l’indice ISCA che scende al di sotto dello 0.5; mentre quelli presenti all’interno del cluster 5, il più popoloso, hanno un comportamento di acquisto invariato nel tempo che non si avvicina a quello italiano, come accade anche per i clienti del cluster 4. Per i restanti clienti presenti nei cluster 3 e 6, il valore di ISCA è sempre al di sotto dello 0.5. Infatti all’interno di questi due clusters è presente in gran numero una popolazione di clienti europei, come francesi spagnoli e svizzeri, i quali hanno ovviamente dei comportamenti di acquisto più vicini a quello italiano. Questa analisi dell’indice ISCA fatta sui clusters, viene confermata anche dallo studio condotto attraverso l’uso delle time series con le quali possiamo osservare il trend di questo valore in maniera più precisa.

Soffermandoci sul cluster 1 e sul cluster 5, che sono rispettivamente, il cluster più importante in quanto mostra un netto cambiamento nel corso dei mesi ed il cluster con il maggior numero di clienti, mostriamo di seguito la componente trend della serie temporale che ci permette di capire se ciò che viene rappresentato nel grafico 6.8 (a) è corretto. Osservando il grafico 6.8 (c) che riguarda il trend del cluster 1, possiamo notare come l’andamento il trend sia in discesa dopo 50 mesi, confermando l’analisi fatta precedentemente attraverso il grafico 6.8 (a). Mentre in 6.8 (d) viene riportato il trend per il clustrer 5. Oltre all’osservazione dei trend per i due cluster, sono stati calcolati anche altri coefficienti per misurare le relazioni tra le variabili calcolate, ossia l’indice ISCA al variare dei mesi. Nella tabella riportata in figura 6.8 (e) ed (f) vengono riportati gli indici di correlazione per il cluster 1 e 5 e come possiamo notare abbiamo uno slope (pendenza) negativo per entrambi, mentre i p-value sono molto più piccoli di 0.5 che indica il livello di significatività e dimostra che i dati di trend osservati per la totalità dei clienti stranieri, sono statisticamente significativi. Infine per il cluster 1 e 5 sono stati calcolati i valori di Shap per capire quali prodotti e come essi abbiano influito sull’output del modello che ha classificato i clienti presenti all’interno di questi due clusters.

Per identificare i prodotti, il cui acquisto ci dovrebbe indicare un cambiamento di profilo dei clienti stranieri sono stati calcolati i valori Shap, i quali rappresen-tano l’importanza che ogni features fornisce al risultato di output del modello. Tali valori vengono calcolati sia per i clienti italiani che per quelli stranieri, ven-gono ordinati ed in base a questi, si selezionano i 50 prodotti più importanti per i clienti italiani e per quelli stranieri e si mettono a confronto. La maggior parte di questi prodotti selezionati non sono informativi, in quanto i relativi valori sono uguali sia per gli italiani che per gli stranieri, di seguito si riportano i grafici con la variazione dei valori Shap nel tempo, dei prodotti che vengono ritenuti interes-santi al fine della nostra analisi: il pane, le mele e le bibite. Questi prodotti sono stati usati anche per le analisi effettuate con i soli clienti romeni, libici e cinesi.

(40)

6.2. Risultati

Figura 6.9: Valori Shap dei prodotti più importanti al variare del tempo

per la totalità dei clienti italiani e stranieri

Per questi tre prodotti vengono calcolati i valori di Shap al variare dei mesi per i due cluster che stiamo considerando.

Riferimenti

Documenti correlati

La nuova strategia prevede infatti la transizione verso un censimento basato in misura importante sull’impiego di registri e liste (register supported) ed il recupero nella

Per le persone addette al culto e per i militari di carriera esercitanti una professione non inerente all'esercizio del cÙlto o all'atti- vità tipicamente

As large institutions like Kaiser accumulate and organize their clinical data and as the American Academy of Ophthalmology does the same with the Intelligent Research In Sight

Le matrici di connessione di ciascun elemento hanno 6 righe (pari al numero di DOF di quell'elemento ovvero 3 DOF per il nodo &#34; i &#34; e 3 DOF per il nodo &#34; j &#34;) e

L’algoritmo fornisce indicazioni sull’opportunità di un trattamento farmacologico sulla base dei molteplici fattori già considerati dalla nota 79... QUALI SONO I PRINCIPALI FATTORI

La distribuzione territoriale degli stranieri nel Comune di Perugia negli anni 2007–2008-2009 Il territorio comunale è stato diviso in 15 aree per consentire la conoscenza e

uomini in regime ordinario, i cittadini stranieri si ricove- rano sempre meno degli italiani residenti: lo scarto è particolarmente ampio per gli uomini in regime di DH,

◼ è la più grande collezione Open Data di tweet su questo tema. ◼ Ciascun gruppo dovrà analizzare solo un sotto-campione di