Wednesday 1 November 2017

Weka Devisenhandel


Weka 3: Data Mining Software in Java Weka ist eine Sammlung von maschinellen Lernalgorithmen für Data Mining Aufgaben. Die Algorithmen können entweder direkt auf einen Dataset angewendet oder von Ihrem eigenen Java-Code aufgerufen werden. Weka enthält Werkzeuge für die Datenvorverarbeitung, Klassifizierung, Regression, Clustering, Assoziationsregeln und Visualisierung. Es ist auch gut geeignet für die Entwicklung neuer Maschinelles Lernsysteme. Gefunden nur auf den Inseln von Neuseeland, ist die Weka ein flugunfähiger Vogel mit einer neugierigen Natur. Der Name wird so ausgesprochen. Und der Vogel klingt so. Weka ist eine Open-Source-Software, die unter der GNU General Public License veröffentlicht wird. Wir haben mehrere kostenlose Online-Kurse, die maschinelles Lernen und Data Mining unter Verwendung Weka. Schauen Sie sich die Website für die Kurse für Details, wann und wie zu registrieren. Die Videos für die Kurse sind auf Youtube verfügbar. Ja, es ist möglich, Weka auf große Daten anwenden Einführung in FX Data Mining Lässt eine einfache und schnelle Einführung in eines der interessantesten Felder heute - Data Mining. Es gibt eine breite Palette von Data Mining-Anwendungen. Wir sollten Data Mining in unseren Devisenhandel integrieren. FX, Forex oder der Devisenmarkt FX ist der größte Markt in Bezug auf täglich gehandelt Volumen. Es hat drei Hauptniveaus der Teilnehmer: die großen Jungen, die Zwischenebene und einfache Händler, wie Sie und ich. Es hat eine spekulative Natur, was bedeutet, die meisten der Zeit, die wir nicht tauschen Waren. Wir interessieren uns nur für den Unterschied und wollen niedrig kaufen und verkaufen hoch oder verkaufen hoch und kaufen niedrig. Durch kurze oder lange Operationen können wir Pips gewinnen. Abhängig von Ihrem Handelsvolumen kann Pip-Wert von einem Cent bis 10 und mehr reichen. Dies ist der wichtigste Weg, um Geld in der FX-Markt (neben mit Carry Trade, Brokering, Arbitrage und vieles mehr). Beachten Sie, dass der FX-Markt ist riesig, ist aber für alle Ebenen der Spieler geeignet. Denken Sie an die FX-Markt als unendlicher Supermarkt mit unendlichen Anzahl von Produkten und Kunden, aber es hat auch eine unendliche Anzahl von Kassierer. Das bedeutet für alle gleich viele Möglichkeiten. Data Mining und Machine Learning Data Mining ist ein reifes Unterfeld der Informatik. Es geht um eine Menge Daten und nicht-triviale Extraktion von nutzbarem Wissen aus massiven Datenmengen. Seine getan durch intelligente Datenverarbeitung mit Machine Learning Algorithmen. Data Mining ist nicht nur CRUD (Erstellen, Lesen, Aktualisieren und Löschen). Wir haben mehrere Data Mining Methoden. Hierdurch die Methoden und einige Anwendungen. Klassifizierung - Klassifizierung von E-Mails als Spam, Klassifizierung einer Transaktion als Betrug. Association - YouTube schlägt uns neue Videos basierend auf unserer Geschichte. Amazon schlägt uns mehr Einzelteile während der Prüfung vor. Clustering - Analyse von unstrukturierten Daten wie Wirtschaftsnachrichten und Meinungen, um gemeinsame Gruppen zu finden. Process Mining - untersucht Logs von Call-Operatoren, um ineffiziente Operationen zu finden. Text Mining - Bergbau Nachrichten oder technische Analyse für Mustererkennung. Algorithmic Trading ist eine automatisierte Ausführung eines Handelsalgorithmus. In unserem Fall kommt der Handelsalgorithmus aus dem Bergbau. Der automatisierte Handel wird von einigen König der Programmiersprache getan. Geschwindigkeit und Robustheit sind hier wichtige Punkte: der menschliche Händler kann das Computerprogramm nicht über diese Attribute schlagen. Es könnte sein, HFT (High Frequency Trading) und Low-Level-Programmierung (als C) oder langfristige Trading-und High-Level-Programmierung (wie Java). Mix Algorithmic Trading mit Data Mining Mischen Data Mining im algorithmischen Handel ist wichtig. Das Wichtigste sind Daten. Ein einfaches Prinzip besagt, dass, wenn Ihre Daten nicht gut genug sind, Ihre Modelle nicht gut genug (GIGO) sein werden. Es geht darum, ein Modell zu schaffen, es umzusetzen und zu testen (wie immer). Derzeit ist diese Strömung meist manuell. Data Mining Software Es gibt viele Open Source Software-Optionen im Bereich Data Mining. WEKA ist ein Data Mining Framework, das von der University of Waikato, Hamilton, Neuseeland stammt. WEKA ist in Java geschrieben und verfügt über eine große API. Auch haben Sie Implementierungen für die meisten der bekannten Machine Learning Algorithmen. Mischung von guten Werkzeugen ist entscheidend. Es gibt zu viele mögliche Handelsmodelle. Tossing eine Münze ist ein dummes Handelssystem, sondern ein Handelssystem. Wir brauchen Data Mining, um das Gold zu finden. Gute Werkzeuge sind leicht, so viel Glück mit dem Bergbau zu bekommen. Wenn Sie weitere Informationen über wissenschaftliche FX Trading suchen, wird Ihr nächster Schritt die Data Mining-Tools und die historischen Daten erforschen. Besuchen Sie algonell für weitere Details. Sie finden uns auf Twitter. Facebook. Google. LinkedIn und WordPress. MetaTrader Expert Advisor Aufgrund der einzigartigen Eigenschaften der verschiedenen Währungspaare, viele quantitative Forex-Strategien sind mit einem bestimmten Währungspaar im Auge. Während dies viele rentable Handelsstrategien produzieren kann, gibt es auch Vorteile für die Entwicklung von Strategien, die über mehrere Währungspaare gehandelt werden können. Dies führt zu einem Element der Diversifizierung, die ein zusätzliches Maß an Abwärtsschutz bieten kann. Daniel Fernandez veröffentlichte kürzlich ein System, das er entworfen hatte, um auf jedem der vier Forex Majors zu handeln. Sein Ziel war es, ein System zu finden, das eine 20-jährige Erfolgsbilanz mit profitablem Handel auf EURUSD, GBPUSD, USDJPY und USDCHF erzielt hätte. Daniel verwendet einen Data-Mining-Ansatz zur Entwicklung einer Strategie für den Handel der vier Forex Majors. Um sein System zu konstruieren, verwendete Daniel seine Data-Mining-Software, um Eingangs - und Ausgangssignale zu definieren, die eine rentable Handelsstrategie auf jedem der vier Währungspaare in den letzten 20 Jahren erzeugt hätten. Was er kommt, ist eine Kombination aus drei Preis-Regeln, die die Grundlage für seine Forex-Majors-Strategie bilden. Daniel8217s Forex Majors Strategie Daniel8217s Forex Majors Strategie ist sehr einfach, dass es immer eine Position, entweder lang oder kurz, in jedem der vier Währungspaare, die es handelt. Es basiert alle seine Trades auf Tages-Charts. Die Strategie geht lange, wenn die folgenden drei Bedingungen erfüllt sind: Die Strategie ist kurz, wenn die folgenden drei Bedingungen erfüllt sind: Wie Sie sehen können, ist die Strategie im Grunde ein optimierter Trend nach Strategie. Dies macht Sinn, weil Daniel am Anfang seines Artikels erklärt, dass langfristige Tendenzen nach Strategien in der Regel die besten Strategien für den Handel mehrere Märkte sind. Eine weitere Regel, die Daniel8217s Strategie nutzt, ist ein ATR-basierter Stop-Loss. Der feste Stop-Loss wird auf 180 der 20-Tage-ATR eingestellt. Wenn der Stop-Loss ausgelöst wird, bleibt die Strategie ausserhalb des Marktes, bis ein Signal in die entgegengesetzte Richtung erzeugt wird. Die Prüfung zeigt, dass eine erneute Eingabe auf ein Signal in der gleichen Richtung die Leistung negativ beeinflusst hat. Backtesting Performance Die Backtesting-Ergebnisse, dass Daniel in seinem Beitrag enthalten, zeigen, dass die Strategie war ziemlich profitabel. Sie erzielte eine Gewinnquote von 45, einen Gewinnfaktor von 1,38 und ein Lohn-Risiko-Verhältnis von 1,68. Daniel8217s größte Sorge über die Strategie war, dass der maximale Drawdownzeitraum eine sehr lange Zeit darstellte. Nach Daniel8217s Zahlen, die durchschnittliche jährliche Rendite war 9,67. Diese bestand aus 16 rentablen Jahren, 4 Jahre verlängert, und ein Jahr, das im Grunde sogar brach. Das beste Jahr war eine Rendite von 37,76, und das schlechteste Jahr war ein Verlust von 20,2. Daniel bemerkt, dass dieses System keine gute eigenständige Strategie darstellen würde, da es seine Rendite im Verhältnis zu maximalen Drawdowns wiedergibt. Allerdings schlägt er vor, dass es ein interessantes Stück einer größeren Multisystem-Strategie sein könnte. Zeitreihenanalyse und Prognose mit Weka 1 Einleitung Zeitreihenanalyse ist das Verfahren der Verwendung statistischer Verfahren zur Modellierung und Erläuterung einer zeitabhängigen Datenreihe Punkte. Zeitreihen-Prognose ist der Prozess der Verwendung eines Modells, um Vorhersagen (Prognosen) für zukünftige Ereignisse basierend auf bekannten vergangenen Ereignissen zu generieren. Zeitreihen-Daten weisen eine natürliche zeitliche Ordnung auf - dies unterscheidet sich von typischen Data Miningmachine-Lernanwendungen, bei denen jeder Datenpunkt ein unabhängiges Beispiel für das zu lernende Konzept ist und die Anordnung von Datenpunkten innerhalb eines Datensatzes keine Rolle spielt. Beispiele für Zeitreihen-Anwendungen sind: Kapazitätsplanung, Inventurnachschub, Absatzprognose und zukünftige Personalausstattung. Weka (gt 3.7.3) verfügt nun über eine eigene Zeitreihenanalyse-Umgebung, die die Entwicklung, Bewertung und Visualisierung von Prognosemodellen ermöglicht. Diese Umgebung ist in Form einer Plugin-Registerkarte in der Benutzeroberfläche von Wekas ​​graphical Explorer sichtbar und kann über den Paketmanager installiert werden. Wekas ​​Zeitreihe Framework nimmt eine Maschine Learning Data Mining-Ansatz zur Modellierung von Zeitreihen durch die Umwandlung der Daten in eine Form, die Standard-propositional Lernalgorithmen verarbeiten kann. Dies geschieht durch Entfernen der zeitlichen Anordnung einzelner Eingabebeispiele durch Codierung der Zeitabhängigkeit über zusätzliche Eingabefelder. Diese Felder werden manchmal als verzögerte Variablen bezeichnet. Verschiedene andere Felder werden auch automatisch berechnet, damit die Algorithmen Trends und Saisonalität modellieren können. Nachdem die Daten transformiert worden sind, kann jeder der Wekas-Regressionsalgorithmen angewendet werden, um ein Modell zu lernen. Eine offensichtliche Wahl besteht darin, eine multiple lineare Regression anzuwenden, aber jede Methode, die in der Lage ist, ein kontinuierliches Target vorherzusagen, kann angewandt werden - einschließlich leistungsfähiger nichtlinearer Methoden, wie beispielsweise Unterstützungsvektormaschinen für Regressions - und Modellbäume (Entscheidungsbäume mit linearen Regressionsfunktionen an den Blättern) . Dieser Ansatz zur Zeitreihenanalyse und - prognose ist oftmals leistungsfähiger und flexibler als klassische statistische Verfahren wie ARMA und ARIMA. Die oben genannte Kernzeit-Modellierungsumgebung ist als Open-Source-freie Software in der CE-Version von Weka verfügbar. Die gleiche Funktionalität wurde auch in einem Löffelperspektive-Plugin verpackt, das es Benutzern der Pentaho Data Integration (PDI) ermöglicht, mit der Zeitreihenanalyse innerhalb der Spoon PDI GUI zu arbeiten. Es gibt auch einen Plugin-Schritt für PDI, der es erlaubt, Modelle, die aus der Zeitreihenmodellierungsumgebung exportiert wurden, zu laden und zukünftige Prognosen als Teil einer ETL-Transformation zu verwenden. Die Perspektiven - und Step-Plugins für PDI sind Teil der Enterprise Edition. 2 Voraussetzungen Die Weka Zeitreihenmodellierungsumgebung erfordert Weka gt 3.7.3 und wird als Paket zur Verfügung gestellt, das über den Paketmanager installiert werden kann. 3 Verwendung der Zeitreihenumgebung Nach der Installation über den Paketmanager kann die Zeitreihenmodellierungsumgebung in einer neuen Registerkarte im Wekas ​​Explorer GUI gefunden werden. Die Daten werden auf die normale Weise in die Umgebung gebracht, indem eine Datei, eine URL oder eine Datenbank über das Preprocess-Panel des Explorers geladen wird. Die Umgebung verfügt über grundlegende und erweiterte Konfigurationsoptionen. Diese werden in den folgenden Abschnitten beschrieben. 3.1 Grundkonfiguration In diesem Beispiel wurde die Beispieldatensatz-Airline (im Paket enthalten) in den Explorer geladen. Diese Daten sind ein öffentlich zugänglicher Benchmark-Datensatz mit einer Datenreihe: monatliche Passagierzahlen für eine Fluggesellschaft für die Jahre 1949 - 1960. Neben den Passagierzahlen enthält die Daten auch einen Datumszeitstempel. Das grundlegende Konfigurationsfenster wählt automatisch die einzelne Zielserie und das Feld Datumszeitstempel aus. Im Bereich Parameter der GUI (oben rechts) kann der Benutzer die Anzahl der Zeitschritte eingeben, die über das Ende der gelieferten Daten hinaus prognostiziert werden sollen. Unter dem Dropdown-Feld Zeitstempel befindet sich ein Dropdown-Feld für die Angabe der Periodizität der Daten. Wenn die Daten einen Zeitstempel aufweisen und der Zeitstempel ein Datum ist, kann das System automatisch die Periodizität der Daten erkennen. Darunter befinden sich Kontrollkästchen, die es dem Benutzer erlauben, das System für seine Vorhersagen Konfidenzintervalle zu berechnen und eine Leistungsbewertung der Trainingsdaten durchzuführen. Weitere Einzelheiten zu diesen Optionen finden Sie in den nachfolgenden Abschnitten. 3.1.1 Zielauswahl Am oberen linken Rand des Basis-Konfigurationspanels befindet sich ein Bereich, der es dem Benutzer ermöglicht, welches Zielfeld (e) in den zu prognostizierenden Daten auszuwählen. Das System kann gemeinsam mehrere Zielfelder gleichzeitig modellieren, um Abhängigkeiten zwischen ihnen zu erfassen. Aus diesem Grund kann die Modellierung mehrerer Serien gleichzeitig unterschiedliche Ergebnisse für jede Serie ergeben, als sie einzeln zu modellieren. Wenn es nur ein einziges Ziel in den Daten gibt, dann wählt das System es automatisch aus. In der Situation, in der es möglicherweise mehrere Ziele gibt, muss der Benutzer sie manuell auswählen. Der Screenshot unten zeigt einige Ergebnisse auf einem anderen Benchmark-Datensatz. In diesem Fall handelt es sich um monatliche Verkäufe (in Liter pro Monat) der australischen Weine. Es gibt sechs Kategorien von Wein in den Daten, und die Umsätze wurden monatlich von Anfang 1980 bis Mitte 1995 aufgezeichnet. Die Prognose hat zwei Serien gleichzeitig modelliert: Fortified und Dry-White. 3.1.2 Grundparameter Oben rechts im Grundkonfigurationspanel befindet sich ein Bereich mit mehreren einfachen Parametern, die das Verhalten des Prognosealgorithmus steuern. Anzahl der Zeiteinheiten Die erste und die wichtigste davon ist die Anzahl der Zeiteinheiten, die prognostiziert werden sollen. Dies steuert, wie viele Zeitschritte in die Zukunft der Prognostiker Prognosen zu produzieren. Die Voreinstellung ist auf 1 gesetzt, d. h. das System wird eine einzelne 1-Schritt-Voraus-Vorhersage durchführen. Für die Airline-Daten legen wir dies auf 24 fest (um für zwei Jahre monatliche Prognosen für die Zukunft vorzunehmen) und für die Weindaten auf 12 (monatliche Prognosen für die Zukunft für einen Zeitraum von einem Jahr). Die Einheiten entsprechen der Periodizität der Daten (falls bekannt). Beispielsweise sind bei täglich aufgezeichneten Daten die Zeiteinheiten Tage. Zeitstempel Als nächstes wird das Dropdown-Feld Zeitstempel angezeigt. Dies ermöglicht dem Benutzer, auszuwählen, welches Feld in den Daten den Zeitstempel enthält. Wenn in den Daten ein Datumsfeld vorhanden ist, wählt das System dies automatisch aus. Wenn in den Daten kein Datum vorhanden ist, wird die Option ltUse eine künstliche Zeitindexgt-Option ausgewählt. Der Benutzer kann den Zeitstempel manuell auswählen und muss dies tun, wenn es sich bei dem Zeitstempel um ein nicht-numerisches Zahlenfeld handelt (weil das System dies nicht von einem potentiellen Zielfeld unterscheidet). Der Benutzer hat auch die Möglichkeit, ltNonegt aus dem Dropdown-Feld auszuwählen, um dem System mitzuteilen, dass kein Zeitstempel (künstlich oder anderweitig) verwendet werden soll. Periodizität Unter dem Dropdown-Feld Zeitstempel befindet sich ein Dropdownfeld, mit dem der Benutzer die Periodizität der Daten festlegen kann. Wenn ein Datumsfeld als Zeitstempel ausgewählt wurde, kann das System die Heuristik verwenden, um automatisch die Periodizität zu ermitteln - ltDetect automaticgt wird als Standard gesetzt, wenn das System gefunden hat und ein Datumsattribut als Zeitstempel gesetzt hat. Wenn der Zeitstempel kein Datum ist, kann der Benutzer dem System explizit mitteilen, was die Periodizität ist oder ltUnknowngt auswählen, falls er nicht bekannt ist. Periodizität wird verwendet, um angemessene Vorgaben für die Erzeugung von verzögerten Variablen festzulegen (siehe unten im Abschnitt Erweiterte Konfiguration). In dem Fall, in dem der Zeitstempel ein Datum ist, wird Periodizität auch verwendet, um einen Standardsatz von Feldern zu erstellen, der aus dem Datum abgeleitet wird. Z. B. Für eine monatliche Periodizität, Monat des Jahres und Quartal Felder werden automatisch erstellt. Unterhalb des Dropdown-Felds Periodizität ist ein Feld, das es dem Benutzer ermöglicht, Zeitperioden festzulegen, die nicht als Zeitstempelinkrement bezüglich des Modellierungs-, Vorhersage - und Visualisierungsprozesses gelten sollen. Zum Beispiel betrachten tägliche Handelsdaten für eine bestimmte Aktie. Der Markt ist für den Handel über das Wochenende und an Feiertagen geschlossen, so dass diese Zeiträume nicht als ein Inkrement zählen und der Unterschied, zum Beispiel zwischen Markt schließen am Freitag und am folgenden Montag ist eine Zeiteinheit (nicht drei). Die Heuristik, die verwendet wird, um Periodizität automatisch zu erkennen, kann mit diesen Löchern in den Daten nicht umgehen, so dass der Benutzer eine Periodizität festlegen muss, die verwendet werden soll, und die Zeitperioden zu liefern, die nicht als Inkremente in dem Textfeld der überspringenden Liste berücksichtigt werden sollen. Das Feld Liste überspringen kann Zeichenfolgen wie Wochenende, Sat, Dienstag, März und Oktober, bestimmte Datumsangaben (mit optionaler Formatierungszeichenfolge) wie 2011-07-04yyyy-MM-dd und Ganzzahlen (die je nach den angegebenen Werten unterschiedlich interpretiert werden) akzeptieren Periodizität). Für Tagesdaten wird eine Integer als der Tag des Jahres für stündliche Daten interpretiert, es ist die Stunde des Tages und für monatliche Daten ist es der Monat des Jahres. Für bestimmte Datumsangaben hat das System eine Standard-Formatierungszeichenfolge (yyyy-MM-ddTHH: mm: ss) oder der Benutzer kann festlegen, dass er das Datum mit ltformatgt anhängen soll. Wenn alle Daten in der Liste das gleiche Format haben, dann muss es nur einmal (für das erste in der Liste vorhandene Datum) angegeben werden und dann wird dies das Standardformat für nachfolgende Daten in der Liste. Die folgenden Screenshots zeigen ein Beispiel für die appleStocks2011-Daten (im Beispieldatenverzeichnis des Pakets gefunden). Diese Datei enthält täglich hohe, niedrige, öffnende und schließende Daten für Apple Computeraktien vom 3. Januar bis 10. August 2011. Die Daten wurden von Yahoo finance (finance. yahooqhpsAAPLampa00ampb3ampc2011ampd07ampe10ampf2011ampgd) genommen. Es wurde eine Fünf-Tage-Prognose für den täglichen Schlusswert eingestellt, eine maximale Verzögerung von 10 konfiguriert (siehe Lag-Erstellung in Abschnitt 3.2), Periodizität auf Täglich eingestellt und die folgenden Einträge übersprungen, um Wochenenden und Feiertage abzudecken: 2011-01-17yyyy-MM-dd, 2011-02-21, 2011-04-22, 2011-05-30, 2011-07-04 Beachten Sie, dass es wichtig ist, geben Sie Daten für Feiertage (und alle anderen Termine, die Zählen nicht als Inkremente), die während des zukünftigen Zeitraums auftreten, der prognostiziert wird. Konfidenzintervalle Unterhalb des Zeitstempel-Dropdown-Felds befindet sich ein Kontrollkästchen und ein Textfeld, in dem der Benutzer entscheiden kann, ob das System Vertrauensschranken für die Vorhersage berechnen kann. Das Standard-Konfidenzniveau beträgt 95. Das System verwendet Vorhersagen für die bekannten Zielwerte in den Trainingsdaten, um die Vertrauensgrenzen festzulegen. Ein Konfidenzniveau von 95 bedeutet, dass 95 der wahren Zielwerte innerhalb des Intervalls fielen. Beachten Sie, dass die Konfidenzintervalle für jede Stufenebene unabhängig voneinander berechnet werden, dh alle Vorausschätzungen über die Trainingsdaten werden für die Berechnung des einstufigen Konfidenzintervalls verwendet, alle Vorhersagen in zwei Schritten Verwendet, um das Zwei-Schritt-Vor-Intervall zu berechnen, und so weiter. Bewertung durchführen Standardmäßig ist das System eingerichtet, um das Prognosemodell zu erlernen und eine Prognose über das Ende der Trainingsdaten hinaus zu generieren. Wenn Sie das Kontrollkästchen Auswertung durchführen ausführen, wird dem System mitgeteilt, dass er die Trainingsdaten auswerten soll. Das heißt, sobald der Prognostiker auf die Daten trainiert worden ist, wird er dann angewandt, um eine Prognose zu jedem Zeitpunkt (in der Reihenfolge) durch einen Schritt durch die Daten vorzunehmen. Diese Vorhersagen werden gesammelt und zusammengefasst unter Verwendung verschiedener Metriken für jeden zukünftigen Zeitschritt, der prognostiziert wird, d. H. Alle Vorhersagen von einem Schritt werden gesammelt und zusammengefasst, wobei alle Vorhersagen in zwei Schritten gesammelt und zusammengefasst werden, und so weiter. Dies ermöglicht es dem Benutzer, bis zu einem gewissen Grad zu sehen, wie sich die Prognosen im Laufe der Zeit verglichen mit denen, die in der Zeit näher sind. Im Bedienfeld "Erweiterte Konfiguration" kann der Benutzer die Feinabstimmung der Konfiguration vornehmen, indem er die zu berechnenden Metriken festlegt und einige Daten vom Ende der Trainingsdaten als separaten Testsatz hält. Der folgende Screenshot zeigt die Auswertung der Australian Wine Trainingsdaten für die Fortified und Dry-White Ziele. 3.1.3 Der Output Output, der durch die Einstellungen aus dem Grundkonfigurationspanel generiert wird, beinhaltet die Trainingsauswertung (siehe vorhergehende Abbildung), grafische Darstellung der prognostizierten Werte über das Ende der Trainingsdaten (siehe Abschnitt 3.1), prognostizierte Werte in Textform Und eine textuelle Beschreibung des Modells gelernt. Im erweiterten Konfigurationsfeld sind weitere Optionen für die Ausgabe verfügbar (siehe nächster Abschnitt). Der nächste Screenshot zeigt das Modell, das auf den Flugliniendaten gelernt wurde. Standardmäßig ist die Zeitreihenumgebung so konfiguriert, dass sie ein lineares Modell, dh eine lineare Unterstützungsvektormaschine, genau erlernt. Die volle Kontrolle über das zugrundeliegende Modell gelernt und seine Parameter ist in der erweiterten Konfiguration Panel. Die Ergebnisse der Zeitreihenanalyse werden in einer Ergebnisliste auf der linken unteren Seite des Displays gespeichert. Ein Eintrag in dieser Liste wird bei jedem Start einer Prognose-Analyse durch Drücken der Start-Taste erstellt. Alle Textausgaben und Grafiken, die einem Analyselauf zugeordnet sind, werden mit dem entsprechenden Eintrag in der Liste gespeichert. Auch in der Liste ist das Prognosemodell selbst gespeichert. Das Modell kann auf Datenträger exportiert werden, indem Sie Prognosemodell speichern aus einem Kontextmenü auswählen, das beim Klicken mit der rechten Maustaste auf einen Eintrag in der Liste angezeigt wird. Es ist wichtig zu erkennen, dass beim Speichern eines Modells das Modell, das gespeichert wird, dasjenige ist, das auf den Trainingsdaten aufgebaut ist, die diesem Eintrag in der Verlaufsliste entsprechen. Wenn eine Auswertung durchgeführt wird, bei der einige der Daten als separates Test-Set ausgegeben werden (siehe unten in Abschnitt 3.2), dann ist das gespeicherte Modell nur auf einem Teil der verfügbaren Daten trainiert worden. Es ist eine gute Idee, die Holdout-Evaluierung auszuschalten und ein Modell auf allen verfügbaren Daten zu erstellen, bevor das Modell gespeichert wird. 3.2 Erweiterte Konfiguration Das erweiterte Konfigurationsfenster gibt dem Benutzer die volle Kontrolle über eine Reihe von Aspekten der Prognoseanalyse. Dazu gehören die Wahl des zugrundeliegenden Modells und der Parameter, die Erzeugung verzögerter Variablen, die Erzeugung von Variablen, die aus einem Datumszeitstempel, der Angabe von Overlay-Daten, Auswertungsoptionen und der Kontrolle darüber, welche Ausgabe erstellt wird, abgeleitet werden. Jedes dieser Geräte verfügt über ein eigenes Sub-Panel in der erweiterten Konfiguration und wird in den folgenden Abschnitten behandelt. 3.2.1 Basis-Lerner Die Basis Lerner-Panel bietet Kontrolle über die Weka Lernalgorithmus verwendet wird, um die Zeitreihe zu modellieren. Es ermöglicht dem Benutzer auch die Konfiguration von Parametern, die für den gewählten Lernalgorithmus spezifisch sind. Standardmäßig ist die Analyseumgebung so konfiguriert, dass sie eine lineare Unterstützungsvektor-Maschine für die Regression verwendet (Wekas ​​SMOreg). Dies kann einfach durch Drücken der Auswahltaste und Auswählen eines anderen Algorithmus geändert werden, der in der Lage ist, eine numerische Größe vorherzusagen. Die Einstellung der einzelnen Parameter des gewählten Lernalgorithmus kann durch Anklicken des Optionsfeldes erfolgen. Rechts neben der Schaltfläche "Auswählen" gefunden. Dies führt zu einem Optionsdialog für den Lernalgorithmus. 3.2.2 Lag-Erstellung Die Lag-Erstellung ermöglicht es dem Benutzer zu kontrollieren und zu manipulieren, wie verzögerte Variablen erzeugt werden. Lagged Variablen sind der Hauptmechanismus, mit dem die Beziehung zwischen Vergangenheit und aktuellen Werten einer Serie durch propositionale Lernalgorithmen erfasst werden kann. Sie erstellen ein Fenster oder Snapshot über einen Zeitraum. Im Wesentlichen bestimmt die Anzahl der verzögerten Variablen die Größe des Fensters. Das grundlegende Konfigurationspanel verwendet die Einstellung Periodicity, um angemessene Standardwerte für die Anzahl der verzögerten Variablen (und damit die Fenstergröße) festzulegen. Zum Beispiel, wenn Sie monatliche Umsatzdaten dann einschließlich Lags bis zu 12 Zeitschritten in die Vergangenheit wäre sinnvoll für stündliche Daten, könnten Sie Lags bis zu 24 Zeitschritten oder vielleicht 12. Die linke Seite der Lag-Erstellung Panel Hat eine Fläche namens Lag-Länge, die Steuerelemente für die Einstellung und Feinabstimmung Lag Längen enthält. Am oberen Rand dieses Bereichs befindet sich ein Kontrollkästchen "Anpassen für Varianz", mit dem der Benutzer entscheiden kann, ob das System die Varianz in den Daten kompensieren soll. Er tut dies, indem er das Protokoll jedes Ziels vor dem Erstellen verzögerter Variablen und den Aufbau des Modells. Dies kann nützlich sein, wenn die Varianz (wie viel die Daten herumspringen) im Laufe der Zeit zunimmt oder abnimmt. Anpassung für Varianz kann, oder auch nicht, die Leistung zu verbessern. Es ist am besten, zu experimentieren und zu sehen, ob es für die Kombination der Datenparameter-Auswahl hilft. Unter dem Kontrollkästchen für Varianzanpassung wird das Kontrollkästchen Benutzerdefinierte Verzögerungslängen verwenden verwendet. Dies ermöglicht es dem Benutzer, die Standardverzugslängen zu ändern, die durch das grundlegende Konfigurationsfenster festgelegt werden. Beachten Sie, dass die Zahlen für die Längen nicht unbedingt die Vorgaben sind, die verwendet werden. Wenn der Benutzer ltDetect automatisch in der Dropdown-Liste Periodizität auf der Basis-Konfigurationstafel ausgewählt hat, werden die tatsächlichen Default-Verzögerungslängen gesetzt, wenn die Daten zur Laufzeit analysiert werden. Das Feld "Minimum Verzögerung" ermöglicht es dem Benutzer, den minimalen vorherigen Zeitschritt festzulegen, um ein verzögertes Feld zu erzeugen - z. B. Bedeutet ein Wert von 1, dass eine verzögerte Variable erstellt wird, die Zielwerte zu Zeit-1 enthält. Das Textfeld Maximale Verzögerung gibt den maximalen vorherigen Zeitschritt an, um eine verzögerte Variable zum Beispiel zu erstellen. Bedeutet ein Wert von 12, dass eine verzögerte Variable erzeugt wird, die Zielwerte zum Zeitpunkt 12 enthält. Alle Zeitperioden zwischen der minimalen und maximalen Verzögerung werden in verzögerte Variablen umgewandelt. Es ist möglich, die Erzeugung von Variablen innerhalb des Minimums und Maximums durch Eingeben eines Bereichs im Textfeld für die Feinabstimmungsauswahl fein abzustimmen. Im Screenshot unten haben wir wöchentliche Daten so gewählt haben, um minimale und maximale Verzögerungen auf 1 und 52 festgelegt. Innerhalb dieses haben wir entschieden, nur zu schaffen, Lags 1-26 und 52. Auf der rechten Seite der Lag-Erstellung Panel ist ein Bereich namens Mittelung. Durch Aktivieren des Kontrollkästchens Mittlerer Konsekitiv langer Nachlauf wird die Anzahl der verzögerten Variablen reduziert, indem die Werte mehrerer aufeinander folgender (in Zeit) Variablen gemittelt werden. Dieses kann nützlich sein, wenn Sie ein breites Fenster über den Daten haben möchten, aber möglicherweise nicht viele historische Datenpunkte haben. Eine Faustregel besagt, dass Sie mindestens zehnmal so viele Zeilen als Felder haben sollten (es gibt hiervon Ausnahmen abhängig vom Lernalgorithmus - z. B. können Unterstützungsvektormaschinen in Fällen, in denen es viele weitere Felder als Zeilen gibt, sehr gut funktionieren). Das Mitteln einer Anzahl von aufeinanderfolgenden verzögerten Variablen in einem einzigen Feld verringert die Anzahl der Eingabefelder mit einem vermutlich minimalen Informationsverlust (zumindest für lange Zeitverzögerungen). Die durchschnittliche Verzögerung länger als Textfeld ermöglicht es dem Benutzer anzugeben, wann der Mittelungsprozess beginnt. Beispielsweise wird in dem obigen Screenshot auf 2 gesetzt, was bedeutet, dass die Zeit-1 und die Zeit-2 verzögerten Variablen unberührt bleiben werden, während Zeit-3 und höher durch Mittelwerte ersetzt werden. Die 35 aufeinanderfolgenden Verzögerungen bis zum Mittelwert steuern, wie viele verzögerte Variablen ein Teil jeder gemittelten Gruppe sein werden. Beispielsweise wird in dem obigen Screenshot auch auf 2 gesetzt, was bedeutet, dass Zeit - 3 und Zeit - 4 gemittelt werden, um eine neue Feldzeit zu bilden - 5 und Zeit - 6 werden gemittelt, um ein neues Feld zu bilden und so weiter. Beachten Sie, dass nur konsekutive verzögerte Variablen gemittelt werden, so dass in dem obigen Beispiel, wo wir bereits die Verzögerungsschaffung durch Auswahl der Verzögerungen 1-26 und 52 feinabgestimmt haben, die Zeit - 26 niemals mit der Zeit - 52 gemittelt würde, da sie nicht sind aufeinanderfolgenden. 3.2.3 Periodische Attribute Das Bedienfeld Periodische Attribute ermöglicht es dem Benutzer, die vom Datum erzeugten periodischen Attribute anzupassen. Diese Funktionalität ist nur verfügbar, wenn die Daten einen Datumsstempel enthalten. Wenn es sich bei dem Zeitstempel um ein Datum handelt, werden automatisch bestimmte Vorgaben (wie durch die Periodizitätseinstellung aus dem Grundkonfigurationsfenster bestimmt) automatisch festgelegt. Wenn zum Beispiel die Daten ein monatliches Zeitintervall haben, werden der Monat des Jahres und des Quartals automatisch als Variablen in die Daten aufgenommen. Der Benutzer kann das Anpassungs-Kontrollkästchen in dem vom Datum abgeleiteten periodischen Erstellungsbereich auswählen, um neue benutzerdefinierte, von Datum abgeleitete Variablen zu deaktivieren, auszuwählen und zu erstellen. Wenn das Kontrollkästchen aktiviert ist, wird dem Benutzer ein Satz von vordefinierten Variablen angezeigt, wie im folgenden Screenshot gezeigt: Wenn alle Standardvariablen nicht ausgewählt werden, werden keine vom Datum erstellten Variablen erstellt. Abgesehen von den vordefinierten Vorgaben ist es möglich, benutzerdefinierte Variablen zu erstellen. Eine neue benutzerdefinierte Datumsvariable, die auf einer Regel basiert, kann durch Drücken der Schaltfläche Neu erstellt werden. In diesem Beispiel haben wir eine benutzerdefinierte, datum abgeleitete Variable namens ChistmasBreak erstellt, die einen einzelnen datebasierten Test umfasst (im Listenbereich unten im Dialog dargestellt). Diese Variable ist boolean und wird den Wert 1 annehmen, wenn das Datum zwischen dem 24. Dezember und dem 2. Januar einschließlich liegt. Zusätzliche Tests können hinzugefügt werden, damit die Regel für disjunkte Zeiträume wahr werden kann. Das Feld "Feldname" ermöglicht es dem Benutzer, der neuen Variablen einen Namen zu geben. Darunter befinden sich zwei Tasten. Die Schaltfläche Neu fügt der Regel einen neuen Test hinzu, und die Schaltfläche Löschen löscht den aktuell ausgewählten Test aus der Liste unten. Wenn Sie einen Test in der Liste auswählen, kopiert er seine Werte in die Dropdown-Felder für die obere und untere Grenze des Tests, wie im Abschnitt Testintervall des Screenshots oben gezeigt. Jedes Dropdown-Feld bearbeitet ein Element einer Schranke. Sie sind (von links nach rechts): Vergleichsoperator, Jahr, Monat des Jahres, Woche des Jahres, Woche des Monats, Tag des Jahres, Tag des Monats, Tag der Woche, Stunde des Tages, Minute Der Stunde und der Sekunde. Tool-Tipps, die die Funktion von jedem angezeigt, wenn die Maus über jedem Dropdown-Feld schwebt. Jedes Dropdown-Feld enthält die gesetzlichen Werte für das Element der gebundenen. Asterix Zeichen () sind Wildcards und passen alles zusammen. Unterhalb des Testintervallbereichs befindet sich ein Label-Textfeld. Dadurch kann jedem Testintervall in einer Regel ein String-Label zugeordnet werden. Alle Intervalle in einer Regel müssen ein Label oder keine davon haben. Mit einigen Intervallen mit einem Label und einige ohne wird einen Fehler generieren. Wenn alle Intervalle über eine Beschriftung verfügen, werden sie verwendet, um den Wert des benutzerdefinierten Felds, das der Regel zugeordnet ist, anstelle von nur 0 oder 1 einzustellen. Die Auswertung der Regel verläuft als Liste, dh von oben nach unten und das erste Intervall Der auf true ausweist, ist derjenige, der verwendet wird, um den Wert des Felds festzulegen. Eine Standard-Markierung (d. H. Eine, die zugewiesen wird, wenn keine anderen Testintervallübereinstimmungen vorliegen) kann unter Verwendung aller Platzhalter für das letzte Testintervall in der Liste eingerichtet werden. In dem Fall, in dem alle Intervalle Beschriftungen aufweisen und wenn kein catch-All-Standard eingerichtet ist, wird der Wert für das benutzerdefinierte Feld auf fehlt gesetzt, wenn kein Intervall übereinstimmt. Dies unterscheidet sich von dem Fall, in dem Etiketten nicht verwendet werden und das Feld ein binäres Flag ist. In diesem Fall führt das Ausbleiben eines Intervalls dazu, dass der Wert des benutzerdefinierten Felds auf 0 gesetzt wird. 3.2.4 Overlay-Daten Die Overlay-Daten Ermöglicht es dem Benutzer, Felder (falls vorhanden) anzugeben, die als Overlay-Daten betrachtet werden sollen. Standardmäßig werden keine Overlay-Daten verwendet. Unter Overlay-Daten versteht man die Eingabefelder, die außerhalb der Datenumwandlungs - und Closed-Loop-Prognose zu betrachten sind. Das heißt, Daten, die nicht prognostiziert werden sollen, können nicht automatisch abgeleitet werden und werden für die zukünftigen Zeiträume, die prognostiziert werden sollen, geliefert. In dem Screenshot unten wurden die australischen Weindaten in das System geladen und Fortified wurde als Ziel für die Prognose ausgewählt. By selecting the Use overlay data checkbox, the system shows the remaining fields in the data that have not been selected as either targets or the time stamp. These fields are available for use as overlay data. The system will use selected overlay fields as inputs to the model. In this way it is possible for the model to take into account special historical conditions (e. g. stock market crash) and factor in conditions that will occur at known points in the future (e. g. irregular sales promotions that have occurred historically and are planned for the future). Such variables are often referred to as intervention variables in the time series literature. When executing an analysis that uses overlay data the system may report that it is unable to generate a forecast beyond the end of the data. This is because we dont have values for the overlay fields for the time periods requested, so the model is unable to generate a forecast for the selected target(s). Note that it is possible to evaluate the model on the training data andor data held-out from the end of the training data because this data does contain values for overlay fields. More information on making forecasts that involve overlay data is given in the documentation on the forecasting plugin step for Pentaho Data Integration . 3.2.5 Evaluation The Evaluation panel allows the user to select which evaluation metrics they wish to see, and configure whether to evaluate using the training data andor a set of data held out from the end of the training data. Selecting Perform evaluation in the Basic configuration panel is equivalent to selecting Evaluate on training here. By default, the mean absolute error (MAE) and root mean square error (RMSE) of the predictions are computed. The user can select which metrics to compute in the Metrics area in on the left-hand side of the panel. The available metrics are: Mean absolute error (MAE): sum(abs(predicted - actual)) N Mean squared error (MSE): sum((predicted - actual)2) N Root mean squared error (RMSE): sqrt(sum((predicted - actual)2) N) Mean absolute percentage error (MAPE): sum(abs((predicted - actual) actual)) N Direction accuracy (DAC): count(sign(actualcurrent - actualprevious) sign(predcurrent - predprevious)) N Relative absolute error (RAE): sum(abs(predicted - actual)) sum(abs(previoustarget - actual)) Root relative squared error (RRSE): sqrt(sum((predicted - actual)2) N) sqrt(sum(previoustarget - actual)2) N) The relative measures give an indication of how the well forecasters predictions are doing compared to just using the last known target value as the prediction. They are expressed as a percentage, and lower values indicate that the forecasted values are better predictions than just using the last known target value. A score of gt100 indicates that the forecaster is doing no better (or even worse) than predicting the last known target value. Note that the last known target value is relative to the step at which the forecast is being made - e. g. a 12-step-ahead prediction is compared relative to using the target value 12 time steps prior as the prediction (since this is the last known actual target value). The text field to the right of the Evaluate on held out training check box allows the user to select how much of the training data to hold out from the end of the series in order to form an independent test set. The number entered here can either indicate an absolute number of rows, or can be a fraction of the training data (expressed as a number between 0 and 1). 3.2.6 Output The Output panel provides options that control what textual and graphical output are produced by the system. The panel is split into two sections: Output options and Graphing options . The former controls what textual output appears in the main Output area of the environment, while the latter controls which graphs are generated. In the Output area of the panel, selecting Output predictions at step causes the system to output the actual and predicted values for a single target at a single step. The error is also output. For example, the 5-step ahead predictions on a hold-out test set for the Fortified target in the Australian wine data is shown in the following screenshot. Selecting Output future predictions beyond the end of series will cause the system to output the training data and predicted values (up to the maximum number of time units) beyond the end of the data for all targets predicted by the forecaster. Forecasted values are marked with a to make the boundary between training values and forecasted values clear. In the Graphing options area of the panel the user can select which graphs are generated by the system. Similar to the textual output, the predictions at a specific step can be graphed by selecting the Graph predictions at step check box. Unlike the textual output, all targets predicted by the forecaster will be graphed. Selecting the Graph target at steps checkbox allows a single target to be graphed at more than one step - e. g. a graph can be generated that shows 1-step-ahead, 2-step-ahead and 5-step ahead predictions for the same target. The Target to graph drop-down box and the Steps to graph text field become active when the Graph target at steps checkbox is selected. The following screenshot shows graphing the the Fortified target from the Australian wine data on a hold-out set at steps 1,2,3,6 and 12. 4 Using the API Here is an example that shows how to build a forecasting model and make a forecast programatically. Javadoc for the time series forecasting package can be found at weka. sourceforgedoc. packagestimeseriesForecasting 5 Time Series Analysis PDI Spoon Plugin The time series analysis environment described in the previous sections can also be used within Pentaho Data Integrations Spoon user interface. It appears as a perspective within Spoon and operates in exactly the same way as described above. The only difference is in how data is brought into the time series environment. When running inside of Spoon, data can be sent to the time series environment via a Table Input or Table Output step. Right-clicking on either of these steps brings up a contextual menu selecting Forecast from this menu activates the time series Spoon perspective and loads data from the data base table configured in the Table InputOutput step into the time series environment.

No comments:

Post a Comment