Dlaczego ta prognoza szeregów czasowych jest „dość słaba”?


15

Próbuję nauczyć się korzystać z sieci neuronowych. Czytałem ten samouczek .

Po dopasowaniu sieci neuronowej do szeregu czasowego przy użyciu wartości aby przewidzieć wartość przy autor otrzymuje następujący wykres, w którym niebieska linia to szereg czasowy, zielony to prognoza danych pociągu, czerwony to prognoza danych testowych (wykorzystał podział pociągu testowego)tt+1p1

i nazywa to: „Widzimy, że model wykonał dość kiepską pracę, dopasowując zarówno zestawy danych szkoleniowych, jak i testowych. Zasadniczo przewidział tę samą wartość wejściową co wynik”.

Następnie autor decyduje się użyć , i aby przewidzieć wartość przy . W ten sposób uzyskuje siętt-1t-2)t+1

p2

i mówi „Patrząc na wykres, widzimy więcej struktury w prognozach”.

Moje pytanie

Dlaczego pierwszy „biedny”? dla mnie wygląda prawie idealnie, doskonale przewiduje każdą zmianę!

I podobnie, dlaczego drugi jest lepszy? Gdzie jest „struktura”? Wydaje mi się, że jest znacznie biedniejszy niż pierwszy.

Ogólnie rzecz biorąc, kiedy prognozy dotyczące szeregów czasowych są dobre, a kiedy złe?


3
Ogólnie rzecz biorąc, większość metod ML służy do analizy przekrojowej i wymaga korekt, które należy zastosować do szeregów czasowych. Głównym powodem jest autokorelacja danych, podczas gdy w ML często dane są uznawane za niezależne w najpopularniejszych metodach
Aksakal

11
Świetnie sobie radzi z przewidywaniem każdej zmiany ... zaraz po tym!
hobbs

@ Hobbs, nie próbuję używać t, t-1, t-2 itp. do przewidywania t + 1. Zastanawiałem się, czy wiesz, z ilu terminów w przeszłości najlepiej korzystać. Jeśli używamy zbyt wielu, czy nadmiernie się dopasowujemy?
Euler_Salter

Rysowanie resztek byłoby bardziej pouczające.
reo katoa

Odpowiedzi:


23

To rodzaj złudzenia optycznego: oko patrzy na wykres i widzi, że czerwone i niebieskie wykresy są tuż obok siebie. Problem polega na tym, że znajdują się one obok siebie poziomo , ale liczy się piondystans. Oko najłatwiej dostrzega odległość między krzywymi w dwuwymiarowej przestrzeni wykresu kartezjańskiego, ale liczy się jednowymiarowa odległość w ramach określonej wartości t. Załóżmy na przykład, że mieliśmy punkty A1 = (10,100), A2 = (10,1, 90), A3 = (9,8,85), P1 = (10,1,100,1) i P2 = (9,8, 88). Oko naturalnie porówna P1 do A1, ponieważ jest to najbliższy punkt, podczas gdy P2 będzie porównany do A2. Ponieważ P1 jest bliżej A1 niż P2 do A3, P1 będzie wyglądać jak lepsza prognoza. Ale porównując P1 do A1, patrzysz tylko, jak dobrze A1 jest w stanie powtórzyć to, co widział wcześniej; w odniesieniu do A1 P1 nie jest prognozą. Prawidłowe porównanie jest między P1 v. A2 i P2 v. A3, aw tym porównaniu P2 jest lepsze niż P1. Byłoby wyraźniej, gdyby oprócz wykreślenia y_actual i y_pred względem t, były wykresy (y_pred-y_actual) względem t.


2
To lepsza odpowiedź, ponieważ druga nie wspomina nawet, dlaczego „ładna” prognoza jest tak naprawdę kiepska, a ty wykonujesz świetną robotę!
Richard Hardy,

17

Dlaczego pierwszy „biedny”? dla mnie wygląda prawie idealnie, doskonale przewiduje każdą zmianę!

Jest to tak zwana „przesunięta” prognoza. Jeśli przyjrzysz się dokładniej wykresowi 1, zobaczysz, że moc predykcyjna polega tylko na skopiowaniu prawie dokładnie ostatniej ostatnio widzianej wartości. Oznacza to, że model niczego się nie nauczył i traktuje szereg czasowy jako losowy spacer. Myślę, że problem może polegać na tym, że używasz surowych danych, które podajesz do sieci neuronowej. Dane te są niestacjonarne, co powoduje cały problem.


8
W prognozowaniu nazywa się to prognozą „naiwną”, tzn. Wykorzystuje ostatnią zaobserwowaną jako prognozę
Aksakal,

Dziękuję Ci! @Aksakal czy wiesz, ile wcześniejszych wartości należy użyć do przewidywania?
Euler_Salter

Skoncentruj się na stacjonarności. Kilka opóźnień stacjonarnych powinno być całkiem niezłych dla tego szeregu czasowego. Lepiej niż 100 niestacjonarnych opóźnień.
Alexey Burnakov

w szeregu czasowym istnieje sposób, aby uzyskać dobre przypuszczenie o strukturze lag przez ACF i PACF, wyszukiwanie to forum, było wiele postów na temat, jak to zrobić
Aksakal

@AlexeyBurnakov, czy to oznacza, że ​​powinienem przekształcić go w stacjonarny?
Euler_Salter
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.