Od ponad roku próbuję rozwiązać ten problem bez większych postępów. Jest to część projektu badawczego, który realizuję, ale zilustruję go przykładem, który wymyśliłem, ponieważ rzeczywista dziedzina problemu jest nieco myląca (śledzenie wzroku).
Jesteś samolotem śledzącym wrogi statek, który płynie przez ocean, więc zebrałeś serię współrzędnych statku (x, y, czas). Wiesz, że ukryty okręt podwodny podróżuje ze statkiem, aby go chronić, ale chociaż istnieje korelacja między ich pozycjami, okręt podwodny często odchodzi od statku, więc chociaż często jest blisko niego, może również znajdować się po drugiej stronie świat od czasu do czasu. Chcesz przewidzieć ścieżkę łodzi podwodnej, ale niestety jest ona przed tobą ukryta.
Ale w kwietniu zauważysz, że okręt podwodny zapomina się ukryć, więc masz szereg współrzędnych zarówno dla łodzi podwodnej, jak i statku podczas 1000 podróży. Korzystając z tych danych, chcesz zbudować model do przewidywania ścieżki ukrytego okrętu podwodnego, biorąc pod uwagę tylko ruchy statku. Naiwnym punktem odniesienia byłoby powiedzenie „zgadnięcie pozycji łodzi podwodnej =„ aktualna pozycja statku ”, ale z danych z kwietnia, w których łódź podwodna była widoczna, można zauważyć, że istnieje tendencja, aby okręt podwodny nieco wyprzedził statek, więc„ pozycja łodzi podwodnej zgadnij = pozycja statku w ciągu 1 minuty "jest jeszcze lepszym oszacowaniem. Ponadto dane z kwietnia pokazują, że kiedy statek zatrzymuje się w wodzie na dłuższy czas, okręt podwodny prawdopodobnie będzie daleko patrolował wody przybrzeżne. Istnieją inne wzorce oczywiście.
Jak zbudowałbyś ten model, biorąc pod uwagę dane z kwietnia jako dane szkoleniowe, aby przewidzieć ścieżkę okrętu podwodnego? Moje obecne rozwiązanie to regresja liniowa ad hoc, w której czynniki to „czas podróży”, „współrzędna x statku”, „statek był bezczynny przez 1 dzień” itp., A następnie mając R obliczający wagi i przeprowadzający walidację krzyżową . Ale naprawdę chciałbym sposób na automatyczne wygenerowanie tych czynników na podstawie danych z kwietnia. Również model wykorzystujący sekwencję lub czas byłby fajny, ponieważ regresja liniowa nie ma i myślę, że jest istotna.
Dziękuję za przeczytanie tego wszystkiego i chętnie cokolwiek wyjaśnię.
źródło
Odpowiedzi:
Oto podejście, które nie wykorzystuje żadnych „kontekstowych” informacji, tj. Nie bierze pod uwagę faktu, że „okręt podwodny podąża za statkiem”. Z drugiej strony łatwo jest zacząć od:
Oznacz przez
Sugeruję, aby każdy z nich przewidzieć osobno (możesz je później połączyć).
Następnie
Another strategy people employ (which I think will work for you) is that they break up their series into
In the case of a submarine and a ship, the polynomial part would probably be constant and the cyclic part a sum of sines and cosines (from the waves of the ocean...). This may not be the case for eye-tracking.
Istnieją narzędzia, które mogą to dla Ciebie rozwiązać. Oto dwa, które znam:
Oto zrzut ekranu z narzędzia SQL Server (część kropkowana to prognoza):
Jeden z używanych przez nich algorytmów nazywa się ARIMA. Chcąc dowiedzieć się, jak to działa, zrobiłem trochę Googlinga i znalazłem tę książkę: First Course on Time Series (i nie martw się, nie musisz mieć SAS, aby śledzić. Nie mam.). Jest bardzo czytelny.
Nie musisz wiedzieć, jak działa ARIMA, aby korzystać z tych narzędzi, ale myślę, że zawsze jest łatwiej, jeśli masz kontekst, ponieważ można ustawić „parametry modelu” itp.
źródło