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)
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ę
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?
źródło
Odpowiedzi:
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.
źródło
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.
źródło