Zasadniczo szeregi czasowe tak naprawdę nie różnią się od innych problemów związanych z uczeniem maszynowym - chcesz, aby zestaw testowy „wyglądał” jak zestaw treningowy, ponieważ chcesz, aby model, którego nauczyłeś się na zestawie treningowym, nadal był odpowiedni dla zestawu testowego. To ważna podstawowa koncepcja dotycząca stacjonarności. Szeregi czasowe mają dodatkową złożoność, ponieważ dane mogą mieć długoterminową strukturę, której model może nie być wystarczająco wyrafinowany do nauki. Na przykład, gdy korzystamy z autoregresyjnego opóźnienia N, nie możemy nauczyć się zależności w odstępach dłuższych niż N. Dlatego też, używając prostych modeli takich jak ARIMA, chcemy, aby dane były również lokalnie stacjonarne.
Jak powiedziałeś, stacjonarne oznacza po prostu, że statystyki modelu nie zmieniają się w czasie (stacjonarne). Modele ARIMA są zasadniczo modelami regresji, w których wykorzystuje się poprzednie wartości N jako dane wejściowe do regresji liniowej w celu przewidywania wartości N + 1.. (Przynajmniej tak robi część AR). Kiedy uczysz się modelu, uczysz się współczynników regresji. Jeśli masz szereg czasowy, w którym uczysz się relacji między przeszłymi N punktami a następnym punktem, a następnie zastosujesz to do innego zestawu N punktów, aby przewidzieć następną wartość, domyślnie zakładasz, że ta sama relacja zachodzi między N punktów predykcyjnych i następujący N + 1 punkt, który próbujesz przewidzieć. To stacjonarność. Jeśli podzieliłeś zestaw treningowy na dwa przedziały i trenowałeś je osobno, i otrzymałem dwa bardzo różne modele - co byś z tego wywnioskował? Czy uważasz, że możesz czuć się pewnie, stosując te modele do przewidywanianowe dane? Którego byś użył? Problemy te powstają, jeśli dane są „niestacjonarne”.
Moje podejście do RNN jest takie - wciąż uczysz się wzoru z jednego segmentu szeregu czasowego i nadal chcesz zastosować go do innej części szeregu czasowego, aby uzyskać prognozy. Model uczy się uproszczonej reprezentacji szeregów czasowych - a jeśli reprezentacja ta ma zastosowanie do zestawu treningowego, ale nie do zestawu testowego, nie będzie działał dobrze. Jednak w przeciwieństwie do ARIMA, sieci RNN są zdolne do uczenia się nieliniowości, a wyspecjalizowane węzły, takie jak węzły LSTM, są w tym jeszcze lepsze. W szczególności LSTM i GRU są bardzo dobre w uczeniu się długoterminowych zależności. Zobacz na przykład ten post na blogu . W rzeczywistości oznacza to, że to, co rozumie się przez „stacjonarność”, jest mniej kruche w przypadku RNN, więc jest nieco mniej niepokojące. Aby jednak nauczyć się długoterminowych zależności, potrzebujesz DUŻO danych do trenowania.
Ostatecznie dowodem jest pudding. Oznacza to, że wykonaj walidację modelu, tak jak w przypadku każdego innego projektu uczenia maszynowego. Jeśli Twój model dobrze przewiduje przewidywania dotyczące wstrzymania danych, możesz być pewny, że z niego korzystasz. Ale jak każdy inny projekt ML - jeśli twoje dane testowe będą się znacznie różnić od danych treningowych, twój model nie będzie działał dobrze.