Ich erstelle ein interaktives Prognosetool (in Python) als Hilfe für Prognosen, die in meiner Organisation durchgeführt werden. Bisher war der Prognoseprozess weitgehend vom Menschen gesteuert, wobei Prognostiker die Daten in ihren natürlichen neuronalen Netzen assimilierten und ihr erlerntes Bauchgefühl verwendeten, um Vorhersagen zu treffen. Aus einer Langzeitstudie zur Überprüfung der Prognose und zur Vorhersage der Modellierung habe ich herausgefunden, was Sie erwarten könnten. Unterschiedliche Prognostiker weisen unterschiedliche Vorurteile auf, die Auswirkungen einiger Prädiktoren scheinen überbewertet zu sein und andere wichtige scheinen ignoriert zu werden, und im Allgemeinen ist die Prognoseleistung im Vergleich zu relativ einfachen empirischen Modellen mittelmäßig.
Die Prognosen werden weiterhin manuell sein, aber ich versuche, ein nützliches Werkzeug zu entwickeln, um den Prognostikern eine bessere Quantifizierung der relativen Auswirkungen von Prädiktoren zu ermöglichen. Es gibt auch wichtige Effekte wie saisonale Einflüsse, die oft übersehen werden und die das Tool dem Benutzer hervorheben soll. Ich erwarte von einigen der "erfahreneren" Prognostiker (von denen viele nur geringe formale Kenntnisse der Statistik haben) ein gewisses Maß an Gegenreaktion und Skepsis gegenüber dem Modellierungsprozess. Daher ist die Kommunikation mindestens genauso wichtig und die Modellleistung selbst in Bezug auf Erzielung einer messbaren Verbesserung der Prognosegenauigkeit.
Die Modelle, die ich entwickle, haben eine starke auto-regressive Komponente, die manchmal erheblich durch Ereignisse verändert wird, die in einigen Prädiktoren als Messwerte angezeigt werden, die in Zeiten ohne Ereignis nahe Null liegen. Dies entspricht dem mentalen Modell, das Prognostiker verwenden. Der Schlüsselteil besteht darin, zu demonstrieren, welche der "Ereignis" -Messungen den größten Einfluss darauf haben, die Vorhersage vom automatisch regressiven Wert für eine bestimmte Vorhersage zu entfernen. Ich bilde den Prozess auf diese Weise ab. Der Prognostiker errät seinen besten Schätzwert, das Modell schlägt einen anderen vor und der Prognostiker fragt, warum. Das Modell antwortet so etwas wie "siehe hier, dieser Wert dieses Prädiktors erhöht den Prognosewert im Sommer. Wenn es Winter wäre, würde es sich in die andere Richtung bewegen. Ich weiß, dass es diese anderen Messungen gibt,
Stellen Sie sich nun vor, das Modell wäre eine einfache lineare Regression. Man könnte sich vorstellen, den relativen "Effekt" ereignisbasierter Prädiktoren anzuzeigen, indem der Wert mit dem Modellkoeffizienten multipliziert und als einfaches Balkendiagramm angezeigt wird. Alle Balken der verschiedenen Prädiktoren addieren sich zur Gesamtabweichung vom AR-Wert, und dies zeigt kurz und deutlich diejenigen, die in diesem Fall einen starken Einfluss haben.
Das Problem ist, dass der prognostizierte Prozess einen hohen Grad an Nichtlinearität in den Prädiktoren aufweist, oder zumindest habe ich mit nichtlinearen Black-Box-Algorithmen für maschinelles Lernen (Random Forest und GBM) viel mehr Erfolg gehabt als mit GLMs für dieser Datensatz. Idealerweise möchte ich in der Lage sein, das Modell, das "unter der Haube" arbeitet, nahtlos zu ändern, ohne dass sich die Benutzererfahrung ändert. Daher benötige ich eine allgemeine Methode, um die Bedeutung der verschiedenen Messungen auf einfache Weise zu demonstrieren, ohne einen algorithmischen Ansatz zu verwenden. Mein aktueller Ansatz wird darin bestehen, die Effekte quasi zu linearisieren, indem alle Werte bis auf einen Prädiktor auf Null gesetzt werden, die vorhergesagte Abweichung aufgezeichnet und dann für alle Prädiktoren wiederholt wird, wobei die Ergebnisse im oben genannten Balkendiagramm angezeigt werden. Bei starker Nichtlinearität funktioniert dies möglicherweise nicht so gut.