r-使用线性模型的单变量季节性时间序列的脉冲



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

您正在搜索的可能是imputeTS包。(免责声明:我是软件包的维护者)

它是一个专门用于(单变量)时间序列插补的软件包。这意味着它还具有处理季节性和趋势性的功能。

实际上,包中有几个功能可能会引起您的兴趣:

  • na_seadec-利用黄土分解和插值
  • na_kalman-使用卡尔曼平滑&结构时间序列模型
  • na_seasplit-分别为每个季节估算

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

举个简单的例子:

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

基本上就是这样。对于其他算法,它的工作原理是一样的:

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

这个问题本质上似乎更具统计性,因此可能应该迁移到交叉验证中,以便获得更好的答案。。。但一个快速的答案是

  • 插补是一个不同于线性建模的过程,通常是提前进行的,所以有点不清楚你在这里问什么
  • 如果我理解正确的话,最简单的方法可能是在拟合tslm模型之前,使用相邻点的合理窗口的平均值
  • 你可能想看看Caret包中提供的预处理选项,尽管我自己还没有将它们用于时间序列数据,也不确定是否可能

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

相关内容

  • 没有找到相关文章

最新更新