Zamawianie szeregów czasowych do uczenia maszynowego


14

Po przeczytaniu jednej z „Porad badawczych” RJ Hyndmana na temat walidacji krzyżowej i szeregów czasowych wróciłem do mojego starego pytania, które spróbuję tutaj sformułować. Chodzi o to, że w problemach z klasyfikacją lub regresją kolejność danych nie jest ważna, a zatem można zastosować k- krotną walidację krzyżową. Z drugiej strony, w szeregach czasowych, porządkowanie danych ma oczywiście ogromne znaczenie.

Jednak, gdy przy użyciu maszyny do uczenia modelu do prognozowania szeregów czasowych, wspólna strategia jest do przekształcenia serii do zestawu „wektorów wejściowych i wyjściowych”, które przez czas mają postać .{y1,...,yT.}t(yt-n+1,...,yt-1,yt;yt+1)

Czy po tym przekształceniu możemy uznać, że wynikowy zestaw „wektorów wejściowych i wyjściowych” nie musi być uporządkowany? Jeśli użyjemy, na przykład, sieci neuronowej typu feed-forward z n wejściami do „uczenia się” tych danych, uzyskalibyśmy te same wyniki bez względu na kolejność, w jakiej pokazujemy wektory do modelu. A zatem, czy moglibyśmy zastosować k-krotną weryfikację krzyżową w standardowy sposób, bez konieczności ponownego dopasowywania modelu za każdym razem?

Odpowiedzi:


2

Odpowiedź na to pytanie jest taka, że ​​będzie to działać poprawnie, o ile poprawnie zostanie określona kolejność modeli, ponieważ wtedy błędy z modelu będą niezależne.

Ten papier tutaj pokazuje, że jeśli model ma biedny krzyżowej walidacji będzie nie docenia jak słaba jest w rzeczywistości. We wszystkich innych przypadkach walidacja krzyżowa wykona dobrą robotę, w szczególności lepszą pracę niż ocena poza próbą zwykle stosowana w kontekście szeregów czasowych.


6

Interesujące pytanie!

Podejście, które opisujesz, jest z pewnością bardzo szeroko stosowane przez osoby używające standardowych metod ML, które wymagają wektorów cech o stałej długości atrybutów, do analizy danych szeregów czasowych.

W poście, do którego prowadzi link, Hyndman wskazuje, że istnieją korelacje między zmienionymi wektorami danych (próbkami). Może to być problematyczne, ponieważ k-CV (lub inne metody oceny, które losowo dzielą dane na zestawy szkoleniowe i testowe) zakładają, że wszystkie próbki są niezależne. Jednak nie sądzę, aby ta obawa była istotna w przypadku standardowych metod ML, które traktują atrybuty osobno.

Dla wyjaśnienia pozwól mi uprościć twoją notację, zakładając n=3), więc pierwszych kilku wektorów danych (oznaczonych alfabetycznie) będą:

ZA:(y1,y2),y3);y4)b:(y2),y3),y4;y5)do:(y3),y4,y5;y6)

Oczywiście, A i B mają takie terminy jak y2)wspólnie. Ale dla A jest to wartość jego drugiego atrybutu, podczas gdy dla B jest to wartość jego pierwszego atrybutu.


1
Zgadzam się z tobą, że niektóre algorytmy ML mogą być odporne na problem wysoce skorelowanych próbek, ponieważ traktują atrybuty całkowicie osobno. Ale te algorytmy również nie są zbyt dobre do pracy w szeregach czasowych. Algorytmy ML, które są obiecujące dla szeregu czasowego, muszą być w stanie zauważyć, że atrybut nr 1 i atrybut nr 2 są w pewnym sensie podobne, w przeciwnym razie będą złe w przewidywaniu (przewidywanie powinno być mniej więcej podobne w przypadku przesunięcia czasu o 1). Algorytmy te ucierpiałyby również na problemie wspomnianym przez Hyndmana.
maks.
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.