Entropia incrociata

di Joannès Vermorel, Gennaio 2018

L'entropia incrociata è un indicatore, molto simile al metodo della massima verosimiglianza, che possiamo utilizzare per misurare l'accuratezza delle previsioni probabilistiche. Incentrato, sostanzialmente, sugli stessi assunti alla base dell'errore medio quadratico e dell'errore medio assoluto percentuale, questo metodo è di fondamentale importanza per i moderni sistemi di previsione, poiché consente di produrre stime di altissimo livello anche in caso di indicatori alternativi. In materia di logistica, l'entropia incrociata è di grande utilità, perché consente di valutare anche i modelli in grado di prevedere gli eventi più rari, che nella realtà sono spesso anche quelli che comportano i costi più alti.

Probabilità frequentista e probabilità bayesiana

Una delle interpretazioni più comuni del concetto di statistica si basa sulla probabilità frequentista: volendo dare un significato quantitativo a un fenomeno incerto, la concezione frequentista afferma che è possibile stimare la frequenza di un fenomeno (ossia la sua probabilità) eseguendo molte prove e contando il numero di volte in cui il fenomeno considerato si verifica. Poiché dopo molte prove la frequenza tende a convergere, la probabilità viene stimata in modo più accurato.

L'entropia incrociata parte da questo stesso assunto, adottando però l'ottica della probabilità bayesiana. La concezione bayesiana rovescia il problema: volendo dare un significato quantitativo a un fenomeno incerto, essa parte direttamente da un modello che calcola la probabilità che il fenomeno si verifichi. Quindi, dopo ripetute osservazioni, valuta i risultati ottenuti dal modello confrontandoli con il numero di volte in cui il fenomeno si è effettivamente verificato. Più sono numerose le volte in cui il fenomeno si è effettivamente verificato, maggiore sarà l'adeguatezza del modello.

La concezione frequentista e quella bayesiana sono entrambe valide e utili: in termini di logistica, però, dato che osservare più volte lo stesso fenomeno può rivelarsi costoso e poco flessibile (un'azienda ha infatti un controllo limitato sugli ordini generati per un prodotto), la prospettiva bayesiana è spesso quella più facile da applicare.

Entropia incrociata: l'intuizione

Prima di passare alla formulazione algebrica dell'entropia incrociata, vale la pena soffermarci sull'intuizione che ne è alla base. Ipotizziamo di avere a disposizione un modello probabilistico (che più avanti chiameremo semplicemente "modello"), in grado sia di spiegare gli eventi passati, sia di prevedere gli eventi futuri. Per ogni evento passato osservato, il modello calcola la probabilità che quell'evento si fosse potuto verificare così come si è effettivamente verificato. Benché sia possibile costruire un modello che si limiti a memorizzare tutti gli eventi passati osservati, assegnando loro una probabilità esattamente pari a 1, un modello di questo tipo non sarebbe in grado di dirci nulla sugli eventi futuri. Ciò vuol dire che, se vogliamo un modello interessante, dobbiamo cercarne uno che in qualche modo approssimi il passato, assegnando agli eventi passati una probabilità inferiore a 1.

Adottando la prospettiva bayesiana, possiamo calcolare la probabilità che il modello avrebbe generato tutti gli eventi osservati. Se poi ipotizziamo che tutti gli eventi osservati siano indipendenti (per essere più precisi, indipendenti e identicamente distribuiti o, con acronimo inglese, IID), allora la probabilità che il nostro modello avesse generato tutti gli eventi osservati che abbiamo raccolto sarà pari al prodotto di tutte le probabilità calcolate dal modello per ogni evento passato osservato.

Il prodotto matematico di migliaia di variabili di solito inferiori a 0,5 (ponendo che il fenomeno di nostro interesse sia piuttosto incerto) sarà quasi certamente un numero irrisorio. Ad esempio, anche se il modello usato per la previsione della domanda fosse eccellente, quale sarebbe la probabilità che questo modello possa generare tutti i dati di vendita osservati da un'azienda nel corso di un anno? Anche tirando semplicemente a indovinare, senza fare calcoli complessi, è chiaro che si tratta di un numero decisamente basso.

È il cosiddetto problema dell'underflow aritmetico, che può essere risolto introducendo dei logaritmi. I logaritmi, in parole povere, possono essere usati per trasformare i prodotti in somme e sono quindi utili ad affrontare l'underflow aritmetico.

Entropia incrociata: definizione formale

Date due variabili casuali discrete $p$ e $q$, l'entropia incrociata è definita come: $$H(p, q) = -\sum_x p(x)\, \log q(x). \!$$ La definizione non è simmetrica. $P$ è la "vera" distribuzione, osservata solo parzialmente, mentre $Q$ è una distribuzione "innaturale" ottenuta a partire da un modello statistico costruito.

In informatica, l'entropia incrociata può essere interpretata come la lunghezza prevista in bit dei messaggi di codifica, in cui viene usata $Q$ invece di $P$. Questa prospettiva esula però dall'argomento di questa sezione e non è di primaria importanza in termini di logistica.

Nella pratica, poiché $P$ è ignota, l'entropia incrociata è calcolata in modo empirico a partire dagli eventi osservati, semplicemente ipotizzando che tutti gli eventi siano ugualmente probabili, ossia che $p(x)=1/N$, dove $N$ è il numero di eventi osservati. $$H(q) = - \frac{1}{N} \sum_x \log q(x). \!$$ Fatto interessante, la formula è identica al calcolo della log-verosimiglianza media. Ottimizzare l'entropia incrociata e la log-verosimiglianza è quindi la stessa cosa, a livello sia concettuale, sia matematico.

Perché l'entropia incrociata

A partire dagli anni Novanta fino al 2010 circa, gran parte della comunità statistica era convinta che il modo più efficace, da un punto di vista puramente numerico, per ottimizzare un indicatore (poniamo, l'errore medio assoluto percentuale, o MAPE) fosse mettere a punto un algoritmo di ottimizzazione pensato espressamente per quell'indicatore. Tuttavia, gli esperti di deep learning erano giunti a una conclusione, di difficile intuizione ma comunque decisiva: l'ottimizzazione numerica è un problema molto difficile, e la maggioranza degli indicatori non è adatta per operazioni di questo tipo su larga scala. Nello stesso periodo, la comunità della scienza dei dati nel suo complesso aveva concluso che tutti i problemi di previsione sono in realtà problemi di ottimizzazione numerica.

In termini di logistica, ciò significa che, anche se l'obiettivo dell'azienda è ottimizzare un indicatore come il MAPE o il MSE (errore medio quadratico), il metodo più efficace è ottimizzare l'entropia incrociata. Nel 2017, noi di Lokad abbiamo raccolto una quantità significativa di prove empiriche a supporto di questa teoria. La cosa che ci ha forse sorpreso di più è che l'entropia incrociata offre prestazioni migliori anche rispetto al CRPS (continuous-ranked probability score), un'altra unità di misura dell'accuratezza delle previsioni probabilistiche, anche quando i modelli risultanti sono valutati secondo il CRPS.

Non è del tutto chiaro cosa renda l'entropia incrociata così adatta a valutare l'ottimizzazione numerica. Una delle argomentazioni più convincenti, spiegata in dettaglio da Ian Goodfellow e altri, è che l'entropia incrociata offre valori molto elevati dei gradienti, che si rivelano particolarmente utili per la discesa del gradiente, il metodo di ottimizzazione in scala più preciso di cui disponiamo al momento.

CRPS ed entropia incrociata a confronto

In un'ottica logistica, l'entropia incrociata misura le previsioni probabilistiche più accuratamente del CRPS semplicemente perché pone maggiore enfasi sugli eventi rari. Consideriamo un modello probabilistico della domanda che abbia una media di 1000 unità, con l'intera massa della distribuzione concentrata nel segmento che va da 990 a 1010. Ipotizziamo che la quantità successiva osservata in termini di domanda sia 1011.

Se misuriamo le prestazioni attraverso il CRPS, il modello risulta relativamente buono, poiché la domanda osservata si discosta di circa 10 unità dalla previsione media. Al contrario, se utilizziamo come unità di misura l'entropia incrociata, il modello genera un errore infinito: esso aveva infatti previsto che una domanda di 1011 unità aveva zero probabilità di verificarsi (il che è un'affermazione molto forte), ma la previsione si rivela errata nella realtà, come dimostra il fatto che una domanda di 1011 unità si è appena verificata.

In prospettiva logistica, quindi, la propensione del CRPS a favorire i modelli che tendono a formulare affermazioni assurde (del tipo "l'evento XY non si verificherà mai", mentre nei fatti l'evento si verifica) spiega ampiamente come mai l'entropia incrociata dà risultati migliori. L'entropia incrociata favorisce infatti quei modelli che, per così dire, non si lasciano cogliere impreparati dagli eventi più improbabili. A ben vedere, nella logistica si verificano anche eventi improbabili e, se non si è preparati ad affrontarli, le conseguenze possono essere molto costose.