Sto creando uno strumento di previsione interattivo (in Python) come ausilio alla previsione che viene eseguita nella mia organizzazione. Ad oggi il processo di previsione è stato in gran parte guidato dall'uomo, con i meteorologi che hanno assimilato i dati nelle loro reti neurali naturali e hanno usato il loro intuito per fare previsioni. Da una verifica della previsione a lungo termine e da uno studio di modellazione predittiva che ho fatto, ho trovato quello che potresti aspettarti; diversi meteorologi mostrano distorsioni diverse, gli effetti di alcuni predittori sembrano essere sopravvalutati e altri importanti sembrano essere ignorati e in generale le prestazioni previste sono mediocri rispetto a modelli empirici relativamente semplici.
Le previsioni continueranno a essere manuali, ma sto cercando di creare uno strumento utile per fornire ai meteorologi una migliore quantificazione degli effetti relativi dei predittori. Ci sono anche effetti importanti come influenze stagionali che sono spesso trascurati che vorrei che lo strumento mettesse in evidenza per l'utente. Mi aspetto un certo contraccolpo e scetticismo sul processo di modellizzazione da parte di alcuni dei previsori più "esperti" (molti dei quali hanno una scarsa conoscenza formale delle statistiche), quindi la comunicazione è almeno altrettanto importante e le prestazioni del modello stesso in termini di ottenere un miglioramento misurabile della precisione delle previsioni.
I modelli che sto sviluppando hanno una forte componente auto-regressiva che a volte viene modificata in modo significativo dagli eventi che si presentano come valori misurati in alcuni predittori che sono, durante i tempi non-evento, vicini allo zero. Ciò è in accordo con il modello mentale utilizzato dai meteorologi. La parte fondamentale è quella di poter dimostrare quali delle misurazioni dell '"evento" sono più influenti nel distogliere la previsione dal valore auto-regressivo per ogni data previsione. Immagino il processo in questo modo; il meteorologo indica il miglior valore di ipotesi, il modello ne suggerisce uno diverso e il meteorologo chiede perché. Il modello risponde a qualcosa del tipo "vedi qui, questo valore di questo predittore aumenta il valore di previsione in estate. Se fosse inverno, si sposterà dall'altra parte. So che ci sono altre misurazioni,
Ora, immagina che il modello fosse una semplice regressione lineare. Si potrebbe immaginare di mostrare il relativo 'effetto' dei predittori basati sugli eventi moltiplicando il valore per il modello coefficiente e mostrandolo come un semplice grafico a barre. Tutte le barre dei diversi predittori si sommano alla deviazione totale dal valore AR, e questo mostra in modo succinto e chiaro quelli che, in questo caso, stanno avendo una forte influenza.
Il problema è che il processo in previsione mostra un alto grado di non linearità nei predittori, o almeno, ho avuto molto più successo con algoritmi di machine learning non lineari black-box (foresta casuale e GBM) che con GLM per questo set di dati. Idealmente, vorrei essere in grado di cambiare perfettamente il modello funzionando "sotto il cofano" senza che l'esperienza dell'utente cambi, quindi ho bisogno di un modo generico per dimostrare in modo semplice l'importanza delle diverse misurazioni senza utilizzare un approccio specifico dell'algoritmo. Il mio approccio attuale sarà quello di quasi-linearizzare gli effetti impostando tutti i valori su zero tranne un predittore, registrare la deviazione prevista e quindi ripetere per tutti i predittori, visualizzando i risultati nel grafico a barre sopra menzionato. In presenza di una forte non linearità, potrebbe non funzionare così bene.