Ich möchte ein binäres logistisches Regressionsmodell im Kontext von Streaming-Daten (mehrdimensionale Zeitreihen) verwenden, um den Wert der abhängigen Variablen der Daten (dh der Zeile), die gerade angekommen sind, unter Berücksichtigung der bisherigen Beobachtungen vorherzusagen. Soweit mir bekannt ist, wird die logistische Regression traditionell für die postmortale Analyse verwendet, bei der jede abhängige Variable bereits festgelegt wurde (entweder durch Inspektion oder durch die Art der Studie).
Was passiert jedoch bei Zeitreihen, bei denen wir (on the fly) Vorhersagen über die abhängige Variable in Bezug auf historische Daten (z. B. in einem Zeitfenster der letzten Sekunden) und natürlich die vorherige treffen möchten? Schätzungen der abhängigen Variablen?
Und wenn Sie das obige System im Laufe der Zeit sehen, wie sollte es aufgebaut sein, damit die Regression funktioniert? Müssen wir es zuerst trainieren, indem wir zum Beispiel die ersten 50 Zeilen unserer Daten beschriften (dh die abhängige Variable auf 0 oder 1 setzen) und dann die aktuelle Schätzung des Vektors , um die neue Wahrscheinlichkeit von zu schätzen abhängige Variable 0 oder 1 für die Daten, die gerade angekommen sind (dh die neue Zeile, die gerade zum System hinzugefügt wurde)?
Um mein Problem klarer zu machen, versuche ich, ein System aufzubauen, das einen Datensatz zeilenweise analysiert und eine Vorhersage eines binären Ergebnisses (abhängige Variable) unter Berücksichtigung des Wissens (Beobachtung oder Schätzung) aller vorherigen abhängigen oder erklärenden Faktoren vornimmt Variablen, die in einem festen Zeitfenster angekommen sind. Mein System ist in Rerl und verwendet R für die Folgerung.
quelle
Antworten:
Es gibt zwei zu berücksichtigende Methoden:
Verwenden Sie nur die letzten N Eingangssamples. Angenommen, Ihr Eingangssignal hat die Dimension D, dann haben Sie N * D Abtastwerte pro Grundwahrheitsbezeichnung. Auf diese Weise können Sie mit einem beliebigen Klassifikator trainieren, einschließlich der logistischen Regression. Auf diese Weise wird jeder Ausgang als unabhängig von allen anderen Ausgängen betrachtet.
Verwenden Sie die letzten N Input Samples und die letzten N Outputs, die Sie generiert haben. Das Problem ist dann ähnlich wie bei der Viterbi-Dekodierung . Sie können einen nicht-binären Score basierend auf den Eingabesamples generieren und den Score mehrerer Samples mit einem Viterbi-Decoder kombinieren. Dies ist besser als Methode 1. Wenn Sie jetzt etwas über die zeitliche Beziehung zwischen den Ausgaben wissen.
quelle