Analisi dati usata impropriamente: i rischi di passare da scientifico a scemifico

27 Marzo 2021 Silvio Marano

Analisi dati usata impropriamente: i rischi di passare da scientifico a scemifico

L’analisi dati e i sistemi predittivi basati su di essa, sono sempre più utilizzati nei contesti più disparati, il problema è che troppe volte questo viene fatto in modo superficiale e\o con parametri insufficienti e inadeguati a modellare i fenomeni d’interesse.

Qualsiasi fenomeno può essere analizzato a partire dai suoi dati, per verificare ipotesi, ricavare nuove informazioni o anche essere modellato come un sistema dinamico, ossia un modello matematico di rappresentazione con un numero finito di gradi di libertà, che evolve nel tempo secondo una legge deterministica.
Il problema è nei casi reali (e non ideali), il numero di potenziali variabili in gioco è enorme e molte di esse non sono note, in questi casi, non essendo date a priori tutte le variabili e le leggi che le regolano, per comprendere e\o modellarne l’evoluzione, si analizzano i dati parziali a disposizione nel loro insieme, e si cerca di trovare un modello che ne descriva la loro relazione e\o possa mimarne l’andamento nel tempo.

Trovare un modello matematico che interpoli l’andamento di una curva, che sia l’andamento dei prezzi di un determinato asset oppure la crescita dei contagi durante un’epidemia ecc., è un’operazione matematicamente semplice (specie quando hai pure a disposizione software che lo fanno al posto tuo), quello che spesso non è affatto semplice, è determinare quale siano i nessi causali che ne descrivono l’evoluzione, e trovare un modello abbastanza robusto da essere funzionale allo scopo preposto, e non solo in limitati casi esemplificativi.

L’informatica ha reso più accessibile a tutti, l’uso di potenti strumenti per lavorare con numeri e dati, ma sfortunatamente, quando mancano le basi teoriche necessarie per farlo nel modo corretto, ciò non è sempre positivo. Troppe volte si propinano false conclusioni inconcludenti e sistemi predittivi efficaci quanto l’oroscopo, o per negligenza, o per bias cognitivi, o per incompetenza e non di rado anche in modo deliberato, e non soltanto da parte di qualche compagnia di ciarlatani senza troppi scrupoli che ha interesse a vendere il proprio prodotto o servizio, ma anche nel settore scientifico dove in tanti cercano di guadagnare rilevanza gonfiando i propri indici bibliometrici, soprattutto su tematiche di tendenza (in una sorta di “black hat SEO della ricerca scientifica”). Gli indici bibliometrici sono infatti usati per cercare di avere un’idea dell’autorevolezza dello scienziato sulla base del numero di pubblicazioni e relative citazioni, ma non sono una misura realmente qualitativa, bensì una misura quantitativa, affetta da numerose problematiche, soprattutto nel breve termine.

Diagramma ricerca manipolativa.

PASTICCI STATISTICI FREQUENTI

I dati in analisi possono mostrare forti correlazioni tra fenomeni che in realtà sono del tutto indipendenti, portandoci su una falsa pista o finendo per dare una falsa conferma di quella che era un’ipotesi errata fatta a priori.
Oltre all’ovvio principio [dati in input errati] -> [output errato], sono molteplici le insidie che si possono presentare a ogni livello: dalla scelta del dataset, al campionamento statistico, alla parametrizzazione o all’implementazione finale.

Se ad esempio considerassimo i dati del consumo di margarina e i divorzi, basandoci su uno studio fatto nello stato del Maine, troveremmo un altissimo livello di correlazione tra i due fenomeni.

Correlazione tra divorzi e consumo di margarina nel Maine (USA)

Questo significa che i problemi di coppia sono causati dal consumo di margarina? Chiaramente no, una correlazione, non implica un nesso causale (e non trovare una correlazione generale tra due fenomeni, non significa necessariamente che non ci possa essere sotto specifiche circostanze e\o che non possa esserci un relativo nesso di causa che si verifica solo sotto particolari condizioni). Quando una correlazione è rilevata tra fenomeni che hanno in realtà nulla (o molto poco) a che fare tra loro, si parla di correlazioni spurie. Capire che una correlazione è spuria, quando si mettono a confronto cose, dove è palese si tratti di una coincidenza e non ci sia alcun nesso causale (come nell’esempio fatto pocanzi), è un processo piuttosto ovvio e immediato.
Nei casi applicativi concreti, dove non si vanno a ricercare correlazioni improbabili e assurde a scopo esemplificativo, ma si vanno a cercare esattamente dove si ritiene a priori che ci possano essere, capire che la correlazione in realtà è spuria e si sta prendendo una cantonata, non è sempre banale, e anche quando c’è effettivamente un nesso di causa, non è comunque detto che sia quello inizialmente supposto; potrebbero ad esempio capitare casi in cui il parametro considerato influenza l’altro parametro di confronto agendo in modo indiretto su altri parametri regolati da diverse dinamiche, che si stia ribaltando la causa con l’effetto o che la partizione di dati in esame conduca a conclusioni fallaci.
Esempio:
Anno 2029, una strana epidemia si diffonde, la maggioranza della gente è asintomatica, molti di quelli che sviluppano sintomi se non guariscono si trasformano invece in zombie.
Si vuole usare un test per tracciare i contagi. Questo test è venduto come affidabile al 94% perchè ha un tasso di falsi positivi del 6%, e su una popolazione con il 50% d’infetti, ha dato i seguenti risultati:

Popolazione
Infetto
Non infetto
Totale
Test positivo
10000*(50/100)=
5000
(veri positivi)
10000*((100-50)/100)*0.06=
300
(falsi positivi)
5300
Test negativo
0 (falsi negativi)
4700 (veri negativi)
4700
Totale
5000
5000
10000

Facendo i conti (veri positivi/positivi totali*100) avremmo perciò che se una persona risulta positiva, al 94% potrà confidare di esserlo davvero.
Lo stesso tipo di test per il tracciamento dei contagi, viene utilizzato anche su un altro gruppo di persone che però ha un’incidenza d’infetti di solo l’1%, i risultati sono i seguenti:

Popolazione
Infetto
Non infetto
Totale
Test positivo
10000*(1/100)=
100
(veri positivi)
10000*((100-1)/100)*0.06=
594
(falsi positivi)
694
Test negativo
0 (falsi negativi)
9306 (veri negativi)
9306
Totale
100
9900
10000

Ops! Questa volta lo stesso test affidabile al 94% di prima, ci ha dato uno sproposito di falsi positivi e facendo i conti, avremo che se una persona risulta positiva, potrà confidare solo al 14% di esserlo davvero. Il problema è dovuto al fatto che il tasso di falsi positivi del 6%, per quanto possa apparire relativamente basso, in questo caso è superiore all’incidenza della malattia nella popolazione. Questa fallacia statistica è nota come fallacia del tasso di base, ed è causata dal porre intuitivamente l’attenzione sull’accuratezza di ciò che individua l’informazione (in questo caso il test per rilevare gli infetti), trascurando il tasso di base dell’evento in esame.
Adesso, consideriamo di voler usare l’analisi dei dati per dimostrare l’efficacia di un nuovo trattamento sperimentale, per impedire che gli infetti diventino zombie. Lo studio è effettuato a Los Angeles nell’arco di 6 mesi, su un campione di 25000 persone, e i risultati sono i seguenti:

Popolazione
senza trattamento
con trattamento
Totale
Anziani
20000
80000
100000
Giovani
120000
30000
150000
Totale
140000
110000
250000
Percentuale zombie
senza trattamento
con trattamento
Anziani
30%
15%
Giovani
5%
3.33%

Da una prima considerazione superficiale, potremmo dire sia un buon risultato, visto che le persone con trattamento hanno circa la metà d’incidenza, rispetto a quelle senza trattamento. Cerchiamo però di scendere più nel dettaglio; usando i valori percentuali dell’ultima tabella, si può calcolare il numero di zombie nel seguente modo:

Zombie
senza trattamento
con trattamento
Totale
Anziani
6000
12000
18000
Giovani
6000
999
6999
Totale
12000
12999
24999

Questi valori adesso ci permettono di calcolare la percentuale generale di zombie per le persone senza trattamento e per quelle con trattamento, si ottiene:

Percentuale zombie
senza trattamento
12000/140000 = 8,6%
con trattamento
12999/110000 = 11,8%

Si scopre così che tra i soggetti che hanno ricevuto il trattamento, la percentuale di zombie, invece che essere la metà, è maggiore di un quarto rispetto a chi non ha ricevuto il trattamento, ossia l’esito è il contrario di ciò che si era precedentemente ipotizzato: non solo la situazione non è migliorata, ma è addirittura peggiorata. Tale anomalia, è dovuta al fatto che l’incidenza del fenomeno e l’efficacia del trattamento variano in base all’età, e trascurarne la relazione, porta a conclusioni errate.
Questo era un esempio classico del paradosso di Simpson, che mostra come partizionando diversamente gli stessi dati si può giungere a conclusioni opposte. Paradossalmente, se il trattamento fosse stato adottato su scala globale sulla base delle considerazioni errate, nel lungo periodo avuto comunque una riduzione dei casi, cosa che apparentemente avrebbe confermato il successo del trattamento, perchè a causa di meccanismi di selezione naturale, il numero d’individui potenzialmente vulnerabili, diminuirebbe con il passare del tempo a vantaggio di quelli immuni, e l’andamento generale del fenomeno, sarebbe stato rappresentabile come un particolare sotto-caso del modello Lotka-Volterra (il modello preda-predatore), con un fattore di smorzamento a svantaggio del “predatore”.

Esempio di modello preda-predatore con smorzamento a vantaggio della preda.

L’esempio mostrato sopra comunque presenta anche altre problematiche analitiche: anche se i risultati avessero dato realmente esito favorevole, avremmo dovuto considerare l’adeguatezza del campione, limitato a un gruppo di persone di una specifica area geografica.

Le domande che bisogna porsi quando si sceglie il campione sono:

  • Il set di dati è abbastanza variegato?
  • La sua composizione è equilibrata o ci sono bias di selezione?
  • Sono state fatte considerazioni sui dati mancanti e il loro eventuale impatto?
  • Le categorizzazioni sono abbastanza dettagliate per il tipo di scenario applicativo?
  • La numerosità del campione è sufficiente?

Le domande che bisogna porsi quando si mettono a confronto dei dati per cercare di trovare possibili dipendenze causa-effetto sono:

  • Hanno lo stesso grado di certezza?
  • Sono stati raccolti con criteri tra loro compatibili per un confronto?
  • Se no, sono stati effettuati gli opportuni adeguamenti?
  • Sono stati effettuati confronti sulla distribuzione della varianza?
  • I profili di “schedaticità” sono stati esaminati?
  • Si è effettuata un’analisi degli outlier?
  • L’intervallo temporale in esame è adeguato?
  • Sono state ricercate eventuali dipendenze circolari?
  • Si è provato a riformulare il problema in un suo equivalente per vedere se l’esito è compatibile?
  • Si è cercata una contro-conferma provando a confutare l’ipotesi?
MACHINE LEARNING DISADATTATO

Quando si usano sistemi di machine learning basati sulla discesa del gradiente, i parametri di modellazione vengono ricavati in maniera algoritmica a partire da un set di dati che, nelle varie iterazioni, cerca di adattarsi in modo da minimizzare la funzione d’errore.
In questi casi, i problemi più comuni sono quelli di generalizzazione del modello:
il modello può essere sovra-generalizzato e portare a risultati inconsistenti, perchè si adatta troppo poco al training set d’interesse (underfitting);
il modello può essere sotto-generalizzato e portare a numerosi falsi negativi, perchè si adatta troppo allo specifico training set (overfitting).

Adattamento del modello nei casi di sovra-generalizzazione, generalizzazione appropriata, e sotto-generalizzazione.

Quest’ultimo caso, è molto più insidioso del primo, perchè mentre nel primo caso è facile notare il margine d’errore elevato, nel secondo caso il problema non sempre è subito evidente. La prima cosa da fare, dovrebbe essere confrontare il comportamento delle curve d’errore del training set e dei set di test set e validazione: se l’errore del training set diminuisce, mentre quello del set di test  e\o del set di validazione aumenta, allora è chiaro che siamo in una situazione di overfitting.

Andamento curve d’errore in una situazione di overfitting.

Se però il test set esibisce caratteristiche troppo affini al training set, perchè non è stato scelto un insieme di dati abbastanza variegato, o peggio sono stati inclusi duplicati dai dati presenti anche nel training set, allora potrebbe non essere possibile rilevare l’anomalia dall’andamento delle curve d’errore, e in tal caso i risultati che misurano l’accuratezza del modello risulterebbero falsati, mostrando valori che appaiono buoni, quando in realtà il basso errore è dovuto a una situazione di overfitting.

CHE CAOS!

Visualizzazione Attrattore di Lorentz usando il plottaggio parametrico.

Oltre ai grossolani errori d’analisi e valutazione, ci sono casi in cui gli scenari d’interesse sono particolarmente difficili da gestire: i fenomeni caotici.
Un fenomeno caotico, è un fenomeno nel quale cambiamenti anche piccolissimi possono avere un impatto enorme sul risultato, portando al così detto “effetto farfalla”, chiamato così per l’aspetto grafico dell’attrattore di Lorenz (un sistema di equazioni differenziali a bassa dimensionalità in grado di generare un comportamento caotico).

La tal cosa, si presenta spesso quando c’è una forte dipendenza dalle condizioni iniziali o quando entrano in gioco numerosissime variabili non controllabili in modo diretto ed esplicito, che presentano interdipendenze a catena che fanno sì che il cambiamento di una di queste, finisca per produrre un effetto domino sulle altre, con non-linearità particolarmente insidiose.

Fenomeni di questo tipo, non posso essere gestiti efficacemente utilizzando un numero prefissato di variabili di controllo, se non in intervalli di tempo limitati e sotto-sezioni specifiche del problema, ma necessitano di approcci di gestione molto più sofisticati per essere trattati in modo sufficientemente affidabile. Sistemi adattativi più “intelligenti“, come quelli basati su reti neurali auto-costruenti, permettono di gestire questi fenomeni in modo molto più efficiente e robusto, ma il loro utilizzo sfortunatamente non è ancora molto diffuso, perchè in molti dei settori dove si lavora con l’analisi dati (come quello finanziario, biologico, meteorologico ecc.), mancano competenze abbastanza approfondite in ingegneria informatica e matematica computazionale, necessarie a sfruttare le potenzialità degli strumenti analitici più avanzati e complessi, e chi si occupa invece di questi ultimi settori, invece, non ha una conoscenza specifica dei vari scenari, dove queste tornerebbero estremamente utili. Motivo per cui, si dovrebbe lavorare ancora molto sulla collaborazione sinergica tra diversi profili di competenze.

CREDERE NON È COMPRENDERE

L’analisi dati nasconde numerose insidie, che se ignorate e non gestite opportunamente, portano a conclusioni errate e fuorvianti, pertanto quando vengono sciorinati studi e dimostrazioni basate su di essa, questi dovrebbero essere trattati con doveroso scetticismo e controllati in maniera approfondita e non considerati superficialmente corretti e presi per oro colato, perchè a un’occhiata immediata e superficiale sembrerebbero avere senso o perchè si ripone cieca fiducia in chi li ha proposti; al razionalismo ingenuo si deve sostituire il razionalismo critico.

, , ,

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.

Entra in contatto

Compila il form con il tuo messaggio

Translate »