郑连虎,在数学学院取得理学学位的文科生,中国人民大学硕博连读生在读,山东大学管理学学士、理学学士
个人公众号:阿虎定量笔记
本期使用伊利湖水位数据(Monthly Lake Erie Levels,1921-1970)演示,数据在后台回复“时间序列”即可获得。
1
数据处理
定义日期
首先,点击“数据-定义日期”。接着,在弹出的“定义日期”对话框内,设置日期的格式。在本期演示中选择“年份、月份”作为日期格式。确定日期格式后,“数据视图”可以看到新插入的日期“Year”“Month”“Date”(新变量默认名称):
平稳性判断
绘出序列图后,平稳时间序列不需要这一步处理。
点击“分析-预测-序列图”,绘制伊利湖水位数据的时间序列图:
从上图可以初步判断,伊利湖水位50年来呈现出非平稳趋势。但这仅是从时序图上的直观判断,还要从该序列的自相关函数和偏相关函数上给出更为理性的判断。点击“分析-预测-自相关”,绘制伊利湖水位数据的自相关和偏相关图:
从伊利湖水位数据的自相关和偏相关图可以看出,数据的自相关函数和偏相关函数没有衰减到0,即没有进入两倍标准差区域,这意味着伊利湖水位数据是非平稳的。
对于含有趋势的非平稳时间序列,通常可以通过引入ARIMA 模型对其变换。ARIMA模型对于非平稳时间序列采用的方法是,运用差分运算提取序列的趋势信息,最终把序列变为平稳序列。ARIMA模型的形式为ARIMA(p,d,q),其中p为自回归项,q为移动平均项数,d为时间序列成为平稳时所做的差分次数。
具体到这组数据,可以通过对指数关系做对数变换后将其转化为线性关系,然后再对其进行适当的差分来消除序列的线性趋势,并逐步消除方差的变化,使其最终达到平稳。
“差分”转换处理,其中键入的是“2”即后一个数据减前一个数据所得的值。“自然对数转换”,对原始的数据进行自然对数的转换。在“序列图”中同时选择这两种处理方式:
对伊利湖水位数据取对数并作二阶差分后得时间序列图如下图:
季节分解
季节性变动指由于季节因素导致的时间序列的有规则变动,无季节变动的数据不需要这一步处理。季节分解主要方法包括按月或季平均法和移动平均趋势剔除法。根据序列图的分析,序列的波动随着季节的波动越来越大,所以选择乘法模型。点击“分析-预测-周期性分解”,弹出“周期性分解”对话框,确认设置:
新增四个变量:ERR表示的误差分析;SAS表示的是季节因素校正后序列;SAF表示的季节因子;STC表示的是长期趋势和循环变动序列。把新出现的四个变量、平均值和DATE_做序列图:
建模预测
方法1:专家建模器
点击“分析-预测-创建模型”,弹出“时间序列建模器”。在“变量”选项下,将需要进行时间序列预测的“水位”变量拖入图示的“因变量”框内;然后确定中间的“方法”,在下拉列表中选择“专家建模器”项,点击右侧的“条件”按钮,弹出“时间序列建模器:专家建模器条件”对话框。在“时间序列建模器:专家建模器条件”对话框的“模型”选项卡中,在“模型类型”框中选择“所有模型”项,并勾选“专家建模器考虑季节性模型”复选框,点“继续”;在“时间序列建模器”对话框中,切换至“保存”选项卡中,勾选“预测值”复选框,点击“导出模型条件”框中“XML文件”后面的“浏览”,然后设置导出的模型文件和保存路径,预测值就会在数据中新增一列,点击“确定”:
点击“分析-预测-应用模型”,用刚刚保存的模型预测1971年的水位变化,点击“保存”,勾选“预测值”之后点击确定:
把原始数据及预测值一起绘制序列图:
方法2:指数平滑法
指数平滑法的使用特点是将较大的权数放在最近的资料。依次点击第一排菜单栏里面的“分析-预测-创建模型”,弹出“时间序列建模器”。在“变量”选项下,将需要进行时间序列预测的“水位”变量拖入图示的“因变量”框内;在方法中,选择“指数平滑法”;在“Statistics”中勾选“平稳的 R 方”“拟合优度”“显示预测值”;在“图表”中选“观察值”“预测值”“拟合值”;在“保存”中勾选“预测值”;在“选项”下填写需要预测到的指定日期。全部设置完成后,点击“确定”,即可在输出文档里面看到时间序列建模程序显示的模型参数及预测的结果;
方法3:ARIMA模型
在平稳性判断阶段知道,还可以使用 ARIMA 模型来进行时间序列的预测,使用的特点是将非平稳时间序列转化为平稳时间序列,然后将因变量仅对它的滞后值以及随机误差项的现值和滞后值进行回归所建立的模型。ARIMA模型中ARIMA(p,d,q) 称为差分自回归移动平均模型,AR是自回归,p为自回归项;MA为移动平均,q为移动平均项数,d为时间序列成为平稳时所做的差分次数。使用的方法和上面两种类似,这里不再赘述。
公众号后台回复关键字即可学习
回复 爬虫 爬虫三大案例实战
回复 Python 1小时破冰入门回复 数据挖掘 R语言入门及数据挖掘
回复 人工智能 三个月入门人工智能
回复 数据分析师 数据分析师成长之路
回复 机器学习 机器学习的商业应用
回复 数据科学 数据科学实战
回复 常用算法 常用数据挖掘算法