L’ERRORE SOFTWARE PIÙ DEVASTANTE DI TUTTI I TEMPI. PERCHÉ IL MODELLO IMPERIALE È CRITICATO?

“Il modello imperial di Neil Ferguson potrebbe essere l’errore software più devastante di tutti i tempi.”
Neil Ferguson, un popolare epidemiologo dell’Imperial College di Londra, il cui modello prevedeva le possibili morti dovute a COVID-19 con e senza blocco, si è rivelato inaccurato e gli eventi seguiti hanno persino portato alle sue dimissioni.

Le previsioni di Ferguson sono in circolazione da un po ‘di tempo. Lo fa da oltre un decennio – durante l’influenza suina, la malattia della mucca pazza e altri focolai. Una cosa comune in tutti i suoi modelli era che i risultati non erano affatto vicini alla realtà.

Ma perché dovremmo parlare solo del modello di previsione di Ferguson e dei suoi difetti quando ce ne sono stati molti nel corso degli anni?

Perché i risultati dei suoi modelli sono stati presi al valore nominale e sono stati utilizzati per inquadrare le politiche. Queste politiche sono state utilizzate dal Regno Unito e dagli Stati Uniti per annunciare i blocchi a livello nazionale. Il modello dell’Imperial College prevede una serie di risultati potenziali: entro ottobre, oltre 500.000 persone in Gran Bretagna e 2 milioni di persone negli Stati Uniti moriranno a causa di COVID-19.

Un ex sviluppatore di software Google che segue lo pseudonimo di Sue Denim, ha elaborato ciò che non va in questo modello nel suo blog .


Qual è il problema con il modello
Il modello è progettato per simulare famiglie, scuole, uffici, persone e i loro movimenti. Ma a causa di bug, il codice fornisce risultati diversi dati input identici. “Agiscono abitualmente come se ciò non fosse importante”, ha lamentato Denim nella sua critica. Anche il codice che è stato valutato dagli sviluppatori interessati in realtà non dipinge il quadro completo. Il codice che è stato rilasciato dall’Imperial College su GitHub è presumibilmente una versione fortemente modificata, e anche questo non fornisce risultati accurati. In altre parole, questo codice ha un problema di replicabilità.

QUESTO MODELLO GENERA ESITI SELVAGGIAMENTE DIVERSI SE VAI IN GIRO CON LE OPZIONI DI FORMATTAZIONE.

Questa base di codice rivista è scritta in C ++ ed è divisa in più file, ma il programma originale era un file singolo di 15.000 righe che è stato scritto in un decennio, che l’ex ingegnere di Google considera una pratica estremamente scadente.


Nella documentazione allegata al codice rilasciato su GitHub, si dice che il modello è stocastico e che si dovrebbero intraprendere più corse con semi diversi per vedere il comportamento medio. Al che, Denim afferma che “stocastico” è solo una parola dal suono scientifico per “casuale” e questo non dovrebbe essere un problema se la casualità è intenzionale in quanto questo approccio è ampiamente usato nelle tecniche di Monte Carlo.

La trama sopra mostra due esecuzioni del codice. Uno con i risultati pubblicati utilizzando il modello imperiale e il secondo, la curva arancione è ciò che è stato ottenuto su una seconda esecuzione. Possiamo vedere chiaramente una differenza sulla punta, e questo può sembrare molto vicino, ma in realtà indica il numero di morti!

80.000 morti non possono essere spazzati via come un problema tecnico nel modello. Ma secondo la risposta fornita dalla squadra imperiale, erano a conoscenza dei bug, che chiamano “piccoli non determinismi!”

Quando Edimburgo ha riscontrato problemi durante l’esecuzione del modello Imperial, è stato chiesto loro di eseguire il modello in modalità single thread, ovvero possono utilizzare solo una singola CPU anziché il sistema multi-core perché il codice si interrompe quando viene eseguito per funzionare più velocemente .

“… ECCO COME IMPERIAL USA IL CODICE: SANNO CHE non funziona QUANDO PROVANO A ESEGUIRLO PIÙ VELOCEMENTE”

Ad esempio, in una sezione di codice, scrive Denim, esiste un ciclo su tutti i “luoghi” di cui la simulazione è a conoscenza. Questo codice sembra tentare di calcolare R0 per “luoghi”.

Ma R0 non è una vera caratteristica del virus.

Denim ha anche scritto del coinvolgimento degli sviluppatori GitHub di Microsoft e di quanto sia plausibile dire che i dipendenti di GitHub non capiscono come usare GitHub.


Conclusione
Il modello di Neil Ferguson è stato anche rivisto da studiosi del calibro di Nassim Taleb che ha messo in guardia le masse sulle insidie ​​della lettura errata della casualità.

“Tuttavia, commettono errori strutturali nell’analisi della risposta alle epidemie. Ignorano la traccia di contatto standard che consente l’isolamento dell’infezione prima dei sintomi. Ignorano anche il monitoraggio porta a porta per identificare i casi con sintomi “, ha scritto Nassim Taleb e i suoi collaboratori nella loro revisione dell’impatto degli interventi non farmaceutici di Ferguson.

L’intero episodio di Neil Ferguson svela una cosa certa che i data scientist e i responsabili politici possono essere ingannati dalla casualità e le loro azioni possono portare a risultati irreparabili. Ciò sollecita anche l’importanza di svolgere la scienza dei dati nel modo più solido e trasparente possibile.

Puoi provare il codice per te qui. ( https://github.com/mrc-ide/covid-sim )

Di ihal