Diskussion zum Artikel "Bewertung und Auswahl von Variablen für Modelle für maschinelles Lernen" - Seite 4

 
JulInParis:

Hallo Vlad,

ich versuche, dein Beispiel Schritt für Schritt nachzustellen.

Im Abschnitt Eingabedaten behandelt die Funktion In(p=16) ein Preisobjekt. Welches ist sein R-Format oder seine Klasse (zoo, xts oder dataframe) und wie sieht es aus (seine Spaltennamen, etc.). Ohne diese Informationen ist es unmöglich, den Befehl x <- In(p = 16) auszuführen ...

Mit freundlichen Grüßen.

Julien

Hallo Julien,

> class(price)
[1] "matrix"
> colnames(price)
[1] "Open"  "High"  "Low"   "Close" "Med"   "CO"

Я приложил снимок сессии. Откройте его в Rstudio и проводите эксперименты.

Удачи

Владимир

Dateien:
EURUSD30.zip  302 kb
 
Zhi Long Yang:
Vielen Dank an den Autor des Artikels. Ich habe gerade angefangen und habe ein Problem. Ich habe RStudio installiert, nicht Revolution R Open 3.2.1, wie vom Autor vorgeschlagen. Das "RandomUniformForests"-Paket unddas "RoughSets"-Paket werden geladen, aber die nearZeroVar()-Funktion und die findLinearCombos()-Funktion werden nicht korrekt aufgerufen. Die Pakete "RandomUniformForests" und "RoughSets" wurden geladen, aberdie nearZeroVar()-Funktion unddie findLinearCombos()-Funktion funktionieren nicht richtig. Sind diese Funktionen spezifisch für Revolution R Open?

Revolution R Open (jetzt von Microsoft gepflegt und in MRO umbenannt) ist eine erweiterte Version von R. RStudio ist nur eine IDE, nicht vergleichbar mit R. Die beiden erwähnten Funktionen sind im Originalartikel des Autors enthalten. Die beiden erwähnten Funktionen sind im Originalartikel des Autors eindeutig als Funktionen des Caret-Pakets gekennzeichnet. Darüber hinaus hat der Autor des Originalartikels Russisch verwendet, vielleicht kann man sich noch auf Englisch verständigen, aber auf Chinesisch scheint es zu gehen.
 

Смотрите caret: :nearZeroVar () // caret::findLinearCombos ()

Удачи

 
Vladimir Perervenko:

Hallo Julien,

> class(price)
[1] "matrix"
> colnames(price)
[1] "Open"  "High"  "Low"   "Close" "Med"   "CO"

Я приложил снимок сессии. Откройте его в Rstudio и проводите эксперименты.

Удачи

Владимир


Hallo zusammen,


Kann mir jemand sagen, was die in der Funktion ZZ definierte Variable --Dig-- bedeutet. Ist es eine Konstante? Wenn ja, was sollte der Wert dieser Konstante sein?

 
hzmarrou :


Liebe Leute,


Kann mir jemand sagen, was die in der Funktion ZZ definierte Variable --Dig-- bedeutet. Handelt es sich um eine Konstante? Wenn ja, was sollte der Wert dieser Konstante sein?

Ich habe Ihnen im nächsten Zweig geantwortet.
 
 

Hallo Vladimir,


Verzeihen Sie mir diese dumme Frage, aber ich versuche gerade, mein eigenes (sehr einfaches) Modell auf der Grundlage Ihres schönen Beispiels zu konstruieren, und ich frage mich, warum Sie die Differenzen von ZZ in der ZZ-Funktion nach vorne verschieben:




dz <- zz %>% diff %>% c(0,.)

...Ich meine, schließlich wollen wir ein Modell trainieren, das den ZUKÜNFTIGEN Wert des Zigzag vorhersagt. Welchen Sinn hat es also, ein Modell zu trainieren, das Prädiktoren ( technische Indikatoren ) verwendet, die die Marktkurse am Ende des Tages N mit einem Zielwert zusammenfassen, der das Vorzeichen der Differenz zwischen dem Zigzag-Wert des Tages N und seinem Wert N-1 ist (das ist es, was Sie nach der Verschiebung tun)? Sollten wir nicht stattdessen das Vorzeichen der Differenz zwischen dem Zigzag-Wert am Tag ( N+1 ) und dem Zigzag-Wert am Tag N verwenden ( d.h. wir müssten nicht verschieben ) ?

Ich weiß, dass ich etwas Offensichtliches in Ihrer Methodik übersehen haben muss, aber wenn Sie sich 5 Minuten Zeit nehmen könnten, um mir das zu erklären, wäre ich sehr erfreut.


Mit freundlichen Grüßen.


Julien

 
JulInParis :

Hallo Vladimir,


Verzeihen Sie mir diese dumme Frage, aber ich versuche gerade, mein eigenes (sehr einfaches) Modell auf der Grundlage Ihres schönen Beispiels zu konstruieren, und ich frage mich, warum Sie die Differenzen von ZZ in der ZZ-Funktion nach vorne verschieben:




dz <- zz %>% diff %>% c(0,. )

...Ich meine, schließlich wollen wir ein Modell trainieren, das den ZUKÜNFTIGEN Wert des Zigzag vorhersagt. Welchen Sinn hat es also, ein Modell zu trainieren, das Prädiktoren ( technische Indikatoren ) verwendet, die die Marktkurse am Ende des Tages N mit einem Zielwert zusammenfassen, der das Vorzeichen der Differenz zwischen dem Zigzag-Wert des Tages N und seinem Wert N-1 ist (das ist es, was Sie nach der Verschiebung tun)? Sollten wir nicht stattdessen das Vorzeichen der Differenz zwischen dem Zigzag-Wert am Tag ( N+1 ) und dem Zigzag-Wert am Tag N verwenden ( d.h. wir müssten nicht verschieben ) ?

Ich weiß, dass ich etwas Offensichtliches in Ihrer Methodik übersehen haben muss, aber wenn Sie sich 5 Minuten Zeit nehmen könnten, um mir das zu erklären, wäre ich sehr erfreut.


Mit freundlichen Grüßen.


Julien

Die Frage ist richtig. In dem Artikel ist ein Tippfehler enthalten. Es sollte wie folgt lauten:

1. Berechnen Sie die Eingaben

 x <- In(p = 16 ) 

2. Berechne das Ziel

 out1 <- ZZ(ch = 25 )
 

> head(out1) zz sig [1,] 84.213 0 [2,] 84.199 -1 [3,] 84.185 -1 [4,] 84.171 -1 [5,] 84.157 -1 [6,] 84.143 -1 > tail(out1) zz sig [4995,] 89.3965 0 [4996,] 89.3965 0 [4997,] 89.3965 0 [4998,] 89.3965 0 [4999,] 89.3965 0 [5000,] 89.3965 0

3. Kombiniere x und out in Daten. Wobei:

  • Löschen Sie die Beispiele, in denen sig == 0 ist
  • Erstellen Sie eine neue Variable Сlass (Faktor)
  • Wir verschieben die Variable Class auf 1 bar in die "Zukunft"
  • Entfernen Sie die Variable sig aus der Menge

 data <- cbind(x, sig = out1[ , 2 ]) %>% tbl_df %>% 
   dplyr::filter(., sig != 0 ) %>%
  mutate(., Class = factor(sig, ordered = F) %>% dplyr::lead()) %>% 
  dplyr::select(-sig) %>% 
  na.omit() 

> data %>% str() Classes ‘tbl_df’, ‘tbl’ and 'data.frame': 4944 obs. of 18 variables: $ DX : num 0.355 0.541 6.324 3.026 9.511 ... $ ADX : num 12 11.3 11 10.5 10.4 ... $ oscDX : num 0.303 0.427 5.012 2.459 -8.641 ... $ ar : num -18.8 -18.8 -18.8 -18.8 -12.5 ... $ tr : num 0.032 0.051 0.037 0.004 0.011 ... $ atr : num 0.0422 0.0432 0.0425 0.038 0.0348 ... $ cci : num -14.75 20.6 27.23 6.22 -33.27 ... $ chv : num 0.0422 0.03 -0.0439 -0.0456 -0.1172 ... $ cmo : num -16.3 -20.1 -26.5 -39.2 -40.7 ... $ sign : num -0.0137 -0.013 -0.0117 -0.0107 -0.0108 ... $ vsig : num -0.00352 0.00655 0.0132 0.01059 -0.00103 ... $ rsi : num 45.7 49.8 50 46.8 42.4 ... $ slowD : num 0.408 0.438 0.447 0.43 0.405 ... $ oscK : num 0.0137 0.039 -0.0116 -0.0427 -0.0322 ... $ SMI : num -18.2 -16.6 -15.8 -16.2 -17.1 ... $ signal: num -12.8 -13.6 -14 -14.5 -15 ... $ vol : num 0.01005 0.01004 0.00985 0.00975 0.00946 ... $ Class : Factor w/ 2 levels "-1","1": 1 1 1 1 1 1 1 1 1 1 ... - attr(*, "na.action")=Class 'omit' Named int [1:34] 1 2 3 4 5 6 7 8 9 10 ... .. ..- attr(*, "names")= chr [1:34] "1" "2" "3" "4" ...

Weiter im Text.

Viel Glück

 
MetaQuotes Software Corp.:

NEUER ARTIKEL Variablenbewertung und -auswahl für Modelle des maschinellen Lernens wurde veröffentlicht:

Von Vladimir Perervenko


Es gibt ein großes Problem bei der Anwendung des Zickzack-Signals als Zielvariable.

Die Basis aller Modelle basiert a priori bereits auf Zickzackpunkten (-1, 1), andere Punkte mit der Bedingung = 0 werden ausgeschlossen.

In der Praxis weiß man nicht, ob der Zeitpunkt ein Zickzackpunkt (-1, 1) ist oder nicht, und es besteht eine hohe Wahrscheinlichkeit, dass es sich um einen Punkt mit der Bedingung = 0 handelt, denn es ist nicht möglich, zwischen den beiden Zuständen (-1, 1) und (0) zu unterscheiden.

Die gleiche Berechnung und Beurteilung ist also für den Punkt bei 0 erforderlich. Diesmal werden das Trainingsmodell und das tatsächliche Modell eine große Abweichung aufweisen;

 
freewalk :

Das Zickzack-Signal als Zielvariable ist sehr problematisch zu verwenden.

Die Grundlage aller Modelle basiert a priori bereits auf dem Zickzackpunkt (-1, 1), andere Punkte mit der Bedingung = 0 werden ausgeschlossen.

In der Praxis weiß man nicht, ob der Zeitpunkt ein Zickzackpunkt (-1, 1) ist oder nicht, und es besteht eine hohe Wahrscheinlichkeit, dass es sich um einen Punkt mit Bedingung = 0 handelt, weil es nicht möglich ist, zwischen den beiden Zuständen (-1, 1) und (0) zu unterscheiden.

Die gleiche Berechnung und Beurteilung ist also für den Punkt bei 0 erforderlich. An diesem Punkt werden das Trainingsmodell und das tatsächliche Modell eine große Abweichung aufweisen;

Zeichnen eines einfachen Plots zur Veranschaulichung der Zahlen (-1, 1 (0) ????

Bitte lesen Sie den Artikel aufmerksam? Und daneben? Und wissen Sie nicht, wie man ZZ benutzt?

Vielleicht ist die Übersetzung nicht gut?

Geben Sie genauer Ihre Kommentare, bitte kann Englisch zu verbessern?