Hintergrund
Vor einigen Jahren forderten die Benutzer eine modernere Schnittstelle in MS Excel für das beliebte Programm X12-ARIMA und seine Methode zur Saisonbereinigung (X11). Das US Census Bureau entwickelte und pflegt das X12-ARIMA-Programm (X12A), so dass es frei verfügbar ist, und fast jeder in der Branche akzeptiert und schätzt das X12A-Programm und seine Methodik sehr.
Damals haben wir uns entschieden, NumXL in X12ARIMA zu integrieren, allerdings als externes Programm.
Was bedeutet die Integration mit externen Programmen?
Kurz gesagt, NumXL implementiert mehrere Excel-Funktionen und bietet eine Benutzeroberfläche, um die Eingaben und Daten der Benutzer zu akzeptieren. Hinter den Kulissen überträgt NumXL die Daten und die Eingaben des Benutzers zurück an das X12A-Programm, um die Berechnung durchzuführen, und wenn es fertig ist, bringt NumXL die Ausgaben zurück an den Benutzer in Excel.
Warum sollte Sie das interessieren?
Wir gehen davon aus, dass Sie bereits X12A/X11 verwenden, und wir möchten Ihnen einige Tipps und Umgehungsmöglichkeiten vorstellen, die wir entwickelt haben, um einige der Einschränkungen von X12A zu überwinden und die Laufzeit und Reaktionsfähigkeit Ihres Modells zu optimieren.
Egal, ob Sie ein X12ARIMA-Modell oder hunderte von Modellen haben, Ihre Arbeitsmappe sollte in der Lage sein, diese zu verarbeiten.
Warnung
Beginnend mit Version 1.67 (MARTHA) unterstützt NumXL die neueste X13ARIMA-SEATS Saisonbereinigungssoftware des U.S. Census. Der U.S. Census pflegt die X12ARIMA-Saisonbereinigungssoftware nicht, und NumXL enthält dieses Modell, um unsere Kunden bei der Migration bestehender X12-Modelle auf die X13-Entsprechungen zu unterstützen.
Problem 1: X12A-Beschränkung für die Länge der Eingangsdaten
Das US Census X12 ARIMA akzeptiert Zeitreihen mit einer Länge von 12 (für monatliche) und 4 für vierteljährliche Daten bis hin zu 600 Beobachtungen.
Die NumXL-Funktionen akzeptieren Zeitreihen beliebiger Länge, verwenden aber für X12A-Zwecke nur die jüngsten 600 (nicht fehlenden) Beobachtungen und verschieben das Startdatum entsprechend.
Als Benutzer brauchen Sie nichts zu ändern, Sie übergeben die Daten wie gewohnt, und NumXL behandelt diese Einschränkung im Hintergrund.
Problem 2: Hinzufügen einer neuen Beobachtung zu den Datenreihen
Im Laufe der Zeit werden neue Beobachtungen realisiert und dem Eingabedatensatz hinzugefügt. Wir sollten die X12ARIMA-Definition verfeinern, um diese Beobachtungen einzubeziehen und das Modell erneut ausführen, um die saisonale Anpassung und die Prognose zu aktualisieren.
Das obige Szenario mag intuitiv klingen, aber bedenken Sie, dass Sie den Bereich der Eingabezellen in der Formel jedes X12ARIMA-Modells in Ihrer Arbeitsmappe ändern müssten. Das ist kein Problem für eine Reihe, aber was ist mit Dutzenden oder Hunderten von Zeitreihen und den entsprechenden Modellen? Sie müssten die gleiche Übung regelmäßig wiederholen, und deshalb brauchten wir einen besseren Ansatz.
Die Abhilfemaßnahme ist dieselbe wie die, die wir in unserem Tipp beschrieben haben: “So richten Sie die Regressionsanalyse zur automatischen Aktualisierung ein.” Wir fügen ein "#N/A" am Ende Ihrer Eingabedaten an, um sie zu reservieren. Als nächstes nehmen Sie diese Zellen in die X12ARIMA-Modelldefinition auf.
Zu Beginn ignoriert NumXL alle "#N/A", die nach der letzten Beobachtung mit einem nicht fehlenden Wert auftreten. Später, wenn ein neuer Datenpunkt realisiert wird, ersetzen wir die "#N/A" durch eine tatsächliche Zahl, wodurch der Eingabedatensatz wächst.
Mit dieser Technik wird dem Eingabedatensatz eine neue Beobachtung hinzugefügt, ohne dass die Definitionsformel bearbeitet werden muss. Um die Ausgaben des Modells zu aktualisieren, müssen Sie trotzdem eine Neuberechnung durchführen.
Problem 3: Die Zeit für den Bau der Modelle ist zu lang!
Der X12A führt eine vollständige Modellauswahl und -kalibrierung durch. Wenn Ihr Arbeitsblatt also mehr als ein paar X12ARIMA-Modelle enthält, dauert die Berechnung des gesamten Blattes mehr als nur ein paar Sekunden.
Die Abhilfe für dieses Problem besteht aus zwei Teilen:
- Deaktivieren Sie die automatische Berechnung und setzen Sie sie auf manuell.
Wenn Sie die Berechnung auf Manuell einstellen, versucht Excel nicht, eine Berechnung zu erzwingen, wenn eine Zelle berührt wird oder sich ihr Wert ändert. Stattdessen müssen Sie die Berechnung durch Drücken von F9 oder SHIFT+F9 starten.
In der Zwischenzeit können Sie viele Änderungen vornehmen, während Excel immer noch sehr reaktionsschnell ist. - Deaktivieren Sie die X12ARIMA-Datenträgerbereinigung und lassen Sie die erzeugten X12ARIMA-Zwischendateien auf dem Datenträger.
Wechseln Sie in das NumXL-Installationsverzeichnis (d.h. C:\users\<Benutzername>\AppData\Roaming\NumXL) und öffnen Sie die Datei NumXL.conf mit Notepad oder Ihrem bevorzugten Texteditor.
Suchen Sie den Eintrag "CLEANUP_EXIT" unter dem Abschnitt X12ARIMA.
Stellen Sie sicher, dass der entsprechende Wert auf "false" gesetzt ist.
Hinweis: Ersetzen Sie den <username> durch Ihren tatsächlichen Windows-Anmeldenamen.
Wenn Sie nun die Arbeitsmappe öffnen, lädt NumXL (je nach Bedarf) die gespeicherten Modelle und ihre Ausgaben, ohne dass Sie das X12A-Programm ausführen müssen.
Problem 4: Mein Datenfeed berührt viele Zellen.
In vielen Umgebungen werden die Eingabedaten, die in X12ARIMA-Modellen verwendet werden, durch Dateneinspeisungsprogramme generiert und aktualisiert (bei Bedarf oder in regelmäßigen Abständen). Dieser Aufbau ist sehr faszinierend, aber die Eingabezellen werden häufig berührt, und Excel löst eine große Anzahl von Berechnungsanfragen aus, so dass bei der Durchführung einer manuellen Berechnung viele Modelle neu bewertet werden müssen.
In NumXL werden die Prüfsummen für den Eingabedatensatz und die Werte der Modellparameter intern berechnet und gespeichert (auch als Hash bezeichnet). Wenn Excel also eine neue Anforderung zur Modellbewertung stellt, berechnet NumXL die neuen Prüfsummen und vergleicht sie mit den bereits vorhandenen. Wenn NumXL keine Änderungen feststellt, wird die Anfrage einfach ignoriert.
Egal wie viele X12ARIMA-Modelle Sie haben, NumXL wertet nur diejenigen aus, deren Eingaben (d.h. Modellparameter oder Eingabedaten) sich seit dem letzten Lauf wirklich geändert haben. X12ARIMA wird also bei Bedarf ausgeführt.
Problem 5: Fehlende Werte (#N/A)
Das Programm X12A der US-Volkszählung kann keine fehlenden Werte verarbeiten, aber fehlende Werte sind von Vorteil, wie wir in Problem 2 gesehen haben.
NumXL akzeptiert Eingabedatensätze mit fehlenden Werten vor dem Anfang oder nach dem Ende des (nicht fehlenden) Datensatzes. NumXL unterstützt keine Zwischenbeobachtungen mit fehlenden Werten.
Sie fragen sich vielleicht, warum wir Beobachtungen mit fehlenden Werten vor dem Beginn des Eingabedatensatzes einfügen müssen. Die Benutzer möchten ihre Datensätze immer so anordnen, dass sie in der gleichen Zeile beginnen, aber die Datensätze können unterschiedliche Startdaten haben, so dass wir durch das Einfügen von #N/A am Anfang dafür sorgen können, dass alle Zeitreihen am gleichen Datum beginnen.
Das Hinzufügen von Beobachtungen mit fehlenden Werten an beiden Enden der Zeitreihe hat keinen Einfluss auf die Ausgabe, da NumXL das Startdatum (und das Enddatum) an die Daten der nächstgelegenen nicht fehlenden Beobachtungen anpasst.
Problem 6: Offset-Argument in X12ACOMP
Um eine der X12ARIMA-Ausgabezeitreihen (z. B. saisonbereinigt) anzuzeigen, sollte der Benutzer die Arbeitsblattfunktion X12ACOMP() verwenden, aber diese Funktion erwartet: einen Modellnamen, einen Ausgabetyp und einen Offset.
Der Offset ist die Anzahl der Beobachtungen ab dem Beginn des Eingabedatensatzes. Die Beobachtungen sollten auch solche mit fehlenden Werten enthalten (d. h. am Anfang gefüllt).
Um den Versatz zu berechnen, können Sie entweder eine Spalte mit einer ganzzahligen Folge füllen, die bei eins (1) beginnt und nach unten hin zunimmt.
Ein anderer Ansatz besteht darin, die in Excel integrierte Funktion ZAEHLEN() zu verwenden und die Anzahl der Zellen vom Beginn der Eingabedaten bis zur aktuellen Position zu berechnen.
Problem 7: Einschränkungen der IT/MIS-Richtlinien
In einigen Umgebungen legt die IT/MIS restriktive Sicherheitsrichtlinien fest, die verhindern, dass Programme im lokalen Profil des Benutzers (d.h. C:\users\<Benutzername>\AppData\LocalData) ausgeführt werden. Diese Einstellung verhindert, dass das X12A-Programm ausgeführt wird und somit irgendwelche Ausgaben erzeugt.
Die Abhilfe für dieses Problem besteht darin, das "Datenverzeichnis" in der Datei "NumXL.conf" in ein Verzeichnis zu ändern, in dem der Benutzer über ausreichende Rechte zur Ausführung von Programmen verfügt.
Gehen Sie dazu in das NumXL-Installationsverzeichnis (z.B. C:\users\<Benutzername>\AppData\Roaming\NumXL), und öffnen Sie die Datei NumXL.conf mit Notepad oder Ihrem bevorzugten Texteditor.
Suchen Sie den Eintrag "DATAPATH" in der Sektion [GLOBASLS], entfernen Sie die Kommentare (löschen Sie das Hashtag) und setzen Sie den Wert auf ein Verzeichnis auf Ihrer Festplatte, das genügend Rechte hat, um das X12A-Programm auszuführen.
Schlussfolgerung
In dieser Ausgabe haben wir eine Reihe von Herausforderungen vorgestellt, auf die unsere Benutzer bei der Verwendung des NumXL X12ARIMA-Modells in Excel im täglichen Gebrauch stoßen. Für jeden Fall haben wir die entsprechende Verbesserung, Empfehlung und in einigen Fällen auch Umgehungsmöglichkeiten aufgezeigt, um das Problem zu lösen.
Mit Blick auf die Zukunft nehmen wir diese wertvollen Lektionen mit, da wir das neueste X13ARIMA-SEATS-Programm der US-Volkszählung einsetzen.
Kommentare
Bitte melden Sie sich an, um einen Kommentar zu hinterlassen.