Ich untersuche ein Problem, bei dem die Datenpunkte ungleiche Merkmale aufweisen.
Jede Instanz repräsentiert den Fortschritt eines Elements im gesamten System. Einige von ihnen haben ihren Endpunkt erreicht, andere befinden sich noch in der Zwischenphase. Die Anzahl der Stufen ist bekannt (insgesamt 10). Ich habe die Zeit, wenn es in jede Phase eintritt. Es geht darum, Vorhersagen darüber zu treffen, wann sie ihre Endphase erreichen werden.
Es gibt verschiedene Möglichkeiten, damit umzugehen. Es scheint, dass ein Entscheidungsbaum in der Lage sein könnte, dies richtig zu handhaben. Auch wenn die Eintrittszeit einer Stufe nicht bekannt ist, sollte sie dennoch in der Lage sein, aus den vorhandenen Daten eine vernünftige Vorhersage zu treffen.
Kann mich jemand in die richtige Richtung weisen?
quelle
Antworten:
Wenn Sie jeden fehlenden Wert unterstellen müssen, können Sie mehrere Imputations- oder Interpolationsmethoden für Zeitreihen in Betracht ziehen. zB /programming/49308530/missing-values-in-time-series-in-python
Wenn das Ziel darin besteht, einfach die Eintrittszeit für Stufe 10 vorherzusagen und sich keine Sorgen darüber zu machen, wann sie die Zwischenstufen erreichen, können Sie ein Regressionsproblem behandeln, dh nur die Zeit bis Stufe 10 vorhersagen. Der einfachste Weg könnte dies sein - behandeln Sie es einfach so ein normales überwachtes Lernproblem mit einigen fehlenden Daten. Der einzige zusätzliche Schritt besteht darin, dass Sie einige fehlende Trainings- / Testdaten erstellen müssen, um mit den Daten übereinzustimmen, die Sie erzielen werden.
Ihre Zug- / Testdaten bestehen aus allen Aufzeichnungen mit den vollständigen Daten bis Stufe 10.
Verwenden Sie eine Kreuzvalidierung oder eine Zug- / Testaufteilung innerhalb dieser Daten, um ein Vorhersagemodell zur Vorhersage der Zeit bis Stg10 zu erstellen. Innerhalb dieser Daten werden Daten zwischen Stg1 und Stg9 zufällig ausgeblendet, um den Bewertungsdatensatz zu simulieren. Behalten Sie jedoch Stg10 bei, da Sie ein Etikett zur Vorhersage benötigen. Verwenden Sie eine baumbasierte Methode wie Random Forests, da diese mit der Abhängigkeit zwischen den Variablen in Ordnung sind und mit fehlenden Daten umgehen.
Verwenden Sie dieses Modell, um die unbeschrifteten Daten zu bewerten (dh wenn keine Stg10-Informationen vorhanden sind). Das verbleibende Problem ist der Grad der Vollständigkeit innerhalb des unbeschrifteten Datensatzes. Wenn sie bis Stg9 gefüllt sind, haben Sie kein Problem. Wenn sie alle zu Stg1 gehen, haben Sie ein Problem! Sie müssen also prüfen, ob Ihre Daten vollständig genug sind, um diese Methode zu unterstützen.
Aber es ist ein gültiger Ausgangspunkt und kann sich als ausreichend für Ihren Zweck herausstellen.
quelle
Wenn ich Ihr Problem verstehe, können Sie das Problem als Klassifizierungsaufgabe mit fehlenden Eingaben formulieren.
Wenn einige der Eingaben fehlen, anstatt eine einzelne Klassifizierungsfunktion bereitzustellen, muss der Lernalgorithmus eine Reihe von Funktionen lernen. Jede Funktion entspricht der Klassifizierung von x, wobei eine andere Teilmenge ihrer Eingaben fehlt. "Aber wir müssen nur eine einzige Funktion lernen, die die gemeinsame Wahrscheinlichkeitsverteilung von allen beschreibt."
Oder Sie könnten es als Imputation fehlender Werte formulieren.
Ein Algorithmus erhält ein neues Beispiel x, wobei jedoch einige Einträge von x fehlen. Der Algorithmus muss eine Vorhersage der Werte der fehlenden Einträge liefern.
quelle
Die einfachste Lösung besteht darin, 10 Modelle zu bauen, eines pro Stufe. Damit können Sie für jede Stufe unterschiedliche Funktionen oder sogar unterschiedliche Algorithmen verwenden.
quelle
Ich hatte das gleiche Problem. Sie können Aggregationsfunktionen verwenden. Verwenden Sie beispielsweise Max, Min, Avg, count, std oder eine Berechnung wie die Steigung der Linie. Dann hat es nichts mehr mit Bühne zu tun.
Für mich geht das.
quelle