Załóżmy, że istnieje szereg czasowy, z którego można wykonać różne pomiary, takie jak okres, maksimum, minimum, średnia itp., A następnie użyć ich do stworzenia modelowej fali sinusoidalnej o tych samych atrybutach, czy można zastosować metody statystyczne, które można by obliczyć jak bardzo rzeczywiste dane pasują do założonego modelu? Liczba punktów danych w szeregu wynosiłaby od 10 do 50 punktów.
Bardzo uproszczoną moją pierwszą myślą było przypisanie wartości kierunkowemu ruchowi fali sinusoidalnej, tj. +1 +1 +1 +1 -1 -1 -1 -1 -1 -1 -1 -1 +1 +1 +1 +1, zrób to samo z rzeczywistymi danymi, a następnie oszacuj stopień podobieństwa ruchu kierunkowego.
Edycja: Po głębszym przemyśleniu tego, co naprawdę chcę zrobić z moimi danymi, oraz w świetle odpowiedzi na moje pierwotne pytanie, potrzebuję algorytmu decyzyjnego do wyboru między konkurującymi założeniami: mianowicie, że moje dane są zasadniczo liniowe (lub trendowanie) z hałasem, który może mieć elementy cykliczne; moje dane są w zasadzie cykliczne bez tendencji kierunkowej; dane są w zasadzie tylko szumem; lub przechodzi z jednego z tych stanów.
Teraz myślę o połączeniu pewnej formy analizy bayesowskiej i metryki Euclidean / LMS. Kroki w tym podejściu byłyby
Utwórz założoną falę sinusoidalną na podstawie pomiarów danych
Dopasuj linię LMS do danych
Wyprowadź metrykę euklidesową lub LMS dla odejść od oryginalnych danych dla każdego z powyższych
Utwórz Bayesian przed każdym dla każdego w oparciu o tę metrykę, tj. 60% połączonych odlotów przypisuje się do jednego, 40% do drugiego, stąd faworyzuj 40%
przesuń okno o jeden punkt danych wzdłuż danych i powtórz powyższe, aby uzyskać nowe% metryki dla tego nieznacznie zmienionego zestawu danych - to nowy dowód - wykonaj analizę bayesowską, aby utworzyć pozycję późniejszą i zmienić prawdopodobieństwa, które sprzyjają każdemu założeniu
powtarzaj wzdłuż całego zestawu danych (ponad 3000 punktów danych) w tym przesuwanym oknie (długość okna 10-50 punktów danych). Nadzieją / intencją jest identyfikacja dominującego / uprzywilejowanego założenia w dowolnym punkcie zbioru danych i tego, jak zmienia się to z czasem
Wszelkie uwagi dotyczące tej potencjalnej metodologii byłyby mile widziane, szczególnie na temat tego, w jaki sposób mógłbym faktycznie wdrożyć część analizy bayesowskiej.
źródło
Twoja „uproszczona pierwsza myśl” polegająca na jakościowym przedstawieniu jedynie ruchu kierunkowego jest podobna w duchu do algorytmu SAX Keogha do porównywania szeregów czasowych. Polecam przyjrzeć się temu: Eamonn Keogh i Jessica Lin: SAX .
Z twojej edycji wygląda na to, że teraz myślisz o rozwiązaniu problemu w inny sposób, ale może się okazać, że SAX zapewnia kawałek układanki.
źródło
Chociaż nieco spóźniam się na przyjęcie, jeśli myślisz o czymś sinusoidalnym, transformacje falkowe są dobrym narzędziem, które możesz mieć również w kieszeni. Teoretycznie można użyć transformacji falkowej do rozłożenia sekwencji na różne „części” (np. Fale o różnych kształtach / częstotliwościach, komponenty niefalowe, takie jak trendy itp.). Specyficzną formą transformacji fali, która jest używana w tonie, jest transformata Fouriera, ale w tej dziedzinie jest dużo pracy. Chciałbym móc polecić aktualny pakiet, ale od dłuższego czasu nie przeprowadzałem analizy sygnału. Pamiętam jednak niektóre pakiety Matlaba obsługujące funkcjonalność w tym stylu.
Kolejnym kierunkiem, jeśli próbujesz znaleźć trendy w cyklicznych danych, jest coś w rodzaju testu trendów Manna-Kendalla. Jest często używany do wykrywania zmian pogody lub jakości wody, która ma silny wpływ na sezon. Nie ma w nim dzwonków i gwizdów niektórych bardziej zaawansowanych podejść, ale ponieważ jest to sprawdzony test statystyczny, dość łatwo go interpretować i zgłaszać.
źródło