用R中的线性模型估算单变量季节时间序列

时间:2016-04-11 19:56:54

标签: r linear imputation

我们如何使用R中的线性模型方法对单变量季节性时间序列进行估算?它应该考虑季节性,最好是趋势。 我使用tslm函数进行预测,但不知道类似的插补函数。

2 个答案:

答案 0 :(得分:2)

imputeTS包可能就是您要搜索的内容。 (免责声明:我是包的维护者)

这是一个特别针对(单变量)时间序列插补的包。 这意味着它还具有能够处理季节性和趋势的功能。

实际上,您可能会对包中的几个功能感兴趣:

  • na.seadec - 使用黄土分解和插值
  • na.kalman - 使用kalman smoothing&结构时间序列模型
  • na.seasplit - 每个季节分别推断

还包括其他算法,但这三种似乎最符合您的需求。我建议阅读manual了解具体的算法细节。

你的简短例子:

library(imputeTS)
# tsAirgap is a example univariate time series with NAs provided by imputeTS 
x <- tsAirgap
x <- na.kalman(x)

基本上就是这样。对于其他algortihms,它将工作相同:

library(imputeTS)
# tsAirgap is a example univariate time series with NAs provided by imputeTS 
x <- tsAirgap
x <- na.seadec(x, algorithm = "interpolation")

答案 1 :(得分:1)

这个问题似乎更具统计性,所以应该迁移到cross-validated,你可能会得到更好的答案......但是答案很快就是

  • 估算是一个与线性建模截然不同的过程,通常是提前执行的,所以有点不清楚你在这里问的是什么
  • 如果我理解正确,最简单的方法可能是在安装tslm模型之前使用相邻点的合理窗口的平均值
  • 您可能需要查看Caret包中提供的pre-processing选项,但我自己还没有使用时间序列数据,我不确定它是否可能

与往常一样,提供数据和可重复的示例在这里会有所帮助。