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

 
Aleksey Nikolayev #:

Ich habe mich nicht eingehend mit der Frage befasst. Die Idee scheint einfach zu sein, aber es gibt eine Menge technischer Feinheiten bei der Umsetzung.

Es stellt sich auch die Frage, was mit dem Finden des Maximums in einer verrauschten Funktion gemeint ist....

So wie ich die Definition - "Optimierung einer verrauschten Funktion" - verstanden habe, bedeutet dies, dass die Funktion komplex ist und es schwierig ist, das Maximum zu finden, dass Gradientenalgorithmen nicht anwendbar sind, und so weiter... Grob gesagt, ist es keine große Sache, es wird ein globaler Optimierungsalgorithmus angewandt und er sucht nach dem globalen Maximum....


Aber ich sehe das anders, ich möchte das Maximum einer verrauschten Funktion finden, aber mit entferntem Rauschen, nicht das globale Maximum in einer verrauschten Funktion, sondern das globale Maximum in einer entrauschten Funktion....

(Und das ist nicht trivial, weil die Funktion nicht bekannt ist und die Rauschparameter nicht bekannt sind....

What optimization algorithm can be used to find the maximum in a noisy multidimensional parameter space
What optimization algorithm can be used to find the maximum in a noisy multidimensional parameter space
  • 2022.12.07
  • mr.T mr.T 113 6 6 bronze badges
  • stats.stackexchange.com
I tried several algorithms that seem to be able to handle this, but it didn't work for me. Here is my fitness function which just looks for the max by index
 
СанСаныч Фоменко #:

1. Die Frage von Dick ist eine vollkommen berechtigte und richtige Frage. Ich verwende keine NS, aber ich weiß, dass jede Funktion in jedem R-Paket notwendigerweise einen Verweis auf den Autor des Algorithmus enthält, und bei seriösen Algorithmen einen Verweis auf den Artikel/das Buch, in dem der in R implementierte Algorithmus beschrieben wird. Da Sie mit NS gut vertraut sind, könnten Sie, wenn Sie R verwenden würden, in R nach dem entsprechenden NS-Typ suchen und die entsprechende Referenz finden, in der der entsprechende Algorithmus beschrieben ist, eine Diskussion über den Algorithmus finden, alle Nuancen der Fachleute herausfinden ... und Dick auf höchstem fachlichen Niveau antworten, anstatt etwas Obszönes zu murmeln.


2) R dem Namen nach: die Sprache der Statistik und Grafik. Das Wesen von R offenbart die Rubrik seines Referenzapparats.

Hier ist eine Liste von Themen, die R-Pakete abdecken. Eines der Themen ist das maschinelle Lernen.

Hier ist eine Liste von Paketen, die sich auf MO beziehen.

Vor ein paar Jahren konnte man Konkurrenten von R unter anderen spezialisierten statistischen Sprachen finden. Zum Beispiel SPPS, heute habe ich keine mehr gefunden. R ist die einzige statistische Sprache geblieben, die unterstützt und moderiert wird und eine große Anzahl von Spiegeln hat, die in Microsoft-Software enthalten sind.


3. Der Vergleich von R mit Python ist völlig ungerechtfertigt.

R ist eine spezialisierte Sprache. Python ist eine Universalsprache. Python übertrifft R bei der Zahl der Nutzer bei weitem, aber der Massennutzer von Python ist das Webdesign. Die Tatsache, dass Python über Statistikpakete verfügt, erlaubt es NICHT, es als Statistiksprache zu klassifizieren. Auf dieser Grundlage kann C++, in dem die sowohl von R als auch von Python verwendeten Pakete implementiert sind, als Statistiksprache eingestuft werden. Aufgrund der detaillierten Rubrik und der Verweise auf die Algorithmen der vorgeschlagenen Funktionen kann R für das Studium der Theorie und Praxis der Statistik verwendet werden, Python hingegen nicht.

Und hier zitiere ich Prado, aber nicht wortwörtlich, denn ich habe vergessen, dass "maschinelles Lernen im Vergleich zur klassischen Statistik mehr Möglichkeiten im Handel bietet".

und MO Bibles sind sehr gut für Python entwickelt, obwohl andere auch Statsmodels mögen. Es ist also sinnlos, mit diesen Fakten zu argumentieren und sich gegenseitig etwas zu beweisen.

Nach meinem Verständnis ist R für Studenten, Professoren und Hobbyisten. Man kann sich also gegenseitig zitieren und mit etwas prahlen. Für Professoren, vielleicht für einige Professoren, die unterrichten. Python für ernsthafte Projekte und die Produktion. Ich habe noch von keinem großen MO-Projekt mit R in der Produktion gehört.
 
Maxim Dmitrievsky #:

Und hier werde ich Prado zitieren, aber nicht wörtlich, da ich vergessen habe, dass "maschinelles Lernen im Vergleich zur klassischen Statistik mehr Möglichkeiten im Handel bietet".

und MO Bibles sind sehr gut für Python entwickelt, obwohl andere auch Statsmodels mögen. Es ist also sinnlos, mit diesen Fakten zu argumentieren und sich gegenseitig etwas zu beweisen.

Nach meinem Verständnis ist R für Studenten, Professoren und Hobbyisten. Man kann sich also gegenseitig zitieren und mit etwas prahlen. Für Professoren, vielleicht für einige Professoren, die unterrichten. Python für ernsthafte Projekte und die Produktion. Ich habe noch von keinem großen MO-Projekt in R gehört, das in Produktion ist.

Warum streiten Sie sich über etwas, von dem Sie selbst behaupten, dass Sie es nicht kennen?

Microsoft hat einige Anstrengungen unternommen, um R zu einem Werkzeug für die Entwicklung großer Projekte durch eine große Anzahl von Entwicklern zu machen.

Hier ist die Liste der Microsoft-Produkte/Dienste, die es uns ermöglichen, mit R zu arbeiten:
.
  1. Microsoft R Server / R Server für Azure HDInsight
  2. Datenwissenschaftliche VM
  3. Azure Maschinelles Lernen
  4. SQL Server R-Dienste
  5. Macht BI
  6. R-Werkzeuge für Visual Studio

Welche Art von Hobbyisten, welche Art von Professoren brauchen das Microsoft R Server-Ökosystem?



Und virtuelle VM-Maschinen, die es Ihnen ermöglichen, alles und jedes zu vereinheitlichen?

Und der Azura-Cloud-Service mit seinen Paketen für maschinelles Lernen und kollaborativen Entwicklungstools?


R ist jetzt ein industrielles System, das von Microsoft in seine eigenen und fremde Entwicklungen integriert wird.


Und Sie sind "für Amateure"...

 
СанСаныч Фоменко #:

Warum spekulieren Sie über etwas, von dem Sie selbst behaupten, dass Sie es nicht wissen?

Microsoft hat einige Anstrengungen unternommen, um R zu einem Werkzeug für die Entwicklung großer Projekte durch eine große Anzahl von Entwicklern zu machen.

Hier ist die Liste der Microsoft-Produkte/Dienste, die es uns ermöglichen, mit R zu arbeiten:
.
  1. Microsoft R Server / R Server für Azure HDInsight
  2. Datenwissenschaftliche VM
  3. Azure Maschinelles Lernen
  4. SQL Server R-Dienste
  5. Macht BI
  6. R-Werkzeuge für Visual Studio

Welche Art von Hobbyisten, welche Art von Professoren brauchen das Microsoft R Server-Ökosystem?



Und virtuelle VM-Maschinen, die es Ihnen ermöglichen, alles und jedes zu vereinheitlichen?

Und der Azura-Cloud-Service mit seinen Paketen für maschinelles Lernen und kollaborativen Entwicklungstools?


R ist jetzt ein industrielles System, das von Microsoft in seine eigenen und fremde Entwicklungen integriert wird.


Und Sie sind "für Amateure"...

Es ist klar, dass "es da etwas gibt".

Ich spreche aus der Erfahrung der Kommunikation mit Implementierern, einschließlich großer, zumindest in Russland.

Sie haben es alle in Python gemacht.

Microsoft hat SDKs für maschinelles Lernen in C# und Asure, aber niemand nutzt sie.

Sie haben also ein großes Projekt in R erstellt und es auf einen Server gestellt. Und wer pflegt es? Niemand, denn es gibt keine Spezialisten für eine solche Menge und niemand will R wegen einer Statistik lernen.

Für Python können Sie jeden Studenten für eine Stange Wurst anheuern, und es wird Ihnen gut gehen.

"Keiner" ist das Wort für NIEMAND, der in R schreibt, egal unter welchem Vorwand. Weil es Python gibt.

und du treibst die Fachleute dazu, in R zu schreiben, damit sie was tun? ihre Zeit mit einer nutzlosen Sprache verschwenden.

 
mytarmailS #:

Es stellt sich auch die Frage, was wir damit meinen, das Maximum einer verrauschten Funktion zu finden...

So wie ich die Definition verstanden habe - "Optimierung einer verrauschten Funktion" - bedeutet dies, dass die Funktion komplex ist und es schwierig ist, das Maximum in ihr zu finden, Gradientenalgorithmen sind nicht anwendbar, und so weiter.... Grob gesagt, ist es keine große Sache, man wendet einen globalen Optimierungsalgorithmus an und sucht nach dem globalen Maximum....


Aber ich sehe das anders, ich möchte das Maximum einer verrauschten Funktion finden, aber mit entferntem Rauschen, nicht das globale Maximum in einer verrauschten Funktion, sondern das globale Maximum in einer entrauschten Funktion....

(Und das ist nicht trivial, weil die Funktion nicht bekannt ist und die Rauschparameter nicht bekannt sind....

Man braucht a priori Informationen über das Rauschen. Außerdem braucht man ein klares Modell des Rauschens - additiv, multiplikativ oder etwas anderes. Ohne ein Modell kann man keinen Filter erstellen. Und dieses Modell sollte den realen Daten ähnlich sein.

Vielleicht sollten Sie sich mit Methoden der Geodatenverarbeitung befassen, die mit zwei- oder dreidimensionalen Daten arbeiten. Oder so etwas wie die Fourier-Transformation, wie bei jpg-Bildern, oder Wavelets - wie in der neuen Version von jpg, oder mehrdimensionale Splines, usw.

 
Maxim Dmitrievsky #:

Ich würde den Slogan "kämpfen und suchen - finden und verstecken" zitieren.

Sie können jedes Kriterium als benutzerdefinierte Metrik festlegen, insbesondere diese Standardkriterien. Es wird immer noch nach logloss optimiert, aber es wird bei diesen benutzerdefinierten Kriterien aufhören, was wahrscheinlich Sinn macht

und in der Tat macht es das, denn das Anhalten im gleichen Bousting basiert immer auf einem Cast-Kriterium wie Genauigkeit.

Bis jetzt, denke ich, nur auf diese Weise. Sie können die Baumbeschneidung auch nach einem benutzerdefinierten Kriterium durchführen.

 
Maxim Dmitrievsky #:

es ist klar, dass "es gibt"

Ich spreche aus Erfahrung in der Kommunikation mit Umsetzern, auch großen, zumindest in der Russischen Föderation

alles wurde in Python gemacht

Microsoft hat ein SDK für maschinelles Lernen in C# und Asure, aber niemand nutzt es

Sie haben also ein großes Projekt in R erstellt und es auf den Server gestellt. Und wer pflegt es? Niemand, denn es gibt keine Spezialisten für eine so große Zahl und niemand will R wegen einer Statistik lernen.

Und für Python stellen Sie einen beliebigen Studenten für eine Stange Wurst ein, und es wird Ihnen gut gehen.

"Keiner" ist das Wort für KEINEN der Leute, die in R schreiben, egal unter welchem Vorwand. Weil es Python gibt.

und Sie treiben die Fachidioten dazu, in R zu schreiben, damit sie was? ihre Zeit mit einer nutzlosen Sprache verschwenden.

RF ist ein schlechtes Beispiel, weil es im Sinne von matstat extrem untätig ist. Unser Forum ist voll von Technikern, aber die meisten von ihnen haben extrem schlechte Vorstellungen von Matstat. In den Instituten lehren die Professoren Matstat in Excel. Das alles charakterisiert unsere wissenschaftlich-technische Schule extrem schlecht - seriöse Lösungen aus den Zeiten der UdSSR werden viel öfter im Ausland von der Stange gekauft, als im Lande entwickelt.

 
Aleksey Nikolayev #:

Es wurde richtig beantwortet, dass man a priori Informationen über das Rauschen benötigt. Außerdem braucht man ein klares Modell des Rauschens - additiv, multiplikativ oder etwas anderes. Ohne ein Modell kann man keinen Filter erstellen. Und dieses Modell sollte den realen Daten ähnlich sein.

Vielleicht sollten Sie sich mit Methoden der Geodatenverarbeitung befassen, die mit zwei- oder dreidimensionalen Daten arbeiten. Oder so etwas wie die Fourier-Transformation, wie bei jpg-Bildern, oder Wavelets - wie in der neuen Version von jpg, oder mehrdimensionale Splines, usw.

Ich kann ohne Probleme ein Modell erstellen, jede beliebige Zerlegung, sogar PCA und weiter geht's...

Aber was ist mit den Daten? Sie sind nicht vorhanden, es handelt sich um eine unbekannte Funktion, und sogar mehrdimensional....

ALLE Daten sind die verstreuten Punkte der AO-Suchergebnisse (wenn man sie denn speichert).

Es handelt sich nicht um eine Zeitreihe, es gibt keine Struktur oder Ordnung.

 
Aleksey Nikolayev #:

RF ist ein schlechtes Beispiel, weil es extrem dumm im Sinne von matstat ist. Unser Forum ist voll von Technologen, aber die meisten von ihnen haben extrem schlechte Vorstellungen von Matstat. In den Instituten lehren die Professoren Matstat in Excel. Das alles charakterisiert unsere wissenschaftlich-technische Schule extrem schlecht - seriöse Lösungen aus UdSSR-Zeiten werden viel öfter im Ausland von der Stange gekauft, als im Land entwickelt.

Excel wird für sie später im Leben nützlicher sein :D

 
mytarmailS #:

Ich kann ohne Probleme ein Modell erstellen, jede beliebige Zerlegung, sogar PCA, und weitermachen.

Aber was ist mit den Daten? Sie existieren nicht, es handelt sich um eine unbekannte Funktion, und sie ist mehrdimensional...

Die Daten sind die verstreuten Punkte aus der AO-Suche (wenn man sie speichert).

Es handelt sich nicht um eine Zeitreihe, es gibt keine Struktur oder Ordnung.

Nun, das erste, was mir einfällt, ist, den Raum durch ein Gitter mit nicht zu großen oder kleinen Zellen zu unterteilen (die Größe wird durch das Rauschmodell bestimmt). Man beginnt mit einer (z. B. zufällig ausgewählten) Zelle - einige Punkte darin bestimmen die Richtung der Steigung der geglätteten Funktion und gehen zur nächsten Zelle über und so weiter, bis es keinen Übergang oder keine Schleife mehr gibt. Die Position des Extremwerts wird genau auf die Größe der Zelle abgestimmt, sie sollte also nicht zu groß sein, gleichzeitig aber auch die Möglichkeit der Glättung bieten, also nicht zu klein sein. Und wir müssen die Tatsache akzeptieren, dass es im Prinzip keine exakte Position des Extremums gibt, da sie je nach Glättungsmethode variiert.