Proponuję spróbować znaleźć trend w niektórych bardzo hałaśliwych danych długoterminowych. Dane są w zasadzie cotygodniowymi pomiarami czegoś, co poruszało się o około 5 mm w ciągu około 8 miesięcy. Dane są z dokładnością do 1 mm i są bardzo głośne, regularnie zmieniając +/- 1 lub 2 mm w ciągu tygodnia. Mamy dane tylko z dokładnością do mm.
Planujemy zastosować podstawowe przetwarzanie sygnału z szybką transformacją Fouriera, aby oddzielić szum od surowych danych. Podstawowym założeniem jest to, że jeśli dublujemy nasz zestaw danych i dodamy go na końcu naszego istniejącego zestawu danych, możemy stworzyć pełną długość fali danych, a zatem nasze dane pojawią się w szybkiej transformacji Fouriera i, miejmy nadzieję, możemy je następnie rozdzielić .
Biorąc pod uwagę, że wydaje mi się to nieco wątpliwe, czy jest to metoda warta oczyszczenia, czy też metoda tworzenia kopii lustrzanych i dołączania naszego zestawu danych jest w jakiś sposób zasadniczo wadliwa? Patrzymy na inne podejścia, takie jak zastosowanie filtra dolnoprzepustowego.
źródło
Odpowiedzi:
Brzmi dla mnie podejrzanie, ponieważ oszacowanie trendu będzie tendencyjne w pobliżu punktu, w którym splatasz fałszywe dane. Alternatywnym podejściem jest wygładzanie regresji nieparametrycznej, takie jak less lub splajny.
źródło
Jeśli chcesz odfiltrować trend długoterminowy za pomocą przetwarzania sygnału, dlaczego po prostu nie zastosować dolnoprzepustowego?
Najprostszą rzeczą, o której myślę, byłaby wykładnicza średnia ruchoma.
źródło
Wydaje mi się, że w punkcie wklejania można uzyskać pewne zniekształcenie, ponieważ nie wszystkie leżące pod spodem fale połączą się bardzo dobrze.
Sugerowałbym użycie do tego transformacji Hilberta Huanga. Po prostu dokonaj podziału na funkcje trybu wewnętrznego i zobacz, co pozostało jako pozostałość podczas ich obliczania.
źródło
Możesz użyć (szybkiej :)) dyskretnej transformaty falkowej . Pakiet wavethresh pod R wykona całą pracę. Tak czy inaczej, podoba mi się rozwiązanie @James, ponieważ jest proste i wydaje się iść prosto do rzeczy.
źródło
Przez większość czasu, kiedy słyszę „trend długoterminowy”, myślę o długoterminowych trendach wzrostowych lub długoterminowych trendach spadkowych , z których żaden nie jest odpowiednio uchwycony przez transformację Fouriera. Takie jednokierunkowe trendy lepiej analizuje się za pomocą regresji liniowej . (Transformaty Fouriera i periodogramy są bardziej odpowiednie dla rzeczy, które rosną i maleją).
Regresja liniowa jest łatwa do wykonania w większości arkuszy kalkulacyjnych. (a) Wyświetl równania dla linii regresji (b) Tworzenie wykresów rozrzutu XY za pomocą arkuszy kalkulacyjnych
Regresja liniowa próbuje przybliżyć dane za pomocą linii prostej. Transformacje Fouriera starają się przybliżyć dane za pomocą kilku fal sinusoidalnych. Istnieją inne techniki („regresja nieliniowa”), które próbują przybliżyć dane do wielomianów lub innych kształtów.
źródło
Transformacja Fouriera zakłada stacjonarność sygnału szerokiego zasięgu i niezmienność czasu liniowego (LTI). Chociaż jest odporny na pewne naruszenie tych warunków, nie sądzę, aby był odpowiedni do analizy trendów ze względu na założenie stacjonarności, tj. Próbujesz zmierzyć coś, co narusza jedno z podstawowych założeń FFT.
Zgodziłbym się z powyższymi plakatami; dublowanie danych i dodawanie danych lustrzanych na końcu szeregów czasowych jest niejasne. Sugerowałbym, że dopasowanie modelu regresji liniowej z trendem czasowym, jak wspomniano powyżej, jest prawdopodobnie bardziej odpowiednie.
Jeśli chciałeś zbadać okresowość, możesz usunąć trend przez filtrowanie górnoprzepustowe i wykonanie analizy Fouriera. Jeśli trend pozostaje widoczny po filtrowaniu, możesz odjąć dopasowaną linię regresji liniowej od oryginalnego sygnału przed FFT.
źródło