我正在进行时间序列分析以预测未来几年的GDP,为了获得良好的预测模型,我需要消除趋势和季节性。
我使用了经过季节性调整的数据,但它并未完全消除数据的趋势和季节性。我正在使用乘法方法删除趋势和季节性。
decmopose_GDP <- decompose(GDP, 'multiplicative')
adjustGDP <- GDP/decmopose_GDP$seasonal
plot(adjustGDP)
有人知道从时间序列中删除趋势和季节性的其他方法吗?
答案 0 :(得分:0)
您可以尝试使用季节和样条的分类变量作为时间。例如,模型可以是。在模型中,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)