Może to zabrzmieć bardzo prosto, ale mam ten problem: mam kolejkę danych o rozmiarze okna 300. Nowe dane są dodawane z jednego końca, stare wartości są usuwane z drugiego końca.
Oczekuję, że dane w kolejce pozostaną mniej więcej spójne, np .: 10,12,15,10,20, a następnie zaczną gwałtownie rosnąć: 15,10,20,22,25,28,28,30,32 ... aż do około 150. Tam dane mogą się nieco wahać, a następnie spadną z podobnym nachyleniem (120,118,116,115 ...) aż do około 20.
Próbuję programowo określić punkt zwrotny w tej serii danych, ale mój kod wykrywa szczyty częściej niż chciałbym. Jak mogę określić, kiedy wykres rośnie, kiedy osiąga ostateczny punkt zwrotny i kiedy zaczyna spadać? Czy powinienem spróbować spojrzeć na tempo zmian?
time-series
maximum
Alex Stone
źródło
źródło
Odpowiedzi:
Jeśli wiesz, że jest to dokładnie taki wzór, jakiego możesz się spodziewać, możesz poszukać tego dokładnego wzoru, ale wtedy przegapisz inne wzory. Więc. Jeśli wiesz, że szczyt będzie wynosił 150, możesz poszukać 2, 3 lub 4 lub (jak wiele) kolejnych wartości 150. Ale mówisz „około” - jak duże jest „około”? Być może szczyt jest zdefiniowany jako „3 kolejne wartości powyżej 130”, a może „3 z 5 kolejnych wartości powyżej 140”. To do ciebie należy decyzja.
Z drugiej strony, jeśli szukasz jakiegoś ogólnego programu do wykrywania szczytów - to zostało sprawdzone. Istnieje wiele metod wygładzania (np. Less, splajny różnego rodzaju, średnie ruchome itp.). Nie jest to dziedzina, w której jestem ekspertem, ale jest na ten temat mnóstwo literatury.
źródło
Spójrz na SiZer (wspaniałe przejścia przez ZERO ... lub zbocza, nie pamiętam), chociaż zapewne jest to bardziej narzędzie przekrojowe niż szeregowe. Chodzi o to, aby wygładzić dane w różnych szerokościach pasma (różniących się o około trzy rzędy wielkości) i zastosować lokalne testy, aby sprawdzić, czy nachylenie lokalnej regresji jest znacząco dodatnie czy ujemne (lub niezdecydowane). Daje przekonujący obraz, który pomoże ci określić, które funkcje są dostępne. (Dziwię się, że nie ma implementacji R, tylko Matlab.)
źródło