秦皇岛开发区建设局网站,修改网站模板详解,大学生网页设计个人主页,页面设计培训学校本文主要内容是使用LSTM网络进行不同类型的时间序列预测任务#xff0c;不涉及代码#xff0c;仅仅就不同类型的预测任务和数据划分进行说明。 参考文章#xff1a;https://machinelearningmastery.com/how-to-develop-lstm-models-for-time-series-forecasting/ 注#xf… 本文主要内容是使用LSTM网络进行不同类型的时间序列预测任务不涉及代码仅仅就不同类型的预测任务和数据划分进行说明。 参考文章https://machinelearningmastery.com/how-to-develop-lstm-models-for-time-series-forecasting/ 注所涉及的概念在数据案例会说明
时间序列数据预测本质就是利用先前的值预测后面的值在得到一组数据后需要将数据处理为一个个样本每个样本中包括先前的数据和要预测的数据将其作为训练集
1 单变量时间序列数据预测
单变量时间序列数据指的是除了时间属性数据只有单一属性的一组数据比如2010一年间黄金的价格按天统计也就是一天一个数据。数据中只有价格这一个属性共365个数据。 同时单变量也是指数据只有一个序列一个变量也就是一个特征feature。
1.1 单步预测
单步预测中的单步是指一个时间步长time step比如上述黄金价格数据中每一天就是一个时间步长即在时间序列数据中每获取一次数据就是一个时间步。
单步预测就是仅仅预测一个时间步长的数据。
单变量时间序列数据的单步预测单变量单步预测Univariate Step利于前边几个时间步长的数据预测下一个时间步长的数据
数据处理
数据集dateset
[10, 20, 30, 40, 50, 60, 70, 80, 90]上面的少量数据中只是单一属性的一组数据。在进行预测前要将数据处理为样本假设使用3个时间步长的数据预测下一个时间步长的数据样本结构如下 以下数据共有6个样本每个样本中都是前三个时间步长的数据为一组作为输入下一个时间步长的数据为另一组作为输出。
[10 20 30] 40
[20 30 40] 50
[30 40 50] 60
[40 50 60] 70
[50 60 70] 80
[60 70 80] 90即输入 输出
[[10, 20, 30], [40,
[20, 30, 40]. 50,
…… ] ]使用这样的数据训练一个模型后我们就可以使用前连续三个时间步长的数据预测下一个时间步长的数据。
最后我们在看一下样本中输入数据和输出数据的维度 输入两个维度样本总数、用于预测的时间步长这里分别是6、3 输出一个维度样本数量这里是6
1.2 多步预测
单变量时间序列数据的多步预测单变量多步预测Univariate Multi-Step利于前边几个时间步长的数据预测下面多个时间步长的数据。
本例使用3个时间步长的数据预测后2个时间步长的数据
数据处理
数据集dateset
[10, 20, 30, 40, 50, 60, 70, 80, 90]样本结构如下 以下数据共有6个样本每个样本中都是前三个时间步长的数据为一组作为输入后两个时间步长的数据为另一组作为输出。
[10 20 30] [40 50]
[20 30 40] [50 60]
[30 40 50] [60 70]
[40 50 60] [70 80]
[50 60 70] [80 90]即输入 输出
[[10, 20, 30], [[40,50],
[20, 30, 40], [50,60],
……] …… ]说明后面的输入输出也都是这样分析只是不再表明输入输出和完整的数组结构。使用这样的数据训练一个模型后我们就可以使用前连续三个时间步长的数据预测下一个时间步长的数据。
使用这样的数据训练一个模型后我们就可以使用前连续三个时间步长的数据预测下一个时间步长的数据。
输入数据和输出数据的维度 输入两个维度样本总数、用于预测的时间步长这里分别是6、3 输出两个维度样本数据、预测的时间步长这里分别是6、2
2 多变量时间序列数据预测
多变量时间序列数据是指除了时间属性外还有多个属性或者说特征的一组数据。
2.1 单步预测
2.1.1 多变量预测
多时间变量数据的单步预测多变量单步预测Multivariate Input Series利用前面的多个时间步的部分属性数据预测下一个时间步的某个属性数据与单变量不同这里每个时间步都有多个数据。以上边电耗数据为例。一种预测方式是使用三个时间步的平均电流、平均电压的数据预测一个时间步平均功率。
数据集处理
[[ 10 15 25][ 20 25 45][ 30 35 65][ 40 45 85][ 50 55 105][ 60 65 125][ 70 75 145][ 80 85 165][ 90 95 185]]划分样本 以下数据共有6个样本每个样本中都是前三个时间步长的数据是平均电流和平均电压作为输入后一个时间步长的平均功率作为输出。
[[10 15][20 25][30 35]] 65
[[20 25][30 35][40 45]] 85
[[30 35][40 45][50 55]] 105
[[40 45][50 55][60 65]] 125
[[50 55][60 65][70 75]] 145
[[60 65][70 75][80 85]] 165
[[70 75][80 85][90 95]] 185使用这样的方式可以利用前三个时间步的电流、电压数据预测当前功率只给电流、电压信息。
输入数据和输出数据的维度 输入三个维度样本总数、用于预测的时间步长、用于预测的特征数这里分别是6、3、2 输出两个维度样本数据、预测的特征数这里分别是6、1
2.1.2 并行预测 全变量预测
多变量时间序列数据单步并行预测多变量单步并行预测Multivariate Multi-Step Parallel Series使用前面几个时间步的所有属性数据预测下一个时间步的所有属性数据。以上面的电耗数据为例使用前3个时间步的平均电流、平均电压、平均功率预测下一个时间的平均电流、平均电压、平均功率。
数据集
[[ 10 15 25][ 20 25 45][ 30 35 65][ 40 45 85][ 50 55 105][ 60 65 125][ 70 75 145][ 80 85 165][ 90 95 185]]样本处理
[[10 15 25][20 25 45][30 35 65]] [40 45 85]
[[20 25 45][30 35 65][40 45 85]] [ 50 55 105]
[[ 30 35 65][ 40 45 85][ 50 55 105]] [ 60 65 125]
[[ 40 45 85][ 50 55 105][ 60 65 125]] [ 70 75 145]
[[ 50 55 105][ 60 65 125][ 70 75 145]] [ 80 85 165]
[[ 60 65 125][ 70 75 145][ 80 85 165]] [ 90 95 185]使用这样的方式可以利用前三个时间步的电流、电压、功率数据预测时预测后面1个时间步长的电流、电压、功率。
输入数据和输出数据的维度 输入三个维度样本总数、用于预测的时间步长、用于预测的特征数这里分别是6、3、3 输出两个维度样本数据、预测的特征数这里分别是6、3
2.2 多步预测
2.2.1 多变量预测
多时间变量数据的多步预测多变量多步预测Multiple Input Multi-Step Output利用前面的多个时间步的部分属性数据预测后面多个时间步的某个属性数据。以上面的电耗数据为例一中预测方式是使用前3个时间步的平均电流、平均电压预测后面2个时间步长的平均功率。 数据集
[[ 10 15 25][ 20 25 45][ 30 35 65][ 40 45 85][ 50 55 105][ 60 65 125][ 70 75 145][ 80 85 165][ 90 95 185]]样本处理
[[10 15][20 25][30 35]] [65 85]
[[20 25][30 35][40 45]] [ 85 105]
[[30 35][40 45][50 55]] [105 125]
[[40 45][50 55][60 65]] [125 145]
[[50 55][60 65][70 75]] [145 165]
[[60 65][70 75][80 85]] [165 185]使用这样的方式可以利用前三个时间步的电流、电压数据预测时预测后面2个时间步长的平均功率。
输入数据和输出数据的维度 输入三个维度样本总数、用于预测的时间步长、用于预测的特征数这里分别是6、3、2 输出两个维度样本数据、预测的时间步长这里分别是6、2
2.2.2 并行预测 全变量预测
多变量时间序列数据的多步并行预测多变量多步并行预测Multiple Parallel Input and Multi-Step Output使用前面几个时间步的所有属性数据预测下一个时间步的所有属性数据。以上面的电耗数据为例使用前3个时间步的平均电流、平均电压、平均功率预测后面多个时间的平均电流、平均电压、平均功率。
数据集
[[ 10 15 25][ 20 25 45][ 30 35 65][ 40 45 85][ 50 55 105][ 60 65 125][ 70 75 145][ 80 85 165][ 90 95 185]]样本处理
(5, 3, 3) (5, 2, 3)[[10 15 25][20 25 45][30 35 65]] [[ 40 45 85][ 50 55 105]]
[[20 25 45][30 35 65][40 45 85]] [[ 50 55 105][ 60 65 125]]
[[ 30 35 65][ 40 45 85][ 50 55 105]] [[ 60 65 125][ 70 75 145]]
[[ 40 45 85][ 50 55 105][ 60 65 125]] [[ 70 75 145][ 80 85 165]]
[[ 50 55 105][ 60 65 125][ 70 75 145]] [[ 80 85 165][ 90 95 185]]使用这样的方式可以利用前三个时间步的电流、电压、功率数据预测时预测后面2个时间步长的电流、电压、功率。
输入数据和输出数据的维度 输入三个维度样本总数、用于预测的时间步长、用于预测的特征数这里分别是6、3、2 输出三个维度样本数据、预测的时间步长、预测的特征数这里分别是6、2、3