18 Dec, 2019

1. SAP HANA come piattaforma di Machine Learning

Le Advanced Analytics stanno diventando rapidamente sempre più importanti, in quanto in grado di guidare le decisioni di Business in molti contesti. Come spiegato in dettaglio in questo articolo, il database SAP HANA dispone della Predictive Analysis Library (PAL), un insieme di algoritmi che possono essere utilizzati per eseguire advanced and predictive analytics. Questa combinazione di IT e statistica offre una piattaforma di Machine Learning che consente di prendere decisioni con consapevolezza data driven.


Di seguito esamineremo alcuni dei temi principali che abbiamo considerato durante l'implementazione di un progetto di previsione di time series in un contesto di business reale per un'azienda nel settore del food & beverage. L’obbiettivo del progetto era prevedere la domanda di prodotti al fine di ottimizzare gli ordini di produzione e il livello delle scorte di magazzino e soddisfare così i volumi degli ordini di vendita previsti.

2. Advanced Analytics

Qualsiasi progetto di Advanced Analytics dovrebbe essere guidato da Business, Statistica e IT. Queste tre entità forniscono validità, intuizione e automazione e dovrebbero essere sempre considerate contestualmente in tutte le fasi del progetto. La sovrapposizione di questi tre mondi consente di sviluppare un’applicazione che automatizza la raccolta, l'elaborazione e l'analisi dei dati ed è in grado di fornire importanti insights.

Va considerato anche che il processo è altamente iterativo, le lezioni apprese durante una fase del processo possono innescare domande di business nuove e più mirate e le successive iterazioni traggono vantaggio dall’esperienza maturata nelle precedenti.

01

 

3. Dimensioni di Previsione e Dettaglio Temporale

Se vogliamo che le nostre previsioni forniscano un valore aggiunto, dobbiamo essere in grado di dire quanto volume di un determinato prodotto o di una categoria di prodotti sarà venduta a un determinato cliente nei giorni, settimane o mesi successivi.

Ciò significa che dobbiamo avere una serie temporale per ogni dimensione di interesse, ad esempio prodotto o categoria di prodotto e cliente. La serie sarà composta da un valore per ogni periodo (mese, settimana o giorno). La scelta di quali e quante dimensioni è una questione di equilibrio statistico e requisiti di Business.

Il Business potrà beneficiare della previsione solo se il livello di dettaglio e la finestra temporale selezionati sono adeguati sue esigenze specifiche. D'altro canto, la qualità della previsione dipende molto da queste scelte. Com’è possibile osservare nel grafico sottostante, un cambio di scala temporale porta ad andamenti molto diversi tra loro.

02

4. Preparazione dei Dati

Uno dei compiti più importanti è preparare i dati, in modo che gli algoritmi di previsione possano funzionare al meglio. Le tecniche di data preparation vengono utilizzate per nascondere o evidenziare alcune caratteristiche dei dati. La scelta di quale pre-processing implementare dipende molto sia dal dato sia dal contesto dell’applicazione. Risulta quindi necessario definire una strategia per identificare quali serie necessita di quale tecnica. Di seguito presentiamo due esempi di tecniche di data preparation.

Scaling: le serie temporali caratterizzate da ampie oscillazioni possono essere previste con maggiore accuratezza scalando i loro valori.

03

Outliers: Alcune serie temporali possono presentare valori molto diversi, più grandi o più piccoli, rispetto agli altri punti della stessa time series, senza alcuna rilevanza stagionale. Sostituendo questi valori con un limite superiore, o inferiore, la performance degli algoritmi migliora.

04

 

5. Quale algoritmo è il migliore?

L'ovvia domanda che ci si potrebbe chiedere è: come possiamo scegliere l'algoritmo migliore per ogni serie?

Una possibile strategia consiste nel testare una serie con ogni algoritmo, selezionare il migliore e legarlo alla serie. Per tanto dobbiamo avere una definizione di migliore. Per fare ciò, dividiamo il data set originale in due, Training dataset e Test dataset.

x1

Per ogni serie, eseguiamo la previsione del Test dataset utilizzando solo il Training dataset. Il modello migliore è quello che minimizza l'errore, che possiamo calcolare avendo a disposizione sia Actual (Test Dataset) sia Forecast.

07

Ora che l’algoritmo migliore è stato selezionato, possiamo usarlo per eseguire la previsione con l’intero dataset.

08

In precedenza, abbiamo citato più volte il migliore, ma dare questa definizione non è un compito facile: funzioni dell’errore diverse possono portare a risultati diversi. La scelta di come calcolare l'errore deve essere guidata dalle caratteristiche dei dati e dai requisiti del Business.

Supponiamo, ad esempio, che stiamo usando l'errore assoluto medio percentuale (MAPE, Mean Absolute Percentage Error). L'algoritmo che genera l'errore più basso potrebbe non rappresentare la migliore previsione per l'applicazione che stiamo prendendo in considerazione: una previsione media spesso produce un MAPE inferiore, ma non fornisce alcun trend significativo, caratteristica generalmente richiesta.

09

6. Conclusione

Questi passaggi sono alcuni esempi dei temi che un Data Scientist deve affrontare. Le soluzioni implementate dovrebbero essere guidate con una consapevolezza sia statistica che di Business. L'esperienza di un subject matter expert può portare a intuizioni che nessun modello di Machine Learning è in grado di ottenere. Queste intuizioni dovrebbero essere tradotte in linguaggio statistico, automatizzate ed incorporate nel modello. Questo processo è in continua evoluzione poiché le conoscenze statistiche così ottenute possono stimolare ulteriori domande di Business.

Il database SAP HANA diventa una piattaforma che permette, attraverso PAL e il data managment, di automatizzare il processo di acquisizione, elaborazione e analisi dei dati volto alla generazione di nuove informazioni.