1.案例描述
已知某国从1900年至2000年每隔10年的人口数据,希望建立多项式拟合曲线模型,基于
神经网络
的时间序列预测模型和基于
神经网络
的移动平均模型,预测将来某个时间的人口数量,并就各
算法
的预测结果进行比较分析。
2. 预测
算法
原理
2.1. 基于
神经网络
的一维时间序列预测模型
在时间序列里需要设置延时值taps,所谓延时值就是将taps个参数作为输入来预测下一个输出。例如:
[1982,28.70] [28.70, 27.90, 34.30][31.00]
[1983,27.90] [27.90, 34.30, 31.00][36.75]
[1984,34.30] [34.30, 31.00, 36.75][29.67]
[1985,31.00] [31.00, 36.75, 29.67][33.69]
[1986,36.75] [36.75, 29.67, 33.69][28.78]
[1987,29.67] taps=3---> [29.67, 33.69, 28.78][31.25]
[1988,33.69] [33.69, 28.78, 31.25][31.39]
[1989,28.78]
[1990,31.25]
[1991,31.39]
上面的例子是taps=3的例子,就是用三个输入来预测一个输出,即上面中蓝色的部分作为输入来预测红色部分的一个输出。
时间序列预测就是将上面绿色部分作为一组原始样本进行转化为右面蓝色部分的最终样本来预测。例如当预测1922年时,我们输入
[28.78, 31.25,31.39]时间序列模型就会预测出下一时间点1992年的预测值。
2.2. 基于
神经网络
的移动加权平均时间序列预测模型
移动加权平均需要设置移动权值moveValue和延时值taps,移动加权平均的第一步是按照移动权值moveValue进行处理,处理的方式是按照移动权值将moveValue个值进行加和平均作为一个输入,下面的例子是当moveValue=2 的处理结果。
[1982,1] [1982.0,0.0]
[1983,2] [1983.0,1.5]
[1984,3] [1984.0,2.5]
[1985,4] [1985.0,3.5]
[1986,5] moveValue=2 [1986.0,4.5]
[1987,6] [1987.0,5.5]
[1988,7] [1988.0,6.5]
[1989,8] [1989.0,7.5]
[1990,9] [1990.0,8.5]
第二步按照taps值进行与时间序列相同的预测处理,所不同的是需要将预测结果进行还原就得到了我们预测的结果。
3.建模实现
系统基于
神经网络
通用预测平台套件实现模型训练和仿真。