Я все еще новичок в R, и я прочитал довольно много сообщений и обсуждений о том, как отфильтровать частотные области во временных рядах, но ни один из них не соответствовал моей проблеме.
Я хотел бы попросить ваши предложения по следующему: я рассчитал когерентность вейвлетов для двух ежегодно измеряемых временных рядов и взглянул на график PSD когерентности вейвлетов:
Фиолетовая линия (т.е. период 8 лет) представляет границу, под которой я хотел бы отфильтровать частотную область, но не в PSD, а в исходных входных данных.
Я думал об использовании функции масла из пакета сигналов, но для моих целей она была слишком сложной.
Таким образом, я подошел к проблеме с функцией bwfilter пакета mFilter для передачи данных за 8-летний период, что соответствует 2.37E-7 Гц.
name="dta OAK.resid Tair "
adat=read.table(file=paste(name,".csv", sep=""), sep=";", header=T)
dta=adat$ya
highpass <- bwfilter(dta, freq=8,drift=FALSE)
plot(highpass)
Однако результаты не кажутся правильными, потому что они, кажется, слишком сильно отфильтровывают данные, тренд слишком сильно согласуется с исходным временным рядом.
Вы хоть представляете, что могло пойти не так? Может быть, единица измерения?
Любая помощь приветствуется, и если потребуются какие-либо дополнительные сведения, я с радостью их предоставлю! Спасибо!
Данные можно найти здесь