Maschinelles Lernen im Handel: Theorie, Modelle, Praxis und Algo-Trading - Seite 37

 
Yury Reshetov:



Wäre es nicht besser, sie in R zu integrieren?

Und mehr Menschen werden in der Lage sein, zu arbeiten und mt5 Brücken mit R scheinen verfügbar zu sein

 
Dr. Trader:

Ich habe das nie ausprobiert, aber technisch gesehen könnte man die Zielvariable auch als Prädiktor behandeln, indem man sie in das pca-Modell einbezieht. In den neuen Daten ist ihr Wert dann nicht bekannt, so dass pca diese fehlenden Werte auffüllen kann.

Ich habe versucht, Kopfkomponenten vorherzusagen und habe nichts Interessantes gefunden...

Sie können es auch versuchen, es gibt ein sehr gutes und gut dokumentiertes Paket dafür "Rssa".

 
Dr. Trader:

Nein, das ist in Ordnung. Da die Prädiktoren, die für jede der Hauptkomponenten verwendet werden, bekannt sind, können wir die Prädiktoren, die nicht in den Hauptkomponenten verwendet werden, sicher aussortieren.

Was meinen Sie damit, dass sie nicht verwendet werden? PCA ist eine lineare Transformation. Die Dimensionen, die eliminiert werden können, sind diejenigen, die durch eine lineare Kombination der anderen erhalten werden können. Das bedeutet, dass jeder Prädiktor durch eine lineare Kombination der Hauptkomponenten erhalten werden kann. Nimmt man ein 95 %-Intervall, besteht eine gute Chance, dass ein guter Prädiktor wegen der Skalierung dummerweise verloren geht, ein Intervall unter 100 % wird nur bei verlustbehafteter Datenkompression verwendet, da sonst immer nur die Komponenten abgeschnitten werden, die null sind.

 
mytarmailS:
Verdammt, ich habe vermutet, dass es kein Zufall ist, dass diese "NA"-Shows in das Datum geworfen werden, aber ich habe das Handbuch gelesen, es sagt eindeutig PCA mit einem neuronalen Netzwerk, aber dann ist es immer noch nicht klar, wie dieser Typ von der Website dieses schöne Bild mit einer guten Trennung nach Klassen bekommen hat

Die Bilder haben da einen anderen Punkt... In dem Artikel selbst geht es nicht um Klassifizierung, sondern um Clustering. Wenn Sie Daten haben, müssen Sie sie irgendwie in Gruppen einteilen. Sie wissen nicht einmal, wie viele Gruppen Sie haben - zwei, drei, zehn... Der Autor verwendet ein Diagramm der ersten beiden Komponenten der PCA, wobei es darauf ankommt, wie nahe die Punkte einer Gruppe beieinander liegen. Die Farben sind bereits eine vergleichende Analyse, und werden aus bereits bekannten Zielgrößen zugeordnet, die nicht berechnet, sondern einfach aus der Tabelle entnommen werden. Wenn die Punktgruppen farblich korrekt verteilt sind, ist alles in Ordnung, die Methode scheint zu funktionieren, und wir können sie an anderen Daten ausprobieren. Der Artikel enthält jedoch keinerlei Vorhersagen, sondern lediglich eine Clusterbildung und einen Vergleich mit einer bekannten Klassifizierung.

Ein ähnliches Schaubild finden Sie in dem Artikel in meinem vorherigen Beitrag. Das Ergebnis wird ein Diagramm wie dieses sein: http://i0.wp.com/www.win-vector.com/dfiles/YAwarePCA_files/figure-html/scaledplotest-1.png Keine schöne Clusterbildung hier, andere Eingabedaten. Wenn Sie jedoch die Tabellenblende als Eingabedaten verwenden, erhalten Sie etwas Ähnliches wie die Diagramme in dem von Ihnen angegebenen Artikel.

 
Kombinator:
Die PCA war ursprünglich dazu gedacht, die Dimensionalität der ursprünglichen Reihen zu reduzieren. Das ist alles. Sie zur Auswahl von Prädiktoren zu verwenden, ist illusorisch.
Könnten Sie bitte den Inhalt des Artikels, den ich verlinkt habe, RICHTIG widerlegen? Zu diesem Zeitpunkt hatDr. Trader: versucht, dieses Material zu verwenden. Um es ganz konkret zu sagen. Das Ergebnis ist negativ. Vielleicht können Sie uns auch Ihre Meinung zu diesem Thema mitteilen?
Principal Components Regression, Pt. 3: Picking the Number of Components | R-bloggers
Principal Components Regression, Pt. 3: Picking the Number of Components | R-bloggers
  • Nina Zumel
  • www.r-bloggers.com
In our previous note we demonstrated Y-Aware PCA and other y-aware approaches to dimensionality reduction in a predictive modeling context, specifically Principal Components Regression (PCR). For our examples, we selected the appropriate number of principal components by eye. In this note, we will look at ways to select the appropriate number...
 
mytarmailS:

Wäre es nicht besser, sie in R zu integrieren?

Und mehr Menschen werden in der Lage sein, zu arbeiten und mt5 Brücken mit R scheinen verfügbar zu sein

Nach der Tatsache zu urteilen, dass Dr.Trader bereits beim Versuch, die alte libVMR nach R zu portieren, abgestürzt ist und nicht genug Speicher für eine große Kernmaschine und die volle Leistung für eine kleine Maschine hatte (die Anzahl der Zyklen wurde um das 100-fache reduziert), bezweifle ich, dass es Leute gibt, die bereit sind, die gleichen Fehler zu machen.


Es ist also besser, für solche Aufgaben noch nicht über eine Portierung nach R zu sprechen - diese Nervensäge wird es nicht schaffen.

 
Yury Reshetov:

Nach der Tatsache zu urteilen, dass Dr.Trader bereits beim Versuch, die alte libVMR nach R zu portieren, abgestürzt ist und nicht genug Speicher für eine große Kernmaschine sowie die volle Leistung für eine kleine Maschine hatte (die Anzahl der Zyklen wurde um das 100-fache reduziert), ist es unwahrscheinlich, dass es Leute gibt, die bereit sind, in dieselbe Kerbe zu schlagen?


Es ist also besser, kein Wort über die Portierung auf R zu verlieren - dieser Schrotthaufen ist zu langsam.

Ich wollte ein Paket für "R" erstellen.

"R" besteht zu 70% aus Paketen, die in anderen Sprachen (C++, C, Fortran, Java...) geschrieben wurden, so dass die Verarbeitungsgeschwindigkeit nicht leiden sollte, oder übersehe ich etwas?

das berühmte "h2o"-Paket ist komplett in Java geschrieben

 
mytarmailS:

Ich wollte ein Paket für "R" erstellen.

"R" besteht zu etwa 70 % aus Paketen, die in "fremden" Sprachen (C++, C, Fortran, Java...) geschrieben sind, so dass die Verarbeitungsgeschwindigkeit nicht leiden sollte, oder übersehe ich etwas?

das berühmte "h2o"-Paket ist komplett in Java geschrieben

Das habe ich nicht gewusst. Ich werde versuchen, eine Anleitung zur Erstellung von Paketen in Java zu finden.
 
Yury Reshetov:


Genauer gesagt in der Berichtsdatei:

/**
* Die Qualität der Modellierung in der Stichprobe:
*
* TruePositives: 182
* TrueNegatives: 181
* FalsePositives: 1
* FalseNegatives: 1
* Gesamte Muster in der Stichprobe mit Statistik: 365
* Gesamte Fehler in der Stichprobe: 2
* Sensitivität der Generalisierungsfähigkeit: 99.4535519125683%
* Spezifität der Verallgemeinerungsfähigkeit: 99.45054945054946%
* Verallgemeinerungsfähigkeit: 98.90410136311776%
* Indikator von Reshetov: 8.852456238401455
*/

Tut mir leid, ich kann es nicht glauben, es ist zu grafisch. Könnten Sie das Experiment bitte wiederholen? Ich habe ein weiteres Archiv beigefügt, in dem die Daten für einen anderen Zeitraum enthalten sind. Das Training des Modells sollte in train.csv erfolgen, der Test in test_notarget.csv. Ich interessiere mich für die Ergebnisse, die für die Datei test_notarget.csv vorhergesagt werden. Die Datei für test enthält keine Zielvariable, um fair zu sein. Aber es gibt noch ein weiteres passwortgeschütztes Archiv mit den Ergebnissen für test.csv, ich werde das Passwort zum Vergleich im Austausch gegen die vorhergesagten Ergebnisse angeben.

Dateien:
forex_test.zip  2699 kb
 
Kombinator:

Was meinen Sie damit, dass sie nicht verwendet werden? PCA ist eine lineare Transformation. Entfernbare Abmessungen - diejenigen, die durch eine lineare Kombination der anderen erhalten werden können. Das bedeutet, dass jeder Prädiktor durch eine lineare Kombination der Hauptkomponenten erhalten werden kann. Wenn man ein 95%-Intervall nimmt, ist die Wahrscheinlichkeit groß, dass ein guter Prädiktor aufgrund der Skalierung dummerweise verloren geht; ein Intervall von weniger als 100% wird nur bei verlustbehafteter Datenkompression verwendet, da sonst immer nur die Komponenten abgeschnitten werden, die Null sind.

Ich habe es nicht genau ausgedrückt, aber Sie haben es richtig verstanden. Es geht genau darum, Komponenten zu nehmen, die für eine 95%ige Genauigkeit ausreichen, und den Rest zu verwerfen. Beispiel: Es gibt 10000 Prädiktoren, das bedeutet, dass 10000 Komponenten mit einer garantierten Genauigkeit von 100% erstellt werden können. Wir können dann die 9.900 Komponenten verwerfen, so dass 100 übrig bleiben, aber die Genauigkeit verringert sich nur um 5 %, von 100 % auf 95 %. Die restlichen 100 Komponenten müssen analysiert und die Prädiktoren, die nicht in ihnen verwendet werden, entfernt werden. Ein Verlust von 5 % ist kein Problem, denn es geht um die Vorhersage der Zielvariablen und nicht darum, die ursprünglichen Daten verlustfrei wiederherzustellen.