R-将频率为20分钟的时间序列放入函数stl()中

R-将频率为20分钟的时间序列放入函数stl()中,r,stl,time-series,R,Stl,Time Series,我试图使用R中的函数stl()平滑存储传感器时间与温度的数据集。主要目标是去除函数中的噪声,以便找到环境温度(基线曲线)。我已以时间序列格式加载数据,当我尝试使用stl()时,它给了我以下错误: Error in stl(timeseries[[1]]) : series is not periodic or has less than two periods 以下是我的数据: > head(stations[[1]]) Date Unit Tem

我试图使用R中的函数stl()平滑存储传感器时间与温度的数据集。主要目标是去除函数中的噪声,以便找到环境温度(基线曲线)。我已以时间序列格式加载数据,当我尝试使用stl()时,它给了我以下错误:

Error in stl(timeseries[[1]]) : 
  series is not periodic or has less than two periods
以下是我的数据:

> head(stations[[1]])
                 Date Unit Temp
1 0013-06-30 10:00:01    C 32.5
2 0013-06-30 10:20:01    C 32.5
3 0013-06-30 10:40:01    C 33.5
4 0013-06-30 11:00:01    C 34.5
5 0013-06-30 11:20:01    C 37.0
6 0013-06-30 11:40:01    C 35.5
我已将其转换为时间序列类:

timeseries[[1]] = as.ts(stations[[1]]$Temp,freq=26280)
注意:频率很高,因为每20分钟采集一次数据

stl()的错误是由于频率不一致造成的吗?我有一种感觉,当我把数据做成一个时间序列时,我可能做错了什么,这使得我无法计算序列的周期

我确实需要所有这些数据,因为整个数据集只包含4天的数据(因此频率较高)


谢谢你的帮助

错误消息告诉您,为了估计时间序列的季节性成分,您需要至少两个季节的数据。如果您有4天的温度数据,您可能希望将季节性分量设置为天。因此,您应该相应地设置时间序列。你每天有24*3次观察,所以这应该是频率

timeseries[[1]] <- ts(stations[[1]]$Temp, frequency=24*3)

timeseries[[1]]hi@user2498712。你可能想回顾一下你的一些老问题,并接受一些答案,如果这些问题在几周前解决了这个问题,我可以确认你的解决方案绝对正确:-)太好了,这很有效,谢谢!一个问题是,它在平滑后仍然保留了大量的噪声。对于高频时间序列,还有其他更好的方法吗@阴影