Czy istnieje standardowa (lub najlepsza) metoda testowania po ustabilizowaniu się szeregu czasowego?
Trochę motywacji
Mam stochastyczny system dynamiczny, który generuje wartość na każdym kroku . Ten system zachowuje się przejściowo do czasu a następnie stabilizuje się wokół pewnej wartości średniej z pewnym błędem. Żaden z, lub błąd jest mi znany. Jestem skłonny poczynić pewne założenia (na przykład błąd Gaussana przykład), ale im mniej potrzebuję założeń a priori, tym lepiej. Jedyne, co wiem na pewno, to to, że istnieje tylko jeden punkt stabilny, do którego zbliża się system, a wahania wokół punktu stabilnego są znacznie mniejsze niż wahania w okresie przejściowym. Proces ten jest również monotoniczny, mogę to założyć zaczyna się blisko i wspina się w kierunku (być może nieco przekroczony, zanim się ustabilizuje ).
The dane będą pochodzić z symulacji i potrzebuję testu stabilności jako warunku zatrzymania mojej symulacji (ponieważ interesuje mnie tylko okres przejściowy).
Precyzyjne pytanie
Biorąc pod uwagę tylko dostęp do wartości czasu dla niektórych skończonych , czy istnieje metoda stwierdzenia z rozsądną dokładnością, że stochastyczny układ dynamiczny ustabilizował się w pewnym momencie ? Punkty bonusowe, jeśli test również powróci, i błąd wokół . Nie jest to jednak konieczne, ponieważ istnieją proste sposoby, aby to rozgryźć po zakończeniu symulacji.
Naiwne podejście
Naiwnym podejściem, które po raz pierwszy pojawia się w moich myślach (które widziałem jako warunki wygranej dla niektórych sieci neuronowych) jest wybór parametrów i , to jeśli po raz ostatni czas nie ma dwóch punktów i takie, że następnie stwierdzamy, że ustabilizowaliśmy się. Takie podejście jest łatwe, ale niezbyt rygorystyczne. Zmusza mnie również do odgadnięcia, jakie dobre wartości i Powinien być.
Wydaje się, że powinno być lepsze podejście, które polega na przeszłości na pewnej liczbie kroków (lub może w jakiś sposób pomija stare dane), oblicza standardowy błąd na podstawie tych danych, a następnie sprawdza, czy nie ma pewnej innej liczby kroków (lub innej system dyskontowania) szeregi czasowe nie były poza tym zakresem błędu. Jako odpowiedź podałem taką nieco mniej naiwną, ale wciąż prostą strategię .
Doceniamy wszelką pomoc lub odniesienia do standardowych technik.
Notatki
Ja również zamieściłem to pytanie na bieżąco w MetaOptimize oraz w bardziej symulowanym opisie do Computational Science .
źródło
Odpowiedzi:
Ta krótka uwaga jest daleka od pełnej odpowiedzi, tylko kilka sugestii:
strucchange
biblioteka zmian strukturalnych w modelach regresji liniowej. Chociaż jest przede wszystkim wykorzystywany do testowania i monitorowania zmian parametrów regresji liniowej, niektóre statystyki mogą być wykorzystane do ogólnych zmian strukturalnych w szeregach czasowych.źródło
Kiedy czytam twoje pytanie „i wahania wokół punktu stabilnego są znacznie mniejsze niż wahania w okresie przejściowym”, to co z niego wyciągam, to próba wykrycia, kiedy i czy wariancja błędów uległa zmianie, a jeśli tak, to kiedy! Jeśli to jest twój cel, możesz rozważyć przejrzenie pracy lub R. Tsay'a „wartości odstające, przesunięcia poziomów i zmiany wariancji w szeregach czasowych”, Journal of Forecasting Vol 7, 1-20 (1988). Wykonałem znaczną pracę w tej dziedzinie i uważam, że jest bardzo produktywna w dostarczaniu dobrych analiz. Inne podejścia (np. Analiza regresji liniowej / liniowej), które zakładają niezależne obserwacje i brak odstających wartości impulsów i / lub brak przesunięć poziomu lub lokalnych trendów czasowych i parametrów niezmiennych w czasie są moim zdaniem niewystarczające.
źródło
Zastanawiałem się więcej nad tym pytaniem i pomyślałem, że dam nieco ulepszenia naiwnego podejścia jako odpowiedzi w nadziei, że ludzie znają dalsze pomysły w tym kierunku. Pozwala nam to również wyeliminować potrzebę znajomości wielkości wahań.
Najłatwiejszym sposobem na jego wdrożenie są dwa parametry(T,α) . Pozwolićyt=xt+1−xt być zmianą szeregów czasowych między znacznikiem czasu t i t+1 . Gdy seria jest stabilnax∗ , y będzie się wahać wokół zera z pewnym błędem standardowym. Zakładamy, że ten błąd jest normalny.
Weź ostatnieT , yt i pewnie pasują do Gaussa α za pomocą funkcji takiej jak dopasowanie normalne Matlaba . Pasowanie daje nam średniąμ z α średni błąd ufności Eμ i odchylenie standardowe σ z odpowiednim błędem Eσ . Gdyby0∈(μ−Eμ,μ+Eμ) , możesz zaakceptować. Jeśli chcesz mieć dodatkową pewność, możesz także ponownie znormalizować plikyt s przez σ znalazłeś (tak, że teraz masz odchylenie standardowe 1 ) I test z Kołmogorow-Smirnova badania wα poziom zaufania.
Zaletą tej metody jest to, że w przeciwieństwie do podejścia naiwnego, nie trzeba już nic wiedzieć o wielkości wahań termicznych wokół średniej. Ograniczeniem jest to, że nadal masz arbitralnyT parametr i musieliśmy założyć normalny rozkład hałasu (co nie jest nierozsądne). Nie jestem pewien, czy można to zmienić za pomocą jakiegoś ważonego środka z dyskontowaniem. Jeśli przewiduje się inny rozkład modelu szumu, wówczas normfit i test Kołmogorowa-Smirnova należy zastąpić ich odpowiednikami dla tego rozkładu.
źródło
Możesz rozważyć przetestowanie wstecz (z ruchomym oknem) pod kątem kointegracji
x
średniej długoterminowej.Kiedy
x
pojawi się flop wokół średniej, mam nadzieję, że test okienkowy Augmented Dickey Fuller lub jakikolwiek test kointegracyjny, który wybierzesz, powie ci, że te dwie serie są zintegrowane. Gdy przejdziesz do okresu przejściowego, w którym dwie serie oddalają się od siebie, mam nadzieję, że twój test pokaże, że serie okienkowe nie są ze sobą zintegrowane.Problem z tym schematem polega na tym, że trudniej jest wykryć kointegrację w mniejszym oknie. A okno, które jest zbyt duże, jeśli zawiera tylko niewielki segment okresu przejściowego, powie ci, że seria okien jest zintegrowana, kiedy nie powinna. I, jak można się domyślać, nie można z góry wiedzieć, jaki może być „odpowiedni” rozmiar okna.
Wszystko, co mogę powiedzieć, to to, że będziesz musiał się z tym bawić, aby sprawdzić, czy uzyskasz rozsądne wyniki.
źródło
W trakcie symulacji podziel ostatnie 2N punkty dzieląc je na pierwszą i drugą połowę. Oblicz serię zmian (wartośćmt+1−mt ) dla danych odsetkowych dla każdej połowy. Przetestuj rozkład tych dwóch zestawów delta pod kątem stacjonarności. Najprostszym sposobem na to jest obliczenie cdf każdej dystrybucji, oznaczając ostatnią jako „obserwowaną”, a poprzednią jako „oczekiwaną”. Następnie przeprowadź test chi-kwadrat Pearsona dla wartości twojej metryki przy każdym decylu.
źródło
Oprócz oczywistego rozwiązania Kalmana, możesz używać rozkładów falkowych i uzyskać spektrum mocy zlokalizowane w czasie i częstotliwości. Spełnia to Twoje oczekiwania, ale niestety nie daje formalnego testu, kiedy system się ustabilizuje. Ale dla praktycznego zastosowania jest w porządku; wystarczy spojrzeć na moment, w którym energia wysokich częstotliwości umiera, i kiedy współczynniki falkowe ojca stabilizują się.
źródło