0
爲了識別和刪除作物產量系列的技術信號,我首次使用了stats::stl
函數。我對這種方法並不熟悉,而且我是編程方面的新手,事前我對任何錯誤的道歉。STL ts頻率= 1
這些是我與工作的原始數據:
dat <- data.frame(year= seq(1962,2014,1),yields=c(1100,1040,1130,1174,1250,1350,1450,1226,1070,1474,1526,1719,1849,1766,1342,2000,1750,1750,2270,1550,1220,2400,2750,3200,2125,3125,3737,2297,3665,2859,3574,4519,3616,3247,3624,2964,4326,4321,4219,2818,4052,3770,4170,2854,3598,4767,4657,3564,4340,4573,3834,4700,4168))
這是ts
與頻率= 1(年度)作爲輸入創建了STL
功能:
time.series <- ts(data=dat$yields, frequency = 1, start=c(1962, 1), end=c(2014, 1))
plot(time.series, xlab="Years", ylab="Kg/ha", main="Crop yields")
當嘗試運行該功能我收到以下錯誤消息:
decomposed <- stl(time.series, s.window='periodic')
> Error in stl(time.series, s.window = "periodic") : series is not periodic or has less than two periods
我知道,我的意甲是每年的,因此,我不能改變它的似乎是什麼原因導致錯誤的ts
頻率,因爲當我改變頻率我得到的季節性趨勢,其餘的信號:
time.series <- ts(data=dat$yields, frequency = 12, start=c(1962, 1), end=c(2014, 1))
decomposed <- stl(time.series, s.window='periodic')
plot(decomposed)
我想知道是否有一種方法將STL
函數與年度數據一起使用,每單位時間的觀測頻率爲1. 另一方面,要消除技術信號,只需要消除趨勢並且來自原始系列的剩餘信號還是我誤解了?
非常感謝您的幫助。