我有一个周期性的时间序列,几年的气温,我希望能够预测它的未来价值。
我已经计算了一年中每个小时值的可用年份的平均值,这是正常的,但它显然非常嘈杂,因为我只有4年的数据。
lm.circular
,这看起来像是一个可行的候选解决方案
lm.circular
,但出现了一个实际问题:内存不足。请注意,标准lm
几乎是即时的,并且在相同的数据上使用没有明显的内存lm
并不是一个真正的选择,因为它会在期末任何一端产生可怕的结果。我不太确定哪种方式是最好的前进方式,但我怀疑这是一个非常常见的问题,并且可能有非常标准的方法来处理它?</ p>
答案 0 :(得分:1)
好的,我最终找到了一种超级简单的方法。您不需要任何花哨的包,只需使用标准lm
并将余弦和正弦应用于时间线:
model <- lm( y ~ I(sin(x/periodlength*2*pi) * I(cos(x/periodlength*2*pi)), trainingdata )
....然后你可以根据自己的内容调整这个公式。
(编辑:哦,是的,它超级快,不会占用太多内存)。
答案 1 :(得分:0)
我使用ARIMA预测未来值
就像这样
fit <- auto.arima(values)//for getting order of ARIMA
//here values-> time series data
future.values<-predict(fit,n.ahead=24)//used for predicting future values
//n.ahead-> u can give the maximum number of values you want to predict
以下链接将帮助您了解更多详情
http://www.jstatsoft.org/v27/i03/paper
注意:&#34;值&#34;必须是时间序列数据。如果不是我们可以转换为时间序列数据 喜欢 values.ts&lt; -ts(values,frequency =)