R学习笔记(2)——SARIMA模型

来源:互联网 发布:金字塔软件好用吗 编辑:程序博客网 时间:2024/06/13 01:13

昨天做完ARIMA的模型,由于对于其中seasonal部分的不理解,外加我的用电负荷模型应该满足一个季节特征,因此得到建议去了解一下SARIMA模型

先看相关教程:《R语言时间序列分析》

memo:

(1)将数据从文本文件中读取 : kings<-scan("adress",skip=n)  其中,adress为文件地址,skip参数可以略去文件中前n行的数据,注意数据在文本文件中的排列必须为一行一个数据

(2)我们在R中使用ts()函数将数据存储到一个时间序列对象中去:kingstimeseries <- ts(kings) 

增加参数设置birthstimeseries <- ts(births, frequency=12, start=c(1946,1)),前式为月度数据,第一个时间节点为1946年1月

(3)绘制时间序列图:plot.ts(kingstimeseries)

(4)分解非季节性数据:在R 的"TTR" 包中的SMA()函数可以用简单的移动平均来平滑时间序列数据。作用?

(5)分解季节性数据:我们可以使用R 中"decompose()" 函数来估计。这个函数可以估计出时间序列中趋势的、季节性的和不规则的部分,而此时间序列须是可以用相加模
型描述的。" decompose()" 这个函数返回的结果是一个列表对象,里面包含了估计出的季节性部分,趋势部分和不规则部分,他们分别对应的列表对象元素名为“seasonal" 、”trend“ 、和"random” 。   

birthstimeseriescomponents < - decompose(birthstimeseries)

我们可以输出季节性部分的估计值:> birthstimeseriescomponents$seasonal #get the estimated values of the seasonal component

(6)使用forecast. HoltWinters()返回的样本内预测误差将被存储在一个元素名为"residuals" 的列表变量中。如果预测模型不可再被优化,连续预测中的预测误差是不相关的。换句话说,如果连续预测中的误差是相关的,很有可能是简单指数平滑预测可以被另一种预测技术优化。

(7)ARIMA模型:差分得到平稳时间序列,对于平稳性正式的检验对于平稳性正式的检验称作"单位根测试",可以在fUnitRoots 包中得到,可以在CRAN 中获得fUnitRoots 包而
运行。

acf(kingtimeseriesdiff1, lag.max=20)  # plot a correlogram

acf(kingtimeseriesdiff1, lag.max=20, plot= FALSE) #get the autocorrelation values


0 0
原创粉丝点击