Friday, 23 December 2016

Moving Average Forecast Model

Gleitender Durchschnitt Vorhersage Einleitung. Wie Sie vermutlich schauen, betrachten wir einige der primitivsten Ansätze zur Prognose. Aber hoffentlich sind diese zumindest eine lohnende Einführung in einige der Rechenprobleme im Zusammenhang mit der Umsetzung von Prognosen in Tabellenkalkulationen. In diesem Sinne werden wir von Anfang an beginnen und beginnen mit Moving Average Prognosen zu arbeiten. Gleitende durchschnittliche Prognosen. Jeder ist vertraut mit gleitenden durchschnittlichen Prognosen, unabhängig davon, ob sie glauben, sie sind. Alle Studenten tun sie die ganze Zeit. Denken Sie an Ihre Testergebnisse in einem Kurs, in dem Sie vier Tests während des Semesters haben werden. Angenommen, Sie haben eine 85 auf Ihrem ersten Test. Was würden Sie vorhersagen, für Ihre zweite Test-Score Was glauben Sie, Ihr Lehrer würde für Ihre nächste Test-Punkt vorhersagen Was denken Sie, Ihre Freunde könnten für Ihre nächste Test-Punkt vorherzusagen Was denken Sie, Ihre Eltern könnten für Ihre nächste Test-Score Unabhängig davon vorhersagen Alle die blabbing Sie tun könnten, um Ihre Freunde und Eltern, sie und Ihr Lehrer sind sehr wahrscheinlich zu erwarten, dass Sie etwas im Bereich der 85 erhalten Sie gerade bekommen. Nun, jetzt gehen wir davon aus, dass trotz Ihrer Selbst-Förderung an Ihre Freunde, Sie über-schätzen Sie sich und Figur, die Sie weniger für den zweiten Test lernen können und so erhalten Sie eine 73. Nun, was sind alle betroffenen und unbekümmerten gehen Erwarten Sie erhalten auf Ihrem dritten Test Es gibt zwei sehr wahrscheinlich Ansätze, damit sie eine Schätzung unabhängig davon entwickeln, ob sie sie mit Ihnen teilen. Sie können zu sich selbst sagen, dieser Kerl ist immer bläst Rauch über seine smarts. Hes gehend, ein anderes 73 zu erhalten, wenn hes glücklich. Vielleicht werden die Eltern versuchen, mehr unterstützend und sagen, quotWell, so weit youve bekommen eine 85 und eine 73, so dass Sie vielleicht auf eine über (85 73) / 2 79. Ich weiß nicht, vielleicht, wenn Sie weniger haben Partying und werent wedelte das Wiesel ganz über dem Platz und wenn Sie anfingen, viel mehr zu studieren, konnten Sie einen höheren score. quot erhalten. Beide dieser Schätzungen sind wirklich gleitende durchschnittliche Prognosen. Der erste verwendet nur Ihre jüngste Punktzahl, um Ihre zukünftige Leistung zu prognostizieren. Dies wird als gleitende Durchschnittsprognose mit einer Datenperiode bezeichnet. Die zweite ist auch eine gleitende durchschnittliche Prognose, aber mit zwei Perioden von Daten. Nehmen wir an, dass alle diese Leute, die auf deinem großen Verstand zerschmettern, Art von dich angepisst haben und du entscheidest, auf dem dritten Test aus deinen eigenen Gründen gut zu tun und eine höhere Kerbe vor deinen quotalliesquot zu setzen. Sie nehmen den Test und Ihre Gäste ist eigentlich ein 89 Jeder, einschließlich selbst, ist beeindruckt. So jetzt haben Sie die abschließende Prüfung des Semesters herauf und wie üblich spüren Sie die Notwendigkeit, alle in die Vorhersagen zu machen, wie youll auf dem letzten Test tun. Nun, hoffentlich sehen Sie das Muster. Nun, hoffentlich können Sie das Muster sehen. Was glauben Sie, ist die genaueste Pfeife, während wir arbeiten. Jetzt kehren wir zu unserer neuen Reinigungsfirma zurück, die von Ihrer entfremdeten Halbschwester namens Whistle While We Work begonnen wurde. Sie haben einige vergangene Verkaufsdaten, die durch den folgenden Abschnitt aus einer Kalkulationstabelle dargestellt werden. Zuerst präsentieren wir die Daten für eine dreidimensionale gleitende Durchschnittsprognose. Der Eintrag für Zelle C6 sollte jetzt sein Sie können diese Zellformel auf die anderen Zellen C7 bis C11 kopieren. Beachten Sie, wie der Durchschnitt bewegt sich über die jüngsten historischen Daten, sondern verwendet genau die drei letzten Perioden zur Verfügung für jede Vorhersage. Sie sollten auch bemerken, dass wir nicht wirklich brauchen, um die Vorhersagen für die vergangenen Perioden zu machen, um unsere jüngste Vorhersage zu entwickeln. Dies ist definitiv anders als das exponentielle Glättungsmodell. Ive eingeschlossen das quotpast predictionsquot, weil wir sie auf der folgenden Webseite verwenden, um Vorhersagegültigkeit zu messen. Nun möchte ich die analogen Ergebnisse für eine zwei-Periode gleitenden Durchschnitt Prognose zu präsentieren. Der Eintrag für Zelle C5 sollte jetzt sein Sie können diese Zellformel auf die anderen Zellen C6 bis C11 kopieren. Beachten Sie, wie jetzt nur die beiden letzten Stücke der historischen Daten für jede Vorhersage verwendet werden. Wieder habe ich die quotpast Vorhersagequot für illustrative Zwecke und für die spätere Verwendung in der Prognose Validierung enthalten. Einige andere Dinge, die wichtig zu beachten sind. Für eine m-Periode gleitende Durchschnittsprognose werden nur die m neuesten Datenwerte verwendet, um die Vorhersage durchzuführen. Nichts anderes ist notwendig. Für eine m-Periode gleitende durchschnittliche Prognose, wenn Sie Quotpast Vorhersagequot, beachten Sie, dass die erste Vorhersage tritt im Zeitraum m 1 auf. Diese beiden Fragen werden sehr wichtig sein, wenn wir unseren Code entwickeln. Entwicklung der Moving Average Funktion. Nun müssen wir den Code für die gleitende Durchschnittsprognose entwickeln, die flexibler genutzt werden kann. Der Code folgt. Beachten Sie, dass die Eingaben für die Anzahl der Perioden sind, die Sie in der Prognose und dem Array der historischen Werte verwenden möchten. Sie können es in beliebiger Arbeitsmappe speichern. Funktion MovingAverage (Historische, NumberOfPeriods) As Single Deklarieren und Variablen Dim Artikel As Variant Dim Zähler As Integer Dim Accumulation As Single Dim HistoricalSize Initialisierung As Integer initialisieren Variablen Zähler 1 Accumulation 0 Bestimmung der Größe der historischen Array HistoricalSize Historical. Count für Zähler 1 Um NumberOfPeriods thesaurierend die entsprechende Anzahl von jüngsten zuvor beobachteten Werte Accumulation Accumulation Historisch (HistoricalSize - NumberOfPeriods Counter) MovingAverage Accumulation / NumberOfPeriods der Code wird in der Klasse erklärt. Sie möchten die Funktion in der Tabellenkalkulation positionieren, so dass das Ergebnis der Berechnung erscheint, wo es die folgenden. net. sourceforge. openforecast. models haben sollte. Class MovingAverageModel Ein gleitendes Durchschnittsprognosemodell basiert auf einer künstlich konstruierten Zeitreihe, in der der Wert liegt Für einen gegebenen Zeitraum durch den Mittelwert dieses Werts und die Werte für eine gewisse Anzahl von vorhergehenden und nachfolgenden Zeitperioden ersetzt. Wie Sie vielleicht aus der Beschreibung erraten haben, ist dieses Modell am besten für Zeitreihendaten, d. H. Daten, die sich über die Zeit ändern, geeignet. Zum Beispiel zeigen viele Charts von einzelnen Aktien an der Börse 20, 50, 100 oder 200 Tage gleitende Durchschnitte als Trends zu zeigen. Da der Prognosewert für einen gegebenen Zeitraum ein Durchschnitt der vorangegangenen Perioden ist, wird die Prognose immer scheinbar zurückbleiben, entweder bei Anstieg oder Abnahme der beobachteten (abhängigen) Werte. Wenn beispielsweise eine Datenreihe einen merkbaren Aufwärtstrend aufweist, wird eine gleitende Durchschnittsprognose generell eine Unterbewertung der Werte der abhängigen Variablen liefern. Die gleitende Durchschnittsmethode hat gegenüber anderen Prognosemodellen den Vorteil, dass sie in einer Reihe von Beobachtungen Gipfel und Täler (oder Täler) glättet. Es hat jedoch auch mehrere Nachteile. Insbesondere erzeugt dieses Modell keine tatsächliche Gleichung. Daher ist es nicht alles, was nützlich, da ein Mittel-Langstrecken-Prognose-Tool. Es kann nur zuverlässig verwendet werden, um ein oder zwei Perioden in die Zukunft zu prognostizieren. Das gleitende Durchschnittsmodell ist ein Spezialfall des allgemeineren gewichteten gleitenden Durchschnitts. Im einfachen gleitenden Durchschnitt sind alle Gewichte gleich. Seit: 0.3 Autor: Steven R. Gould Felder geerbt aus der Klasse net. sourceforge. openforecast. models. AbstractForecastingModel MovingAverageModel () Erstellt ein neues gleitendes Durchschnittsprognosemodell. MovingAverageModel (int period) Erstellt ein neues gleitendes Durchschnittsprognosemodell mit dem angegebenen Zeitraum. GetForecastType () Gibt einen oder zwei Wortnamen dieser Art von Prognosemodell zurück. Init (DataSet dataSet) Dient zur Initialisierung des gleitenden Durchschnittsmodells. ToString () Dies sollte überschrieben werden, um eine textuelle Beschreibung des aktuellen Prognosemodells zu liefern, einschließlich, wenn möglich, alle abgeleiteten Parameter. Methoden, die von der Klasse net. sourceforge. openforecast. models. WeightedMovingAverageModel geerbt werden MovingAverageModel Erstellt ein neues gleitendes Durchschnittsprognosemodell. Für ein gültiges zu konstruierendes Modell sollten Sie init aufrufen und einen Datensatz mit einer Reihe von Datenpunkten übergeben, wobei die Zeitvariable initialisiert wird, um die unabhängige Variable zu identifizieren. MovingAverageModel Konstruiert ein neues gleitendes Durchschnittsprognosemodell unter Verwendung des angegebenen Namens als unabhängige Variable. Parameter: independentVariable - der Name der unabhängigen Variablen, die in diesem Modell verwendet werden soll. MovingAverageModel Erstellt ein neues gleitendes Durchschnittsprognosemodell mit dem angegebenen Zeitraum. Für ein gültiges zu konstruierendes Modell sollten Sie init aufrufen und einen Datensatz mit einer Reihe von Datenpunkten übergeben, wobei die Zeitvariable initialisiert wird, um die unabhängige Variable zu identifizieren. Der Periodenwert wird verwendet, um die Anzahl der Beobachtungen zu bestimmen, die verwendet werden, um den gleitenden Durchschnitt zu berechnen. Beispielsweise sollte für einen 50-tägigen gleitenden Durchschnitt, bei dem die Datenpunkte tägliche Beobachtungen sind, der Zeitraum auf 50 gesetzt werden. Der Zeitraum wird auch verwendet, um die Menge zukünftiger Perioden zu bestimmen, die effektiv prognostiziert werden können. Mit einem 50 Tage gleitenden Durchschnitt können wir mit einer Genauigkeit nicht mehr als 50 Tage über den letzten Zeitraum, für den Daten verfügbar sind, prognostizieren. Dies kann vorteilhafter sein, als z. B. ein Zeitraum von 10 Tagen, wo wir nur vernünftigerweise 10 Tage nach der letzten Periode prognostizieren konnten. Parameter: Periode - die Anzahl der Beobachtungen, die verwendet werden, um den gleitenden Durchschnitt zu berechnen. MovingAverageModel Erstellt ein neues gleitendes Durchschnittsprognosemodell unter Verwendung des angegebenen Namens als unabhängige Variable und des angegebenen Zeitraums. Parameter: independentVariable - der Name der unabhängigen Variablen, die in diesem Modell verwendet werden soll. - die Anzahl der Beobachtungen, die zur Berechnung des gleitenden Durchschnitts verwendet werden sollen. Wird verwendet, um das gleitende Durchschnittsmodell zu initialisieren. Diese Methode muss vor jeder anderen Methode in der Klasse aufgerufen werden. Da das gleitende Durchschnittsmodell keine Gleichung für die Prognose ableitet, verwendet dieses Verfahren den Eingabedatensatz, um Prognosewerte für alle gültigen Werte der unabhängigen Zeitvariablen zu berechnen. Vorgabe durch: init in der Schnittstelle ForecastingModel Overrides: init in der Klasse AbstractTimeBasedModel Parameter: dataSet - ein Datensatz von Beobachtungen, mit dem die Prognoseparameter des Prognosemodells initialisiert werden können. GetForecastType Gibt einen oder zwei Wortnamen dieser Art von Prognosemodell zurück. Halten Sie diese kurz. Eine längere Beschreibung sollte in der Methode toString implementiert werden. Dies sollte überschrieben werden, um eine textuelle Beschreibung des aktuellen Prognosemodells zu liefern, wobei nach Möglichkeit alle abgeleiteten Parameter verwendet werden. Bestimmt durch: toString in der Schnittstelle ForecastingModel Overrides: toString in der Klasse WeightedMovingAverageModel Gibt eine Stringdarstellung des aktuellen Prognosemodells und dessen Parameter zurück. In der Praxis liefert der gleitende Durchschnitt eine gute Schätzung des Mittelwerts der Zeitreihe, wenn der Mittelwert konstant ist Oder langsam ändern. Im Fall eines konstanten Mittelwertes wird der grßte Wert von m die besten Schätzungen des zugrunde liegenden Mittels liefern. Ein längerer Beobachtungszeitraum wird die Effekte der Variabilität ausmachen. Der Zweck der Bereitstellung eines kleineren m ist es, die Prognose auf eine Änderung in dem zugrunde liegenden Prozess zu ermöglichen. Um zu veranschaulichen, schlagen wir einen Datensatz vor, der Änderungen im zugrundeliegenden Mittel der Zeitreihen enthält. Die Abbildung zeigt die Zeitreihen für die Darstellung zusammen mit der mittleren Nachfrage, aus der die Serie generiert wurde. Der Mittelwert beginnt als eine Konstante bei 10. Ab dem Zeitpunkt 21 erhöht er sich um eine Einheit in jeder Periode, bis er zum Zeitpunkt 30 den Wert von 20 erreicht. Dann wird er wieder konstant. Die Daten werden simuliert, indem dem Mittelwert ein Zufallsrauschen aus einer Normalverteilung mit Nullmittelwert und Standardabweichung 3 zugeführt wird. Die Ergebnisse der Simulation werden auf die nächste Ganzzahl gerundet. Die Tabelle zeigt die simulierten Beobachtungen für das Beispiel. Wenn wir die Tabelle verwenden, müssen wir bedenken, dass zu einem gegebenen Zeitpunkt nur die letzten Daten bekannt sind. Die Schätzwerte des Modellparameters, für drei verschiedene Werte von m, werden zusammen mit dem Mittelwert der Zeitreihen in der folgenden Abbildung gezeigt. Die Abbildung zeigt die gleitende durchschnittliche Schätzung des Mittelwerts zu jedem Zeitpunkt und nicht die Prognose. Die Prognosen würden die gleitenden Durchschnittskurven nach Perioden nach rechts verschieben. Eine Schlussfolgerung ergibt sich unmittelbar aus der Figur. Für alle drei Schätzungen liegt der gleitende Durchschnitt hinter dem linearen Trend, wobei die Verzögerung mit m zunimmt. Die Verzögerung ist der Abstand zwischen dem Modell und der Schätzung in der Zeitdimension. Wegen der Verzögerung unterschätzt der gleitende Durchschnitt die Beobachtungen, während der Mittelwert zunimmt. Die Vorspannung des Schätzers ist die Differenz zu einer bestimmten Zeit im Mittelwert des Modells und dem Mittelwert, der durch den gleitenden Durchschnitt vorhergesagt wird. Die Vorspannung, wenn der Mittelwert zunimmt, ist negativ. Bei einem abnehmenden Mittelwert ist die Vorspannung positiv. Die Verzögerung in der Zeit und die Bias in der Schätzung eingeführt sind Funktionen von m. Je größer der Wert von m. Desto größer ist die Größe der Verzögerung und der Vorspannung. Für eine stetig wachsende Serie mit Trend a. Die Werte der Verzögerung und der Vorspannung des Schätzers des Mittelwerts sind in den folgenden Gleichungen gegeben. Die Beispielkurven stimmen nicht mit diesen Gleichungen überein, weil das Beispielmodell nicht kontinuierlich zunimmt, sondern als Konstante beginnt, sich in einen Trend ändert und dann wieder konstant wird. Auch die Beispielkurven sind vom Rauschen betroffen. Die gleitende Durchschnittsprognose der Perioden in die Zukunft wird durch die Verschiebung der Kurven nach rechts dargestellt. Die Verzögerung und die Vorspannung nehmen proportional zu. Die nachstehenden Gleichungen zeigen die Verzögerung und die Vorspannung von Prognoseperioden in die Zukunft im Vergleich zu den Modellparametern. Diese Formeln sind wiederum für eine Zeitreihe mit einem konstanten linearen Trend. Wir sollten dieses Ergebnis nicht überraschen. Der gleitende Durchschnittsschätzer basiert auf der Annahme eines konstanten Mittelwerts, und das Beispiel hat einen linearen Trend im Mittel während eines Teils des Studienzeitraums. Da Realzeitreihen den Annahmen eines Modells nur selten gehorchen, sollten wir auf solche Ergebnisse vorbereitet sein. Wir können auch aus der Figur schließen, dass die Variabilität des Rauschens den größten Effekt für kleinere m hat. Die Schätzung ist viel volatiler für den gleitenden Durchschnitt von 5 als der gleitende Durchschnitt von 20. Wir haben die widerstrebenden Wünsche, m zu erhöhen, um den Effekt der Variabilität aufgrund des Rauschens zu verringern und um m zu verringern, um die Prognose besser auf Veränderungen anzupassen Im Mittel. Der Fehler ist die Differenz zwischen den tatsächlichen Daten und dem prognostizierten Wert. Wenn die Zeitreihe wirklich ein konstanter Wert ist, ist der erwartete Wert des Fehlers Null und die Varianz des Fehlers besteht aus einem Term, der eine Funktion von und ein zweiter Term ist, der die Varianz des Rauschens ist. Der erste Term ist die Varianz des Mittelwertes mit einer Stichprobe von m Beobachtungen, vorausgesetzt, die Daten stammen aus einer Population mit einem konstanten Mittelwert. Dieser Begriff wird minimiert, indem man m so groß wie möglich macht. Ein großes m macht die Prognose auf eine Änderung der zugrunde liegenden Zeitreihen unempfänglich. Um die Prognose auf Veränderungen anzupassen, wollen wir m so klein wie möglich (1), aber dies erhöht die Fehlerabweichung. Praktische Voraussage erfordert einen Zwischenwert. Prognose mit Excel Das Prognose-Add-In implementiert die gleitenden Durchschnittsformeln. Das folgende Beispiel zeigt die Analyse des Add-In für die Beispieldaten in Spalte B. Die ersten 10 Beobachtungen sind mit -9 bis 0 indexiert. Im Vergleich zur obigen Tabelle werden die Periodenindizes um -10 verschoben. Die ersten zehn Beobachtungen liefern die Startwerte für die Schätzung und werden verwendet, um den gleitenden Durchschnitt für die Periode 0 zu berechnen. Die Spalte MA (10) zeigt die berechneten Bewegungsdurchschnitte. Der gleitende Mittelwert m ist in Zelle C3. Die Fore (1) Spalte (D) zeigt eine Prognose für einen Zeitraum in die Zukunft. Das Prognoseintervall ist in Zelle D3. Wenn das Prognoseintervall auf eine größere Zahl geändert wird, werden die Zahlen in der Spalte Vorwärts verschoben. Die Err (1) - Spalte (E) zeigt die Differenz zwischen der Beobachtung und der Prognose. Zum Beispiel ist die Beobachtung zum Zeitpunkt 1 6. Der prognostizierte Wert, der aus dem gleitenden Durchschnitt zum Zeitpunkt 0 gemacht wird, beträgt 11,1. Der Fehler ist dann -5.1. Die Standardabweichung und mittlere mittlere Abweichung (MAD) werden in den Zellen E6 bzw. E7 berechnet.


No comments:

Post a Comment