好啦,年更博主来了。上一节我们主要对时间序列的一些基于R的简单数据处理方式和操作方法进行了说明,这节,我们将会更深入地对时间序列预测和计算进行说明。
2.1对时间序列对象进行季节性分解
很明显,在我们进行数学建模竞赛的数据分析处理阶段,针对已经转化后的数据(时间序列对象)。我们必须知道该时间序列对象的特征:是否有周期,是否有随机性,是否有一些重要的影响因子等等.。接下来我将使用R对时间序列对象进行分解。
2.1.1使用stl()函数进行季节性分解
stl()函数,只需要安装相应的数据包或者你们主机安装的R语言系统比较完善就可以直接使用,并不需要使用forecast()函数,library()函数等进行载入。我首先来说说我使用这个函数最直接的感受:
1.该函数分解时间序列对象时,周期必须是要大于2的。也就是说,我第一节里面使用的nhtemp数据集是无法用这个函数进行季节性分解的。运行出来的结果如下:
2.stl()函数只适用于第一节里面的加法模型,乘法模型是不适用的。因此,在我们进行分解的时候,要对原数据集进行对数化处理。就像上面的程序一样。
好的,在我们说完使用感受后,我们来说说这个函数的R的作用机理。大体来说stl()函数的原理就是多项式拟合回归。他基于Loess。Loess为局部多项式回归拟合,是对两维散点图。这个函数shi局部加权回归散点平滑法,可分解时间序列成季节项、趋势项以及残余项。
要具体来说,stl()函数的形参表是很复杂的,很多参数的。主要形式如下:
stl(ts, s.window, s.degree=0, t.window=NULL, t.degree=