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

 
Vladimir Perervenko:
Ich habe zufällig einen Artikel mit einer Aussage gelesen, die mich überrascht hat:Prädiktoren, Antworten und Residuen: Was muss wirklich normalverteilt sein?

Die Passage über die lineare Regression lässt den Autor als eine Person erkennen, die mit Theoretikern/Mathematikern nicht vertraut ist. Standardvariante der Annahmen für LR - Inputs sind deterministisch (z.B. Zeitmomente) und die Verteilung der Outputs hängt von der Rauschverteilung ab (und jeder Output hat seine Erwartung, die vom Input abhängt und sich von anderen unterscheidet).

Eine andere Variante - wenn Inputs und Outputs einer gemeinsamen Verteilung entnommen werden, ist die Bedingung für die Anwendbarkeit eines linearen Regressionsmodells sogar noch strenger - eine JUNITED (zumindest bivariate) Verteilung muss normal sein. Ohne diese Annahme können Sie das MOC vergessen.

 
Vladimir Perervenko:
Ich habe zufällig einen Artikel mit einer überraschenden Aussage gelesen:Prädiktoren, Antworten und Residuen: Was muss wirklich normalverteilt sein?

Ein paar Zitate:

"Viele Wissenschaftler sind besorgt über die Normalität oder Nicht-Normalität von Variablen in der statistischen Analyse. Die folgenden und ähnliche Ansichten werden oft geäußert, veröffentlicht oder gelehrt:

  • " Wenn man Statistik machen will, dann muss alles normal verteilt sein .
  • " Wir haben unsere Daten normalisiert, um die Normalitätsannahme zu erfüllen .
  • " Wir haben unsere Daten in ein Protokoll umgewandelt, da sie eine sehr schiefe Verteilung aufwiesen .
  • "Nachdem wir das Modell angepasst haben, haben wir die Homoskedastizität der Residuen getestet .
  • " Wir haben einen nicht parametrischen Test verwendet, weil unsere Daten nicht der Normalitätsannahme entsprachen .

Da die Netze eine Normalisierung der Daten, eine Normalverteilung und eine Reihe von Optimierungen erfordern, bin ich zu baumartigen Systemen übergegangen. Sie werden sich die Daten so merken, wie sie sind.

Und nach dem Namen der KI (in einem der Artikel für das gemeine Volk) als eine Datenbank auf der Grundlage von neuronalen Netzen oder Bäumen, begann, sie genau wie Datenbanken, die in einer Zelle (Liste) können mehrere sehr ähnliche Zeilen zu speichern, dh zur gleichen Zeit und zusammenfassen zu behandeln. Wenn Sie den Baum bis zum letzten Beispiel aufteilen, enthalten die Zellen nur dieselben Zeilen ohne Generalisierung, d. h. Sie erhalten eine reine Datenbank. Wir müssen noch verallgemeinern, also hören wir auf, die Blätter frühzeitig zu teilen.

 
Vladimir Perervenko:

Es geht nicht um Druck, sondern um Generatoren und Iteratoren.

Vladimir, können Sie erklären?

Wenn dieses Paket kann meinen Code zu beschleunigen, ohne diesen Code zu ändern, ist es sehr interessant für mich, geben Sie mir ein funktionierendes Beispiel bitte

 
mytarmailS:

Vladimir, können Sie mir eine Erklärung zu geben?

Wenn dieses Paket kann meinen Code zu beschleunigen, ohne diesen Code zu ändern, ist es sehr interessant für mich, geben Sie mir ein funktionierendes Beispiel bitte

Das Paket enthält eine Vielzahl von Beispielen. Können Sie es nicht finden? Siehe

> #  A generator statement creates a generator factory. The
> #  following generator yields two times and then returns `"c"`:
> generate_abc <- generator(function() {
+   yield("a")
+   yield("b")
+   "c"
+ })
> 
> #  Or equivalently:
> generate_abc <- generator(function() {
+   for (x in letters[1:3]) {
+     yield(x)
+   }
+ })
> 
> #  The factory creates generator instances. They are iterators
> #  that you can call successively to obtain new values:
> abc <- generate_abc()
> abc()
[1] "a"
> abc()
[1] "b"
> 
> #  Once a generator has returned it keeps returning `exhausted()`.
> #  This signals to its caller that new values can no longer be
> #  produced. The generator is exhausted:
> abc()
[1] "c"
> abc()
exhausted
> 
> #  You can only exhaust a generator once but you can always create
> # new ones from a factory:
> abc <- generate_abc()
> abc()
[1] "a"
> 
> 
> #  As generators implement the coro iteration protocol, you can use
> #  coro tools like `loop()`. It makes it possible to loop over
> #  iterators with `for` expressions:
> loop(for (x in abc) print(x))
[1] "b"
[1] "c"
> 
> #  To gather values of an iterator in a list, use `collect()`. Pass
> #  the `n` argument to collect that number of elements from a
> #  generator:
> abc <- generate_abc()
> collect(abc, 1)
[[1]]
[1] "a"

> 
> #  Or drain all remaining elements:
> collect(abc)
[[1]]
[1] "b"

[[2]]
[1] "c"

> 
> 
> #  coro provides a short syntax `gen()` for creating one-off
> #  generator _instances_. It is handy to adapt existing iterators:
> numbers <- 1:10
> odds <- gen(for (x in numbers) if (x %% 2 != 0) yield(x))
> squares <- gen(for (x in odds) yield(x^2))
> greetings <- gen(for (x in squares) yield(paste("Hey", x)))
> 
> collect(greetings)
[[1]]
[1] "Hey 1"

[[2]]
[1] "Hey 9"

[[3]]
[1] "Hey 25"

[[4]]
[1] "Hey 49"

[[5]]
[1] "Hey 81"

> 
> 
> #  Arguments passed to generator instances are returned from the
> # `yield()` statement on reentry:
> new_tally <- generator(function() {
+   count <- 0
+   while (TRUE) {
+     i <- yield(count)
+     count <- count + i
+   }
+ })
> tally <- new_tally()
> tally(1)
[1] 0
> tally(2)
[1] 2
> tally(10)
[1] 12
[Gelöscht]  
Vladimir Perervenko:

Es geht nicht um Generatoren und Iteratoren.

Wirklich? ))

 
Maxim Dmitrijewski

Werden Sie in Zukunft einen neuen Artikel über den MO-basierten Paarhandel veröffentlichen?

[Gelöscht]  
Evgeni Gavrilovi:

Werden Sie in Zukunft einen neuen Artikel über den MO-basierten Paarhandel veröffentlichen?

Ja, es war noch nicht genug Zeit. Artikel brauchen viel Zeit, um ihren Plan auszuarbeiten und dann zu programmieren

 
Maxim Dmitrievsky:

Ja, es war noch nicht genug Zeit. Artikel brauchen viel Zeit, um ihren Plan zu durchdenken und dann zu programmieren

Ich habe viel Zeit, um über ihren Plan nachzudenken und sie dann zu programmieren. Können Sie das Skript hinzufügen, das Aufträge direkt in Python nach dieser Strategie öffnet?

[Gelöscht]  
Evgeni Gavrilovi:

Können Sie dann dem Artikel ein Skript hinzufügen, das Aufträge direkt in Python mit dieser Strategie öffnet?

Ja, das können Sie. Als Expert Advisor ist er jedoch praktischer.

 
Maxim Dmitrievsky:

Ja, das kann man tun. Aber als Berater ist es doch viel bequemer, oder?


Es gibt einen Artikel über Hubra https://m.habr.com/ru/post/549202/, was denken Sie? Kann man etwas Praktisches tun? Ich bin an Ihrer (und anderer Mathematiker) Expertenmeinung interessiert.