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

 
Valeriy Yastremskiy:

Und was wollen Sie am Ende?, mit Oberschwingungen den Weg zu Fourier. Oder orthogonale Polynome, von denen es viele gibt. Alles kann zersetzt werden.)

Ich muss mich nicht zersetzen, ich muss etwas schaffen. Ich muss eine Funktion erstellen, die meine Bedürfnisse erfüllt, aber ich weiß nicht, was diese Funktion ist.

Vielleicht eine Aufzählung nach Oberschwingungen, aber ich werde alle Varianten in Betracht ziehen.

Im Wesentlichen handelt es sich um dieselbe Annäherung, aber die Aufzählung bezieht sich nicht auf die Fehlerreduzierung, sondern auf die Übereinstimmung mit der Bedingung.


Ich möchte also wissen, wie diese Suche organisiert ist , selbst bei einer einfachen harmonischen Annäherung, was wird dort multipliziert, um die Funktion zu verändern?

Wie funktioniert der Mechanismus zur Anpassung einer Funktion an eine andere im Allgemeinen?
 
mytarmailS:

Ich muss mich nicht zersetzen, ich muss etwas schaffen. Ich muss eine Funktion aus der Zeit erstellen, die meine Bedingung erfüllt, welche Funktion ich nicht kenne, also muss ich eine Suche erstellen.

Wahrscheinlich eine harmonische Aufzählung, aber ich werde alle Möglichkeiten in Betracht ziehen.

Im Wesentlichen handelt es sich um dieselbe Annäherung, aber es geht nicht um Fehlerreduzierung, sondern um die Übereinstimmung mit der Bedingung.


Ich möchte also wissen, wie diese Suche organisiert ist , selbst bei einer einfachen harmonischen Annäherung, was wird dort multipliziert, um die Funktion zu verändern?

Wie funktioniert der Mechanismus zur Anpassung einer Funktion an eine andere im Allgemeinen?

Ich kann nicht sagen, in Formeln, im Sinne einer Zerlegung von der größten zur kleinsten Periode. Man findet die größte Oberwelle, subtrahiert sie vom realen Signal, findet die größte Oberwelle vom Rest und subtrahiert sie mit der erforderlichen Genauigkeit. Und in der Approximation (Approximationsdarstellung des realen Signals durch gerade gebrochene lineare Funktionen) stellen wir die Harmonischen in diskreten Abschnitten durch gerade Linien dar. Wenn die Stichprobe eine halbe Periode beträgt (bei mehr als einer Periode kommt nichts heraus), erhalten wir "P" oder gerade Linien zwischen den Extrema, und wenn ein Viertel oder mehr, erhalten wir gestrichelte Linien. Und wenn wir die Stichprobenschritte verringern, erhöhen wir die Genauigkeit.

Wenn die Preisauswahl lang ist, kann sie in kürzere Abschnitte unterteilt werden, und lineare, Potenz-, harmonische und logarithmische Funktionen können in diesen Abschnitten aufgezählt/ausgewählt werden. Idealerweise sollten Oberschwingungen und lineare Orthogonale das Problem lösen. Mehr als einmal bewiesen. Aber nur in der Geschichte.

Kein Punkt mit dem Markt, haben wir Funktion / mathematisches Modell im Laufe der Zeit ändern und keine klaren Kriterien, keine bewiesen, wie viele Daten benötigt wird, um das mathematische Modell und seine Diskrepanz mit dem gleichen BP zu bestimmen, andere als Diskretion in der Hälfte des Zeitraums wird nicht zu Ergebnissen führen, wurde dies bewiesen). Alle empirisch oder NS mit MO), aber auch erfahrungsbasiert.

Keine Funktion mit wechselnden Bedingungen, wir haben eine Reihe von Oberschwingungen auf diesem Abschnitt, eine andere auf dem nächsten. Die Schallabtastung beträgt 48 Kilohertz, also doppelt so viel wie wir hören, so dass wir bei den hohen Frequenzen verlieren. Und digital hat 2 Signalpegel pro Periode von 1/48000 sec.

 
mytarmailS:

Ich muss mich nicht zersetzen, ich muss etwas schaffen. Ich muss eine Funktion aus der Zeit erstellen, die meine Bedingung erfüllt, welche Funktion ich nicht kenne, also muss ich eine Suche erstellen.

Wahrscheinlich eine harmonische Aufzählung, aber ich werde alle Möglichkeiten in Betracht ziehen.

Im Wesentlichen handelt es sich um dieselbe Annäherung, aber es geht nicht um Fehlerreduzierung, sondern um die Übereinstimmung mit der Bedingung.


Ich möchte also wissen, wie diese Suche organisiert ist , selbst bei einer einfachen harmonischen Annäherung, was wird dort multipliziert, um die Funktion zu verändern?

Wie funktioniert der Mechanismus zur Anpassung einer Funktion an eine andere?
Sie addiert einfach Sinuswellen unterschiedlicher Perioden und Amplituden A1*cos(2Pi*t/T1+Fi1)+ A2*cos(2Pi*t/T2+Fi2) +... A - Amplitude, T - Periode, Fi - Phase
 
mytarmailS:

Wie oft habe ich Ihnen das schon gesagt? 3? 5?

Warum also haben sie sich das ausgedacht, und das Video, das vorhin gepostet wurde, mit einem Mann, der diesen Wunderteufel irgendwie benutzt hat und zu dem Schluss gekommen ist, dass die Probe für die Ausbildung geeignet ist...

 
Aleksey Vyazmikin:

Nun, warum haben sie mit ihm kommen, und das Video wurde früher mit einem Mann, der Art von diesem Wunder-Teufel verwendet und festgestellt, dass die Probenahme für die Ausbildung geeignet ist gepostet ...

er verwendet t-sne (wie), aber es spielt keine Rolle, es funktioniert und es funktioniert gut, aber nicht für den Markt wie alles andere, laden Sie einfach einen beliebigen Datensatz aus dem Internet und Sie werden sehen, es funktioniert gut, aber ...

Aber ich kann einige Schlussfolgerungen ziehen: Cluster sind stabil und stabil, aber sie korrelieren nicht mit dem Gewinn, das Ziel korreliert mit dem Gewinn, bewegt sich aber um die Cluster herum, wahrscheinlich, weil jedes Ziel objektive Realität ist. Ich werde versuchen, Muster durch ihre historischen Analoga zu erkennen, aber nicht durch Preise, sondern durch umap, wie ich von Anfang an wollte.


Rorschach:
harmonisch, ist das wie eine Fourier-Welle? Es sind einfach Sinuswellen mit unterschiedlichen Perioden und Amplituden, die addiert werden A1*cos(2Pi*t/T1+Fi1)+ A2*cos(2Pi*t/T2+Fi2) +... A - Amplitude, T - Periode, Fi - Phase

Mann, ist das kompliziert.... Ich verstehe das mit den Oberschwingungen, aber wahrscheinlich ist es dumm, Serien von Oberschwingungen zu sammeln und sie auszuprobieren, wahrscheinlich sollte es als Abhängigkeit von etwas von etwas gemacht werden, es ist verdammt hart.... aber wenn es geschafft ist, ist es ein Gral

 
mytarmailS:

Merkmalsauswahl[edit|edit code]

Hauptartikel:Merkmalsauswahl

EineMerkmalsauswahlmethode versucht, eine Teilmenge der ursprünglichen Variablen (genannt Merkmale oder Attribute) zu finden. Es gibt drei Strategien - eine Filterstrategie(z. B.Merkmalsakkumulation [en]), eineWrapping-Strategie(z. B. Suche nach Genauigkeit) und eineEinbettungsstrategie(Auswahl von Merkmalen, die während der Erstellung des Modells auf der Grundlage von Vorhersagefehlern hinzugefügt oder entfernt werden). Siehe auchkombinatorische Optimierungsprobleme.

In einigen Fällen kann dieDatenanalyse, z. B.Regression oderKlassifizierung, im reduzierten Raum genauer durchgeführt werden als im ursprünglichen Raum [3].

Projektion von Merkmalen[edit|edit code]

Die Merkmalsprojektion konvertiert Daten aus demhochdimensionalen Raum in den niedrigdimensionalen Raum. Die Transformation der Daten kann linear sein, wie bei derHauptkomponentenmethode(PCM), aber es gibt auch eine Reihenichtlinearer Verkleinerungstechniken . Bei mehrdimensionalen Daten kanneine Tensordarstellung verwendet werden, um die Dimensionalität durchpolylineares Training von Unterräumen zu reduzieren [en] [6].

Ich habe den Text mit Ihren Erklärungen übersehen - ich korrigiere mich.

Ich habe sofort eine Reihe von Fragen:

1. Wie erhält man das Ergebnis der Merkmalsauswahl mit ihrer Transformation in Form von Regeln zur separaten Verwendung im Code?

2. Vielleicht gibt es eine Möglichkeit, ausgewählte Merkmale und ihre Transformation zu visualisieren - durch einen Baum oder etwas anderes?

3. Haben Sie diese Strategien zur Merkmalsauswahl ausprobiert?

Bei derMerkmalsauswahl wird versucht, eine Teilmenge der ursprünglichen Variablen (die als Merkmale oder Attribute bezeichnet werden) zu finden. Es gibt drei Strategien - eine Filterstrategie(z. B.Merkmalsakkumulation [en]), eineWrapping-Strategie(z. B. Suche nach Genauigkeit) und eineEinbettungsstrategie(Auswahl von Attributen, die beim Aufbau des Modells auf der Grundlage von Vorhersagefehlern hinzugefügt oder entfernt werden). Siehe auchkombinatorische Optimierungsprobleme.

In einigen Fällen könnenDatenanalysen wieRegression oderKlassifizierung im reduzierten Raum genauer durchgeführt werden als im ursprünglichen Raum [3].

mytarmailS:

Genau das haben wir gestern getan.

Dimensionalitätsreduktion[edit|edit code]

Bei hochdimensionalen Datensätzen (d. h. mit mehr als 10 Dimensionen) wird vor der Anwendung desk-NN-Algorithmus(k-NN= k-nearest neighbours) in der Regel eine Verkleinerung vorgenommen, um die Auswirkungen desFluchs der Dimensionalität zu vermeiden [16].


Vorteile der Dimensionalitätsreduktion[edit|edit code]

  1. Es reduziert den Zeit- und Speicherbedarf.
  2. Die Beseitigung der Multikollinearität verbessert die Geschwindigkeit des maschinellen Lernmodells.
  3. Es ist einfacher, die Daten visuell darzustellen, wenn sie auf sehr niedrige Dimensionen, wie 2D oder 3D, reduziert werden.

Und aus dem Code sah es für mich so aus, als ob das Clustering und die Projektionskonstruktion getrennt wären und wir dann nur die Clustering-Ergebnisse für die Farbabstufung beim Rendern verwenden würden - oder?

 
mytarmailS:

er verwendet t-sne (wie), aber es spielt keine Rolle, gut, sie haben es erfunden, und es funktioniert und funktioniert großartig, aber nicht für den Markt, wie alles andere, laden Sie einen beliebigen Datensatz aus dem Internet und sehen, dass die Sache funktioniert gut, aber ...

Aber ich kann schlussfolgern: Cluster sind stabil und stabil, aber sie schwingen nicht mit dem Gewinn mit, das Ziel schwingt mit dem Gewinn mit, bewegt sich aber um die Cluster herum, wahrscheinlich weil jedes Ziel eine Vermutung ist, aber das Cluster ist eine objektive Realität. Ich werde versuchen, Muster zu erkennen, indem ich historische Analogien verwende, nicht mit Preisen, sondern mit umap, wie ich es von Anfang an geplant habe.

Wie markiert man sie also in der Historie für die Klassifizierung? Und dann, wenn Sie sie erkannt haben, was dann? Neulich habe ich mich auf 4 Cluster verteilt und nach Zielen gesucht... Es sei denn, Sie ändern das Ziel von Cluster zu Cluster. Im Allgemeinen müssen wir verstehen, warum Strings in verschiedene Cluster eingeteilt wurden - analysieren Sie die Logik, wenn es eine gibt und sie mit dem Markt zusammenhängt.

 
Aleksey Vyazmikin:

Ich habe den Text mit Ihren Erklärungen übersehen - ich nehme das zurück.

Ich habe sofort eine Reihe von Fragen:

1. Wie kann man das Ergebnis der Merkmalsauswahl mit ihrer Umwandlung in Form von Regeln für eine separate Anwendung im Code erhalten?

2. Vielleicht gibt es eine Möglichkeit, ausgewählte Merkmale und ihre Transformation zu visualisieren - durch einen Baum oder etwas anderes?

3. Haben Sie diese Strategien zur Merkmalsauswahl ausprobiert?

4. und es schien mir, als ob der Code die Clusterbildung und die Projektion getrennt war, und wir dann nur die Clusterergebnisse für die Farbabstufung beim Rendern verwendet haben - oder?


1. es ist dasselbe, wie wenn man 100k Schlusskurse will, die durch Regeln für eine separate Anwendung im Code beschrieben werden

2. die Attribute kommen in Form von Funktionen mit allem, was dazu gehört

3. ich habe etwas ausprobiert; es reduziert die Dimensionalität, aber die Qualität verbessert sich nicht, aber trotzdem finde ich es cool, 10k Attribute auf 500 zu komprimieren, ohne an Qualität zu verlieren; das sieht für mich cool aus, oder auf 50 mit einem akzeptablen Verlust.

4. Das ist richtig, wir haben erst die Dimensionalität verringert und dann geclustert, das steht auch hier - -----. Bei hochdimensionalen Datensätzen (d. h. mit mehr als 10 Dimensionen)wird die Verkleinerung normalerweisevor der Anwendung derMethode der k-nächsten Nachbarn durchgeführt.

 
mytarmailS:


1. es ist dasselbe, wie wenn man möchte, dass Hunderte von Schlusskursen durch Regeln für die getrennte Verwendung im Code beschrieben werden

2. die Merkmale erscheinen als Funktionen mit all ihren Konsequenzen

3. ich habe etwas ausprobiert; es reduziert die Dimensionalität, aber die Qualität steigt nicht, aber es ist immer noch cool, z.B. können wir 10k Attribute auf 500 ohne Qualitätsverlust komprimieren, was ich sehr cool finde, oder auf 50 mit einem akzeptablen Verlust.

4. so war es, wir haben zuerst die Dimensionalität reduziert und dann geclustert, so steht es hier - ----- Für hochdimensionale Datensätze (d.h. mit mehr als 10 Dimensionen)wird die Dimensionalitätsreduktion normalerweisevor der Anwendung derk-nearest neighbours Methode durchgeführt

1. Sie müssen die Frage falsch verstanden haben - es geht nur darum, die Regeln in eine Datei zu entladen, und es gibt Regeln, was in 2 bestätigt wurde.

2.

3. Wahrscheinlich hohe Korrelation zwischen den Prädiktoren, auch nach der Umstellung? Ist es möglich, eine Liste der ausgeschiedenen Prädiktoren zu erhalten, oder sind sie nicht ausgeschieden, sondern nur in Gruppen zusammengefasst - ich kann es nicht herausfinden.

4. Vielleicht habe ich den Code missverstanden oder falsch geclustert, ich werde ihn noch einmal posten

#way <- "F:\\FX\\R\\tree_classification_2019_fS_Eks_29\\Test_Pred_ALL_01.csv"  #  ваш путь
way <- "F:\\FX\\R\\2020_04_11_Pred_New_Full\\Pred_New_Full.csv"  #  ваш путь

dt <- read.csv(file = way,header = T,sep = ";") #  читаем файл

target <- dt$Target_100 #  целевую в отдельную переменную

dt <- dt[, ! colnames(dt)  %in% 
           #            c("Target_100_Buy","Target_100_Sell",
           #             "Time","Target_100")  ] #  удаляем не нужные колонки
                      c("Target_100")  ] #  удаляем не нужные колонки

km <- kmeans(um$layout, centers = 4)           

#  роскоментируем и Устанавливаем нужные пакеты после чего эту строку можно удалить
#install.packages(c("rgl", "car" , "umap"))



#  про umap
#https://cran.r-project.org/web/packages/umap/vignettes/umap.html
#https://github.com/ropenscilabs/umapr

library(umap)
um <- umap(dt,n_components=3)   
#  n_components=3  во сколько измерений уменьшаем данные, можно 100 можно 1
#  можно 333, но нам для 3 д надо трех мерное пространство поетому у нас n_comp=3
um.res <- um$layout #  наши три вектора выход 



#тут  все настройки по пакету  car
#  http://www.sthda.com/english/wiki/amazing-interactive-3d-scatter-plots-r-software-and-data-visualization
library(car)  # 3 d

target <- as.factor(target)  #   target нужен для того чтобы окрасить точки в цвет целевой

scatter3d(x = um.res[,1], 
          y = um.res[,2], 
          z = um.res[,3],
          groups = as.factor(km$cluster),
          grid = FALSE, 
          surface = FALSE,
          ellipsoid = TRUE,
            bg.col = "black")


write.csv(km$cluster, file = "F:\\FX\\R\\2020_04_11_Pred_New_Full\\Pred.csv", sep = ";",row.names = F,col.names = T)
 
Aleksey Vyazmikin:

1. Sie müssen die Frage falsch verstanden haben - es geht darum, die Regeln in eine Datei hochzuladen, und es gibt Regeln, wie in Punkt 2 bestätigt.

2. Das ist gut.

3. Wahrscheinlich hohe Korrelation zwischen den Prädiktoren, auch nach der Umstellung? Ist es möglich, eine Liste der ausgeschiedenen Prädiktoren zu erhalten, oder sind sie nicht ausgeschieden, sondern nur in Gruppen zusammengefasst - ich kann es nicht herausfinden.

4. Vielleicht habe ich den Code missverstanden oder falsch geclustert, ich werde ihn noch einmal posten

1. ich verstehe es immer noch nicht.

3. nach der Transformation können keine korrelierten Merkmale vorhanden sein. Ja, man kann sagen, dass sie mit anderen Strukturen (Attributen) verschmolzen werden, aber ohne Redundanz

4.

dt <- dt[, ! colnames(dt)  %in% 
           #            c("Target_100_Buy","Target_100_Sell",
           #             "Time","Target_100")  ] #  удаляем не нужные колонки
                      c("Target_100")  ] #  удаляем не нужные колонки

Thesen sind ein Ausdruck, d.h. man kann sie nicht kommentieren )))