Obecnie pracuję nad danymi z szeregów czasowych, wiem, że mogę używać modelu LOESS / ARIMA.
Dane są zapisywane w wektorze, którego długość wynosi 1000, co jest kolejką, aktualizowaną co 15 minut,
W ten sposób stare dane wyskoczą, a nowe dane wepchną wektor.
Mogę ponownie uruchomić cały model na harmonogramie, np. Ponownie szkolić model co 15 minut, to znaczy: Użyj całej wartości 1000 do wyszkolenia modelu LOESS, Jest to jednak bardzo nieefektywne, ponieważ za każdym razem wstawiana jest tylko jedna wartość, a kolejne 999 wartości wciąż taki sam jak ostatnim razem.
Jak mogę osiągnąć lepszą wydajność?
Wielkie dzięki
Odpowiedzi:
Pozwólcie mi przeformułować to na coś bardziej znanego mi. ARIMA jest zbliżeniem do PID. Jestem integralna. MA oznacza P. AR można wyrazić jako równania różnicowe, które są składnikiem D. LOESS to odpowiednik najmniejszych kwadratów (naprawdę zaawansowany technologicznie starszy brat).
Więc jeśli chciałbym ulepszyć model drugiego rzędu (PID), co można by zrobić?
Jednym z pytań, których nie zadałem, jest „co oznacza wydajność?”. Jeśli nie mamy jasno określonej miary dobroci, nie ma sposobu, aby stwierdzić, czy metoda kandydacka „poprawia”. Wygląda na to, że potrzebujesz lepszego modelowania, krótszego czasu obliczeń i bardziej wydajnego wykorzystania informacji. Posiadanie efemeryd na temat rzeczywistych danych może również o tym poinformować. Jeśli modelujesz wiatr, możesz wiedzieć, gdzie szukać modeli rozszerzających lub znaleźć przydatne transformacje danych.
źródło
To inne pytanie zależy od tego, czy korzystasz z modelu lessowego czy ARIMA. Na razie odpowiem tylko na mniejsze pytanie, ponieważ podejrzewam, że w przypadku ARIMA możliwe są niewielkie usprawnienia, być może poza dobrym zestawem wartości początkowych.
Model lessowy polega na dopasowaniu regresji ważonej do różnych podzbiorów danych. Do każdego dopasowania wykorzystywana jest tylko część danych. Dlatego za każdym razem, gdy zamykasz model, który zrzucił jeden punkt danych na jednym końcu i dodał inny na drugim końcu, technicznie wystarczy dopasować tylko lokalne regresje, które wykorzystują pierwszy i ostatni punkt. Wszystkie lokalne regresje pomiędzy nimi będą takie same. Dokładnie, ile jest tych nietkniętych lokalnych regresji, będzie zależeć od twojego parametru wygładzania w lessie.
Możesz zhakować dowolny pakiet, którego używasz, aby dopasować swój model, aby mógł on wziąć większość lokalnych regresji z poprzedniego dopasowania i dopasować tylko te, które są potrzebne na początku i na końcu danych.
Wydaje mi się jednak, że warto to zrobić tylko wtedy, gdy koszt dodatkowego czasu programowania byłby znacznie niższy niż koszt czasu komputerowego po prostu montażu modelu od zera co 15 minut. Mając tylko 1000 punktów danych, z pewnością za każdym razem dopasowanie modelu od podstaw nie jest takie duże.
źródło