1
問題:檢測使用週期圖和FFT在日常數據的週期性圖案R.檢測季節性R中
的問題是如何在R代碼裏面的週期圖檢測月度,季度,半年度,annual..etc數據中的循環模式。換句話說,我需要檢測爲低頻率(即:11個月=> 2 * PI/365,6個月=> 4 * PI/365等)的週期性圖案的存在
重複的例子:
library(weatherData)
w2009=getWeatherForYear("sfo",2009)
w2010=getWeatherForYear("sfo",2010)
w2011=getWeatherForYear("sfo",2011)
w2012=getWeatherForYear("sfo",2012)
w2013=getWeatherForYear("sfo",2013)
w2014=getWeatherForYear("sfo",2014)
w=rbind(w2009,w2010); w=rbind(w,w2011); w=rbind(w,w2012)
w=rbind(w,w2013); w=rbind(w,w2014)
# Next we analyze the periodograms
# This is IMAGE 1
TSA::periodogram(w$Max_TemperatureF)
# Next: I dont really know to use this information
GeneCycle::periodogram(w$Max_TemperatureF)
# Next THIS IS IMAGE 2
stats::spectrum(w$Max_TemperatureF)
# I also tried . This is IMAGE 3
f.data <- GeneCycle::periodogram(tmax)
harmonics <- 1:365
plot(f.data$freq[harmonics]*length(tmax),]
f.data$spec[harmonics]/sum(f.data$spec),
xlab="Harmonics (Hz)", ylab="Amplitute Density", type="h")
閱讀的答案後,我所做的:
per <- TSA::periodogram(w$Max_TemperatureF,lwd = 1)
x <- which(per$freq < 0.01)
plot(x = per$freq[x], y = per$spec[x], type="s")
我的問題是到底有什麼意思呢?我們有季節性循環嗎?
謝謝,我在低頻上添加了週期圖。但我認爲要找到一個年度,頻率是2 * pi/365,爲什麼1/365足夠了?所以頻率是每個$ freq有一個尖峯的權利?那麼你如何計算振幅?謝謝 !!! – Oniropolo 2015-03-03 02:59:29
對。如果你有頻率「可疑」,你可以去季節性分解:價值分解爲週期部分(有幅度),趨勢和剩餘(見'stl')。 – bergant 2015-03-03 03:06:05
你的數據是每日時間序列 - 這就是爲什麼年度頻率是1/365。 – bergant 2015-03-03 03:11:53