360 likes | 470 Views
Tecniche di softcomputing (reti neurali ed algoritmi genetici) per l’analisi dei sistemi complessi applicati alla finanza moderna. Data Mining e Classificazione. Greta Falavigna Ceris – CNR, Torino g.falavigna@ceris.cnr.it Cagliari, 22-23/giugno/2005.
E N D
Tecniche di softcomputing (reti neurali ed algoritmi genetici) per l’analisi dei sistemi complessi applicati alla finanza moderna Data Mining e Classificazione Greta Falavigna Ceris – CNR, Torino g.falavigna@ceris.cnr.it Cagliari, 22-23/giugno/2005
Il Data MiningIl modello e i risultati ll Data Mining • Il Data Mining è un processo di analisi, svolto in modo semiautomatico, di una grande quantità di dati grezzi al fine di scoprire un modello che li governa, o una regola significativa, da cui ricavare conoscenze utili applicabili al contesto operativo (come ad esempio previsioni e classificazioni) • Quello che oggi viene chiamato Data Mining è in realtà il risultato di 3 aree di ricerca: • Machine Learning (Apprendimento Automatico): ha fornito algoritmi per la rilevazione di pattern nei dati. • Statistica: ha elaborato le tecniche per la progettazione sperimentale dei progetti. • Supporto alle decisioni: è stata la causa della nascita del Data Mining Cagliari, 22-23/giugno/2005
Il Data MiningIl modello e i risultati Le tecniche di Data Mining • Le tecniche di Data Mining servono per trasformare i dati grezzi in informazioni utili. Dunque servono per risolvere: • Problemi di esplorazione dati (Data Mining Non Supervisionato). Approccio bottom-up. • Problemi di classificazione e di regressione (Data Mining Supervisionato). Approccio top-down • Le principali tecniche di Data Mining utilizzate sono le seguenti: • Cluster Analysis; • Alberi Decisionali; • Reti Neurali Cagliari, 22-23/giugno/2005
Il Data MiningIl modello e i risultati La Cluster analysis • Si tratta di una tecnica di data mining non supervisionato. • Per clustering si intende la segmentazione di un gruppo eterogeneo in sottogruppi (cluster) omogenei. Ciò che distingue il clustering dalla classificazione è che non si fa ricorso a classi predefinite Cagliari, 22-23/giugno/2005
Il Data MiningIl modello e i risultati Alberi Decisionali • Il Decision Tree è un tecnica di classificazione o di regressione ad albero. • I nodi di un albero decisionale (escluse le foglie) sono domande (i rami costituiscono complessivamente regole di decisioni). Quando l’albero viene applicato ai dati in ingresso, ogni dato viene analizzato dall’albero lungo un percorso stabilito da una serie di test sugli attributi (features) del dato stesso, finchè questo non raggiunge un nodo foglia, associato ad una categoria o classe (al dato viene assegnata una etichetta di classe, class label, per la classificazione, mentre un valore numerico alla variabile target se si tratta di regressione). Cagliari, 22-23/giugno/2005
Il Data MiningIl modello e i risultati Reti neurali e topologia • Si tratta di un processo parallelo composto di singole unità di calcolo (neuroni), che possiede una naturale predisposizione a memorizzare le conoscenze sperimentalmente acquisite ed a renderle disponibili per l’uso. • Combinando in diversi modi i neuroni della rete si riescono a risolvere classi di problemi differenti. Le topologie più ricorrenti sono: • Multi-Layer Perceptron (MLP): basata su apprendimento supervisionato; • Self Organizing Map (SOM): basata su apprendimento competitivo. Cagliari, 22-23/giugno/2005
Il Data MiningIl modello e i risultati Reti neurali: caratteristiche • Le caratteristiche di una rete neurale sono: • Training: la conoscenza è acquisita dalla rete mediante un processo di apprendimento; • Aggiornamento dei pesi: le connessioni neuronali (pesi sinaptici) sono utilizzate per memorizzare le informazioni acquisite; • Complessità; • Non-linearità di tipo “speciale”: nel senso che è distribuita all’interno della rete. E’ una proprietà importante soprattutto se il fenomeno fisico che si vuol simulare è propriamente non lineare. • Adattività: la rete neurale ha una capacità di adattare i suoi pesi sinaptici ai cambiamenti dell’ambiente circostante. • Risposta evidente: in un contesto di patter classification una rete neurale può essere disegnata per fornire informazioni sul livello di “confidenza” della decisione presa. Questa informazione può essere usata per rigettare pattern ambigui. • Parallel Processing System (Sistema a processamento parallelo). Cagliari, 22-23/giugno/2005
Il Data MiningIl modello e i risultati Reti neurali: topologia MLP (1/5) • Una Multi-Layers Perceptron net (MLP) è composta da una serie di “percettroni” organizzati con una struttura gerarchica che può comprendere uno o più strati nascosti (hidden layer) legati con la regola del feed-forward (un nodo dello strato i-esimo può essere collegato solo ad un nodo dello strato (i+1)-esimo): Cagliari, 22-23/giugno/2005
Neurone i-esimo x w 1i 1i n O S i i f i x w Ri 1i b i E = T - O Algoritmo di Generatore di i i i T Apprendimento Errore in Uscita i Teacher Il Data MiningIl modello e i risultati Reti neurali: topologia MLP (2/5) • Il percettrone è un semplice neurone dotato del circuito teacher per l’apprendimento: Cagliari, 22-23/giugno/2005
tj bj vj yj wji -1 ej yj Neurone j Il Data MiningIl modello e i risultati Reti neurali: topologia MLP (3/5) • L’addestramento di una MLP avviene in genere con l’algoritmo Back-Propagation che ha come idea di base che per ogni dato in ingresso (training set), si calcola l’errore e la direzione in cui modificare i pesi per minimizzare l’errore. Questa direzione è rappresentata dal gradiente (dell’errore) cambiato di segno. Cagliari, 22-23/giugno/2005
Il Data MiningIl modello e i risultati Reti neurali: topologia MLP (4/5) • Erroredel neurone j dell’uscita: • ej = tj - yj • Funzione errore totaledella rete nello strato di uscita: • E = ½ je2j j = 1..n • (n è il numero di neuroni nello strato di uscita) • Gradiente locale: definisce la direzione in cui variare lo stato del neurone j per minimizzare l’errore totale: • δj = - ∂E / ∂vj • Regola del Delta : indica di quanto modificare i pesi per minimizzare l’errore in un generico passo del sistema: • wji = α δj yi (α = tasso di apprendimento) • Pesi al passo successivo: wji (n+1) = wji (n) + wji (n) Cagliari, 22-23/giugno/2005
Errore totale sul training set Il Data MiningIl modello e i risultati Reti neurali: topologia MLP (5/5) • L’algoritmo si arresta o per il raggiungimento dell’errore minimo accettabile o per il raggiungimento del numero massimo di epoche stabilite in fase di progetto (per evitare che il processo di addestramento termini all’infinito). Un’epoca è un ciclo di aggiornamento completo di tutti i pesi, dando in input l’intero set di training 150 300 Epoche Cagliari, 22-23/giugno/2005
Il Data MiningIl modello e i risultati Il modello: obiettivi • Obiettivo: generalizzare • Strumento: rete MLP con back propagation Addestrare la rete neurale su imprese di cui si conosce lo stato di salute affinché sia in grado di riconoscere se imprese con stesse caratteristiche ma mai introdotte nella rete sono sane o meno Cagliari, 22-23/giugno/2005
Il Data MiningIl modello e i risultati Il data set • I dati utilizzati si riferiscono a 381 imprese piemontesi del settore manifatturiero estratti dalla banca dati DB Complex. • Di ognuna impresa si conosce lo stato di salute (sana/non sana) in base al rating tecnico elaborato da Bureau van DiJk. • Per queste imprese sono state estratte ed elaborate 40 variabili legate al bilancio. Cagliari, 22-23/giugno/2005
Il Data MiningIl modello e i risultati Le variabili: Cagliari, 22-23/giugno/2005
Il Data MiningIl modello e i risultati La correlazione Indice di correlazionei,j < abs(0.8) Cagliari, 22-23/giugno/2005
Il Data MiningIl modello e i risultati La topologia del modello (1/2) • Training set: 40 input-vettori formati da 254 imprese; • Validation set: 40 vettori formati da 127 imprese; • Caratteristiche della rete: • Rete feed-forward; • Algoritmo della back-propagation; • Tre strati: 1 di input, 1 hidden (40 nodi), 1 di output (1 nodo); • Funzione ‘tansig’ tra il primo e il secondo strato; • Funzione ‘logsig’ tra il secondo e il terzo strato; Cagliari, 22-23/giugno/2005
Fonte: ANN Tollbox, Matlab Il Data MiningIl modello e i risultati La topologia del modello (1/2) • Training set: 40 input-vettori formati da 254 imprese; • Validation set: 40 vettori formati da 127 imprese; • Caratteristiche della rete: • Rete feed-forward; • Algoritmo della back-propagation; • Tre strati: 1 di input, 1 hidden (40 nodi), 1 di output (1 nodo); • Funzione ‘tansig’ tra il primo e il secondo strato; • Funzione ‘logsig’ tra il secondo e il terzo strato; Cagliari, 22-23/giugno/2005
Il Data MiningIl modello e i risultati Topologia del modello (2/2) • Regolarizzazione con early stopping: fa in modo che la rete non si specializzi su un set di dati operando sul validation set; • Sono state introdotte 3 soglie all’interno del modello: 0.4, 0.5, 0.6; • È stato seguita la procedura della cross-validation. Cagliari, 22-23/giugno/2005
Il Data MiningIl modello e i risultati La regolarizzazione Cagliari, 22-23/giugno/2005
Il Data MiningIl modello e i risultati La soglia • La funzione logsigmoide genera risultati in un intervallo continuo che va da 0 a 1 mentre i target sono di tipo: 0 (impresa sana) o 1 (impresa non sana) • Dato il vettore di output della rete X=[xi] (i=1,…,127) e un valore soglia s, avremo che: • se xi <= s, allora xi=0; • se xi >= s, allora xi=1 • L’errore viene calcolato guardando dove e come la rete ha sbagliato a classificare. Due tipi di errore: • Di primo tipo: la rete classifica non sana un’impresa sana; • Di secondo tipo: la rete classifica sana un’impresa che non lo è. Cagliari, 22-23/giugno/2005
Il Data MiningIl modello e i risultati Soglie ed errori Errori percentuali: 0% 0% 0.7% Cagliari, 22-23/giugno/2005
La soglia 0.6 è meno performante Il Data MiningIl modello e i risultati Soglie ed errori Errori percentuali: 0% 0% 0.7% Cagliari, 22-23/giugno/2005
Il Data MiningIl modello e i risultati La cross-validation • Aumentare la capacità di generalizzazione della rete • Data set diviso in tre set: A, B e C: • 1° rete: tr.set A+B e val.set C • 2° rete: tr.set B+C e val.set A • 3° rete: tr.set A+C e val.set B • Errori percentuali totali rispetto alle tre soglie: • Rete con 40 variabili: 0.18% 0% 0.92%; • Rete con 18 variabili: 1.10% 1.47% 4.05% Cagliari, 22-23/giugno/2005
Il Data MiningIl modello e i risultati La cross-validation • Aumentare la capacità di generalizzazione della rete • Data set diviso in tre set: A, B e C: • 1° rete: tr.set A+B e val.set C • 2° rete: tr.set B+C e val.set A • 3° rete: tr.set A+C e val.set B • Errori percentuali totali rispetto alle tre soglie: • Rete con 40 variabili: 0.18% 0% 0.92%; • Rete con 18 variabili: 1.10% 1.47% 4.05% La rete che utilizza variabili non correlate dà risultati peggiori della rete che elabora tutte le variabili… Cagliari, 22-23/giugno/2005
Il Data MiningIl modello e i risultati La matrice dei pesi Variabili Nodi Cagliari, 22-23/giugno/2005
Il Data MiningIl modello e i risultati Le ‘13 variabili’ e la matrice di attivazione • Le 13 variabili: • Errori medi percentuali: 1.66% 0.92% 1.10% • Matrice di attivazione 1: Matrice 40 Input * Matrice dei pesi Cagliari, 22-23/giugno/2005
Il Data MiningIl modello e i risultati La cluster analysis 1 Imprese non sane Imprese sane Cagliari, 22-23/giugno/2005
Il Data MiningIl modello e i risultati La cluster analysis 1 Imprese non sane Imprese sane Cagliari, 22-23/giugno/2005
Il Data MiningIl modello e i risultati La cluster analysis 2 • Matrice di attivazione 2: • Matrice 13 input * Matrice pesi Cluster Analysis Analisi dei due gruppi principali al fine di diminuire il numero di imprese Cagliari, 22-23/giugno/2005
Imprese non sane Imprese sane Il Data MiningIl modello e i risultati La cluster analysis 2 • Matrice di attivazione 2: • Matrice 13 input * Matrice pesi Cluster Analysis Analisi dei due gruppi principali al fine di diminuire il numero di imprese Cagliari, 22-23/giugno/2005
Il Data MiningIl modello e i risultati La cluster analysis 3 • Dal Gruppo1 (99 imprese) creo 85 gruppi; • Dal Gruppo2 (136 imprese) creo 121 gruppi Media dei gruppi formati da più di un’impresa Creo un nuovo pattern di input Cagliari, 22-23/giugno/2005
Il Data MiningIl modello e i risultati Il ‘nuovo’ data set e le performances • Matrice del tr.set: 19 imprese della cluster 2 + • 85 ‘imprese’ del gruppo 1 + • 121 ‘imprese’ del gruppo 3 = • 225 imprese (* 13 variabili) • Matrice del val.set: 112 imprese (raggruppate secondo analisi cluster) • Risultati della ‘nuova’ rete sulle 13 variabili e input raggruppati: • 3.57% 4.46% 3.57% Cagliari, 22-23/giugno/2005
Il Data MiningIl modello e i risultati Risultati (1/2) • Attraverso l’analisi delle reti neurali è stato possibile arrivare a determinare 13 variabili che hanno influenza nella determinazione dello stato di salute delle imprese Analisi delle variabili principali che influenzano la salute del settore Cagliari, 22-23/giugno/2005
Il Data MiningIl modello e i risultati Risultati (2/2) • L’analisi cluster è stata utilizzata per testare i risultati della rete e analizzarne il processo “decisionale”. • Inoltre, attraverso la cluster analysis, è stato possibile raggruppare le imprese in gruppi con caratteristiche simili in modo da ridurre il numero dei dati da introdurre nella rete. Cagliari, 22-23/giugno/2005
Il Data MiningIl modello e i risultati References • Chilanti M., 1993, “Analisi e previsione delle insolvenze: un approccio neurale”, Finanza Imprese e Mercati, 3. • Hornick, Stinchombe e While (1989), “Multilayer feedforward networks are universal approssimators”, Neural Networks, vol. 2, pp.359-366. • Moller M. F., “A scaled coniugate gradient algorithm for fast supervised learning”, Neural Networks, vol. 6, pp. 525-533, 1993. • Perez M., “Neural Networks applications in bankruptcy forecasting: a state of the art”. • Yim J., Mitchell H., 2002, “A comparison of corporate failure models in Australia: Hybrid neural networks, logit models and discriminant analysis”, School of Economics and Finance, WP No. 10. • “Osservatorio sulla dinamica economico-finanziaria delle imprese della filiera del tessile e dell’abbigliamento in Piemonte”, I°, II° e III° rapporto a cura del Ceris-CNR, 2004 Cagliari, 22-23/giugno/2005