Es gibt eine Funktion zur Berechnung der doppelten Korrelation in alglib. Ich denke, man kann einfach alle Variablen in char/uchar ändern und alles wird funktionieren. Es gibt Dutzende anderer verwendeter Funktionen, die ebenfalls überarbeitet werden sollten. Und von CMatrixDouble sollten wir zu dynamischen Arrays oder etwas anderem wechseln.
Pearson product-moment correlation matrix | //| INPUT PARAMETERS: | //| X - array[N,M], sample matrix: | //| * J-th column corresponds to J-th variable | //| * I-th row corresponds to I-th observation | //| N - N>=0, number of observations: | //| * if given, only leading N rows of X are used | //| * if not given, automatically determined from input | //| size | //| M - M>0, number of variables: | //| * if given, only leading M columns of X are used | //| * if not given, automatically determined from input | //| size | //| OUTPUT PARAMETERS: | //| C - array[M,M], correlation matrix (zero if N=0 or N=1) | //+------------------------------------------------------------------+ static bool CBaseStat::PearsonCorrM(const CMatrixDouble &cx,const int n, const int m,CMatrixDouble &c)
Und wenn man ein selbstgemachtes Programm hat, muss man auch die Quantisierung machen, wenn man kein fertiges Paket hat, das das kann.
Ich glaube, ich bin dumm... es ist sehr schnell, mit Nampai zu rechnen, aber es ist langwierig und speicherintensiv, mit Panda zu rechnen. Ich werde später alles noch einmal überprüfen.
Muster = ganze Reihe von Proben mit hoher Korrelation untereinander
Es kann viele solcher Sätze im gesamten Datensatz geben
Ohne eine Matrix wird man nichts finden, oder man wählt einen fragmentierten Teil davon aus, und ich zähle alle möglichen Varianten.
Man muss also jede Zeile nehmen und die Korrelation mit allen anderen berechnen, dann erhält man eine Matrix.
Ich habe etwas Ähnliches in 15-16 gemacht. Ich nahm die aktuelle Situation, zum Beispiel die letzten 20-50 Balken, und suchte in der Geschichte nach den 20 ähnlichsten Beispielen. Aus diesen 20 Beispielen habe ich dann den durchschnittlichen Future abgeleitet. Fast immer erhielt ich eine gerade Linie +-5 Pkte. Damals erschien mir der Gewinn von 5 Pkt. ein wenig klein, am Rande des Rauschens. Am Ende wechselte ich zu MO, in der Hoffnung, dass der Gewinn größer sein würde. Aber hier ist es das gleiche Im Allgemeinen ist es ähnlich wie beim Clustering. Hier wird die Ähnlichkeit der Beispiele maximiert. .
Die Klassifizierung/Regression in Bäumen maximiert die zukünftige Ähnlichkeit dieser Beispiele. Die Ähnlichkeit in der Vergangenheit wird dadurch verschlechtert.
Aber warum wir die gesamte Korrelationsmatrix zählen müssen, wenn wir nur den Stand der Dinge in Bezug auf die aktuelle/letzte Zeile benötigen, verstehe ich nicht.
Ist es so, dass wir alle Muster auf einmal finden wollen? Brauchen wir alle Muster? Oder brauchen wir dasjenige, das der aktuellen Situation und der letzten Beobachtung entspricht?
Eine Zeile ist eine Beobachtung, eine Spalte ist ein Merkmal.
Die erste Zeile ist wie die neuesten Daten.
Sie können die Korrelation zwischen der letzten Zeile und jeder der anderen Zeilen berechnen.
Und wir erhalten dieses "Ähnlichkeitsmuster" zwischen der letzten/aktuellen Zeile und der Historie
Sie können auch eine Clusterbildung durchführen und erhalten so etwas Ähnliches.
aber ich verstehe nicht, warum wir die gesamte Korrelationsmatrix berechnen müssen, wenn wir nur den Stand der Dinge in Bezug auf die aktuelle/letzte Zeile benötigen.
Wie tief ist der Gedanke hier?
Ist es so, dass wir alle Muster auf einmal finden werden und wir alle Muster brauchen, oder brauchen wir dasjenige, das der aktuellen Situation und der letzten Beobachtung entspricht?
Es gibt keine aktuelle Situation, es ist nur eine historische Suche.
Dann sortiert man die Muster nach seinen Metriken und näht die besten in den Bot ein.
es gibt keine aktuelle, sondern nur eine historische Suche
Nun, man kann fast kostenlos ein Muster nach dem anderen suchen, was den Arbeitsspeicher angeht. Warum sollte man alle Muster in der gesamten Historie sehen wollen, wenn man zu einem bestimmten Zeitpunkt nur in einem Muster sein kann, nicht in allen....
Nun, Sie können ein Muster zu einer Zeit für fast kostenlos in Bezug auf RAM, warum sollten Sie wollen, um alle Muster in der gesamten Geschichte, wenn zu einem bestimmten Zeitpunkt können Sie nur in einem Muster, nicht alle von ihnen...
Oder verstehe ich etwas nicht?
Du musst noch alle durchgehen und die besten auswählen, um sie mit den neuen Daten zu überprüfen.
Корреляционная матрица между строками заданных признаков. берется статистика по всем строкам как было в будущем в среднем. в тестере ищем корреляцию текущих значений с эталоном. Но я делаю в питоне и считаю корреляцию сразу для всех возможных пар
Wäre es effizient, SQL durchzulesen?
noch nie im Leben
....
Versuchen Sie Apache Arrow oder DuckDB.
aber RAM ist immer noch der schnellste Weg.
.....
Das Problem selbst wird durch G...ugly gelöst, Ihr Problem ist die kor. Matrix, die nicht benötigt wird.
Es gibt eine Funktion zur Berechnung der doppelten Korrelation in alglib. Ich denke, man kann einfach alle Variablen in char/uchar ändern und alles wird funktionieren. Es gibt Dutzende anderer verwendeter Funktionen, die ebenfalls überarbeitet werden sollten. Und von CMatrixDouble sollten wir zu dynamischen Arrays oder etwas anderem wechseln.
//| INPUT PARAMETERS: |
//| X - array[N,M], sample matrix: |
//| * J-th column corresponds to J-th variable |
//| * I-th row corresponds to I-th observation |
//| N - N>=0, number of observations: |
//| * if given, only leading N rows of X are used |
//| * if not given, automatically determined from input |
//| size |
//| M - M>0, number of variables: |
//| * if given, only leading M columns of X are used |
//| * if not given, automatically determined from input |
//| size |
//| OUTPUT PARAMETERS: |
//| C - array[M,M], correlation matrix (zero if N=0 or N=1) |
//+------------------------------------------------------------------+
static bool CBaseStat::PearsonCorrM(const CMatrixDouble &cx,const int n,
const int m,CMatrixDouble &c)
Und wenn man ein selbstgemachtes Programm hat, muss man auch die Quantisierung machen, wenn man kein fertiges Paket hat, das das kann.
Ich glaube, ich bin dumm... es ist sehr schnell, mit Nampai zu rechnen, aber es ist langwierig und speicherintensiv, mit Panda zu rechnen. Ich werde später alles noch einmal überprüfen.
kein Muster, Muster werden über die Korr.-Matrix gesucht
Vielleicht gibt es etwas, das ich nicht verstehe.
Vielleicht gibt es etwas, das ich nicht verstehe.
Muster = eine ganze Reihe von Proben mit hoher Korrelation untereinander.
Es kann viele solcher Muster im gesamten Datensatz geben, jedes mit einer unterschiedlichen Anzahl von Übereinstimmungen in der Geschichte.
Ohne eine Matrix wird man nichts finden, oder man wählt einen fragmentierten Teil aus, und ich zähle alle möglichen Varianten.
Man muss also jede Zeile nehmen und die Korrelation mit allen anderen Zeilen berechnen, dann erhält man eine Matrix.Muster = ganze Reihe von Proben mit hoher Korrelation untereinander
Es kann viele solcher Sätze im gesamten Datensatz geben
Ohne eine Matrix wird man nichts finden, oder man wählt einen fragmentierten Teil davon aus, und ich zähle alle möglichen Varianten.
Man muss also jede Zeile nehmen und die Korrelation mit allen anderen berechnen, dann erhält man eine Matrix.Im Allgemeinen ist es ähnlich wie beim Clustering.
Hier wird die Ähnlichkeit der Beispiele maximiert.
.
Die Klassifizierung/Regression in Bäumen maximiert die zukünftige Ähnlichkeit dieser Beispiele. Die Ähnlichkeit in der Vergangenheit wird dadurch verschlechtert.
Ich habe vor langer Zeit etwas Ähnliches gemacht, und jetzt, mit neuen Gedanken, mache ich es wieder.
Muster = die Gesamtheit der Proben mit hoher Korrelation untereinander
Es kann viele solcher Muster im gesamten Datensatz geben, jedes mit einer unterschiedlichen Anzahl von Übereinstimmungen in der Vergangenheit
Ohne eine Matrix werden Sie nichts finden, oder Sie werden einen fragmentierten Teil davon auswählen, und ich zähle alle möglichen Varianten.
Man muss also jede Zeile nehmen und die Korrelation mit allen anderen Zeilen berechnen, dann erhält man eine Matrix.Wir haben einige dreidimensionale Daten.
Eine Zeile ist eine Beobachtung, eine Spalte ist ein Merkmal.
Die erste Zeile sind die jüngsten Daten.
Wir können die Korrelation der letzten Zeile mit jeder der anderen Zeilen berechnen.
Und wir erhalten dieses "Ähnlichkeitsmuster" zwischen der letzten/aktuellen Zeile und der Historie.
Man könnte auch ein Clustering durchführen, um so etwas zu erhalten.
Aber warum wir die gesamte Korrelationsmatrix zählen müssen, wenn wir nur den Stand der Dinge in Bezug auf die aktuelle/letzte Zeile benötigen, verstehe ich nicht.
Was ist hier der tiefere Sinn?
Ist es so, dass wir alle Muster auf einmal finden wollen? Brauchen wir alle Muster? Oder brauchen wir dasjenige, das der aktuellen Situation und der letzten Beobachtung entspricht?
Haben wir irgendwelche dreidimensionalen Daten
Eine Zeile ist eine Beobachtung, eine Spalte ist ein Merkmal.
Die erste Zeile ist wie die neuesten Daten.
Sie können die Korrelation zwischen der letzten Zeile und jeder der anderen Zeilen berechnen.
Und wir erhalten dieses "Ähnlichkeitsmuster" zwischen der letzten/aktuellen Zeile und der Historie
Sie können auch eine Clusterbildung durchführen und erhalten so etwas Ähnliches.
aber ich verstehe nicht, warum wir die gesamte Korrelationsmatrix berechnen müssen, wenn wir nur den Stand der Dinge in Bezug auf die aktuelle/letzte Zeile benötigen.
Wie tief ist der Gedanke hier?
Ist es so, dass wir alle Muster auf einmal finden werden und wir alle Muster brauchen, oder brauchen wir dasjenige, das der aktuellen Situation und der letzten Beobachtung entspricht?
Es gibt keine aktuelle Situation, es ist nur eine historische Suche.
Dann sortiert man die Muster nach seinen Metriken und näht die besten in den Bot ein.
es gibt keine aktuelle, sondern nur eine historische Suche
Nun, man kann fast kostenlos ein Muster nach dem anderen suchen, was den Arbeitsspeicher angeht. Warum sollte man alle Muster in der gesamten Historie sehen wollen, wenn man zu einem bestimmten Zeitpunkt nur in einem Muster sein kann, nicht in allen....
Oder habe ich etwas nicht verstanden?
Nun, Sie können ein Muster zu einer Zeit für fast kostenlos in Bezug auf RAM, warum sollten Sie wollen, um alle Muster in der gesamten Geschichte, wenn zu einem bestimmten Zeitpunkt können Sie nur in einem Muster, nicht alle von ihnen...
Oder verstehe ich etwas nicht?
Du musst noch alle durchgehen und die besten auswählen, um sie mit den neuen Daten zu überprüfen.
#32456