Wie mache ich Prognosen für eine Zeitreihe?


9

Ich bin mit der Analyse von Zeitreihendaten nicht so vertraut. Ich denke jedoch, dass es sich um eine einfache Vorhersageaufgabe handelt.

Ich habe ungefähr fünf Jahre Daten aus einem gemeinsamen Generierungsprozess. Jedes Jahr repräsentiert eine monoton ansteigende Funktion mit einer nichtlinearen Komponente. Ich habe Zählungen für jede Woche über einen 40-wöchigen Zyklus für jedes Jahr. Der Prozess beginnt, die Funktion beginnt bei Null, steigt in der ersten Hälfte der Funktion ziemlich schnell an und verlangsamt sich in der zweiten Hälfte, bevor sie in den letzten fünf Wochen eingeebnet wird. Der Prozess ist über Jahre hinweg konsistent, wobei sich die Änderungsrate und das Volumen in den Segmenten von Jahr zu Jahr geringfügig unterscheiden.

y1={0,Nt1,Nt2,...Nt39,Nt40}

y5={0,Nt1,Nt2,...Nt39,Nt40}

Wobei gleich der Anzahl zum Zeitpunkt x ist.Ntx

Das Ziel ist es, bei (oder besser bis oder die Steigung bis zu diesem Punkt) zu nehmen und das bei . Wenn beispielsweise 5000 ist, wie ist der erwartete Wert von für dieses JahrDie Frage ist also, wie würden Sie solche Daten modellieren? Es ist einfach genug zusammenzufassen und zu visualisieren. Ich möchte jedoch ein Modell, das Vorhersagen erleichtert und ein Maß für den Fehler enthält.Ntxt0txNt40Nt10Nt40


2
Bist du sicher, dass du dich so stark einschränken willst? Wenn dieses Problem eine praktische Anwendung hat, kennen Sie zu dem Zeitpunkt, zu dem Sie die Anzahl zum Zeitpunkt x kennen, auch alle vorherigen Zählungen. Warum nicht mit ihnen bei der Vorhersage helfen?
whuber

Tatsächlich. Du hast Recht. Vielen Dank für den Hinweis.
Brett

Antworten:


6

Der wahrscheinlich einfachste Ansatz ist, wie Andy W vorgeschlagen hat, ein saisonales univariates Zeitreihenmodell zu verwenden. Wenn Sie R verwenden, versuchen Sie es entweder auto.arima()oder ets()aus dem Prognosepaket .

Beides sollte in Ordnung sein, aber eine allgemeine Zeitreihenmethode verwendet nicht alle bereitgestellten Informationen. Insbesondere scheinen Sie die Form der Kurve in jedem Jahr zu kennen. Daher ist es möglicherweise besser, diese Informationen zu verwenden, indem Sie die Daten jedes Jahres entsprechend modellieren. Was folgt, ist ein Vorschlag, der versucht, diese Informationen aufzunehmen.

Es klingt so, als würde eine Art Sigmoidkurve den Trick machen. zB eine verschobene Logistik: für Jahr und Woche wobei , und zu schätzende Parameter sind. ist das asymptotische Maximum, steuert die Steigerungsrate und ist der Mittelpunkt, wenn . (Ein weiterer Parameter wird benötigt, um die von Ihnen beschriebene Asymmetrie zu ermöglichen, wobei die Anstiegsrate bis zum Zeitpunkt schneller ist als die nach

ft,j=rteat(jbt)1+eat(jbt)
tjatbtrtrtatbtft,j=rt/2btbt. Der einfachste Weg, dies zu tun, besteht darin, zu erlauben , vor und nach der Zeit unterschiedliche Werte .)atbt

Die Parameter können unter Verwendung der kleinsten Quadrate für jedes Jahr geschätzt werden. Die Parameter bilden jeweils Zeitreihen: , und . Diese können mit Standard-Zeitreihenmethoden prognostiziert werden, obwohl Sie mit wahrscheinlich nicht viel tun können, außer den Mittelwert jeder Serie für die Erstellung von Prognosen zu verwenden. Dann ist für das Jahr 6 eine Schätzung des Wertes in Woche einfach wobei die Vorhersagen von , und verwendet werden.a1,,anb1,,bnr1,,rnn=5jf^(6,j)a6b6r6

Sobald die Daten für das 6. Jahr beobachtet werden, möchten Sie diese Schätzung aktualisieren. Wenn jede neue Beobachtung erhalten wird, schätzen Sie die Sigmoidkurve anhand der Daten aus dem 6. Jahr (Sie benötigen zunächst mindestens drei Beobachtungen, da drei Parameter vorhanden sind). Nehmen Sie dann einen gewichteten Durchschnitt der Prognosen, die unter Verwendung der Daten bis zum 5. Jahr erhalten wurden, und der Prognose, die nur unter Verwendung der Daten aus dem 6. Jahr erhalten wurde, wobei die Gewichte gleich bzw. sind . Das ist sehr ad hoc, und ich bin sicher, dass es objektiver gemacht werden kann, indem es in den Kontext eines größeren stochastischen Modells gestellt wird. Trotzdem wird es wahrscheinlich für Ihre Zwecke in Ordnung sein.(40t)/36(t4)/36


4

Was Sie fragen, ist im Wesentlichen, was die ARIMA-Modellierung von Box Jenkins tut (Ihre jährlichen Zyklen würden als saisonale Komponenten bezeichnet). Abgesehen davon, dass Sie selbst nach Materialien suchen, würde ich vorschlagen

Angewandte Zeitreihenanalyse für die Sozialwissenschaften 1980 von R McCleary; RA Hay; EE Meidinger; D McDowall

Obwohl ich mir vernünftige Gründe vorstellen kann, warum Sie weiter in die Zukunft prognostizieren möchten (und daher den Fehler dabei bewerten), ist dies in der Praxis oft sehr schwierig. Wenn Sie sehr starke saisonale Komponenten haben, ist dies praktikabler. Andernfalls werden Ihre Schätzungen wahrscheinlich in relativ wenigen zukünftigen Zeiträumen ein Gleichgewicht erreichen.

Wenn Sie vorhaben, R für Ihre Modelle zu verwenden, sollten Sie wahrscheinlich die Website von Rob Hyndman besuchen (hoffentlich gibt er Ihnen bessere Ratschläge als ich!).


-2

Sie haben 5 Jahre Daten und 40 Beobachtungen pro Jahr. Warum postest du sie nicht im Internet und erlaubst uns, dies tatsächlich auf dem Nullpunkt zu beantworten, anstatt in einer Höhe von 500 Meilen zu philosophieren? Ich freue mich auf die Zahlen. Wir haben solche Daten gesehen, zum Beispiel die Anzahl der Kunden, die ihre Time-Sharing-Woche wöchentlich handeln. Die Serie beginnt jedes Jahr bei Null und summiert sich auf einen Grenzwert.


1
-1 Dies klingt eher nach einer Eigenwerbung als nach einer hilfreichen Antwort.
whuber

@ Whuber: Nicht beabsichtigt. Nur eine Reflexion über ein ähnliches "klebriges Problem", auf das ich gestoßen bin.
IrishStat

Das wäre dann ein interessanter Kommentar. Kommentare sind gute Möglichkeiten, um einige dieser wertvollen Erfahrungen einzubringen, die wir so gerne mit uns teilen. Antworten sollten für tatsächliche Antworten auf die Frage reserviert werden: Sie werden abgestimmt, archiviert, durchsuchbar gemacht usw. und müssen daher direkter relevant und von dauerhaftem Wert sein und Kritik besser standhalten können. (Natürlich ist dies eine Idealisierung, aber es ist das, wonach wir streben. :-)
whuber

@whuber: Du unterrichtest! Ich lerne ! Ich werde Kommentare für den "Kommentarbereich" reservieren. Um es noch einmal zu wiederholen, es gab absolut keine Absicht, irgendetwas oder eine bestimmte Software / Beratung zu bewerben, sondern nur eine gut gemeinte Bereitschaft, Erfahrungen mit anderen Dorfbewohnern zu teilen. Ich bin mir ziemlich sicher, dass das OP meine Kommentare hilfreich fand. Was sagst du Brett?
IrishStat
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.