如何从R

时间:2019-05-30 18:05:55

标签: r time-series forecasting trend

我正在进行时间序列分析以预测未来几年的GDP,为了获得良好的预测模型,我需要消除趋势和季节性。

我使用了经过季节性调整的数据,但它并未完全消除数据的趋势和季节性。我正在使用乘法方法删除趋势和季节性。

Seasonally adjusted GDP

decmopose_GDP <- decompose(GDP, 'multiplicative')
adjustGDP <- GDP/decmopose_GDP$seasonal
plot(adjustGDP)

有人知道从时间序列中删除趋势和季节性的其他方法吗?

1 个答案:

答案 0 :(得分:0)

您可以尝试使用季节和样条的分类变量作为时间。例如,模型可以是formula。在模型中,X包含季节的指标变量以及时间的样条曲线(您可以为它们指定特定的自由度)。然后将获得去除季节性和时间趋势的GDP,即模型的残差。代码可以如下。

  ##Fitting a model with season and time variable
  model1 <- lm(gdp ~ cat_season + ns(time, df = n))
  ##Extract the GDP without time trend
  GDP_withouttrend <- resid(model1)
  ##Plot the GDP without trend
  plot(GDP_withouttrend)