作为农业大国,农业一直是我国经济发展的重要基石,而水稻作为我国主要的粮食作物,随着人口不断增长,其需求量也不断攀升,因此水稻的产量预测对我国农业的发展建设以及保障粮食安全具有重要意义。长短期记忆(LSTM)循环神经网络因其不仅能够较好地处理各因素间的非线性关系,且适合处理时间序列数据的预测问题,在作物产量预测领域应用前景良好。本文提出一种基于改进主成分分析(IPCA)的LSTM循环神经网络,对神经网络的输入进行数据降维,旨在提高神经网络训练的收敛速度,并消除输入数据间由于相关性导致的信息冗余,从而提高预测精度。<br/> As a major agricultural country, agriculture has always been an important cornerstone of our country’s economic development. As the main food crop in our country, with the continuous growth of the population, the demand for rice is also rising. Therefore, the prediction of rice production is very important for the development and construction of agriculture and guarantee of food security. Long short-term memory (LSTM) recurrent neural network has a good application prospect in the field of crop yield prediction because it can not only deal with the nonlinear relationship between various factors, but also is suitable for dealing with the prediction problem of time series data. In this paper, a LSTM recurrent neural network based on improved principal component analysis is proposed, which reduces the data dimension of the input of the neural network, aiming to improve the convergence speed of neural network and eliminate the information redundancy caused by the correlation between the input data, thereby improving prediction accuracy.
作为农业大国,农业一直是我国经济发展的重要基石,而水稻作为我国主要的粮食作物,随着人口不断增长,其需求量也不断攀升,因此水稻的产量预测对我国农业的发展建设以及保障粮食安全具有重要意义。长短期记忆(LSTM)循环神经网络因其不仅能够较好地处理各因素间的非线性关系,且适合处理时间序列数据的预测问题,在作物产量预测领域应用前景良好。本文提出一种基于改进主成分分析(IPCA)的LSTM循环神经网络,对神经网络的输入进行数据降维,旨在提高神经网络训练的收敛速度,并消除输入数据间由于相关性导致的信息冗余,从而提高预测精度。
产量预测,LSTM,主成分分析
Zifan Ni, Yunhua Zhang
School of Information, Zhejiang Sci-Tech University, Hangzhou Zhejiang
Received: Apr. 5th, 2022; accepted: Jun. 2nd, 2022; published: Jun. 10th, 2022
As a major agricultural country, agriculture has always been an important cornerstone of our country’s economic development. As the main food crop in our country, with the continuous growth of the population, the demand for rice is also rising. Therefore, the prediction of rice production is very important for the development and construction of agriculture and guarantee of food security. Long short-term memory (LSTM) recurrent neural network has a good application prospect in the field of crop yield prediction because it can not only deal with the nonlinear relationship between various factors, but also is suitable for dealing with the prediction problem of time series data. In this paper, a LSTM recurrent neural network based on improved principal component analysis is proposed, which reduces the data dimension of the input of the neural network, aiming to improve the convergence speed of neural network and eliminate the information redundancy caused by the correlation between the input data, thereby improving prediction accuracy.
Keywords:Yield Prediction, LSTM, PCA
Copyright © 2022 by author(s) and Hans Publishers Inc.
This work is licensed under the Creative Commons Attribution International License (CC BY 4.0).
http://creativecommons.org/licenses/by/4.0/
水稻是一种主要的谷类作物,随着全球人口的持续增长,对其产量的需求也随之大幅增加。我国水稻的产量占农业总产量的五分之一 [
由于受多种因素影响,使用传统方法进行水稻产量的准确预测较为困难。常规的产量预测主要包括基于统计回归原理预测、灰色理论生长模拟 [
本文采用LSTM对水稻的产量进行预测,同时提出了一种改进的主成分分析方法对神经网络模型的输入进行数据降维,去除原始数据中的噪声和冗余,同时尽可能多地保留原始输入所包含的信息,提高预测精度。
LSTM是一种特殊的循环神经网络(RNN),通过在标准RNN中引入门控单元的概念来解决标准RNN中可能存在的梯度消失问题 [
图1. LSTM循环神经网络基本结构
由图1可见LSTM的隐藏层通过增加神经元的复杂性,在前向计算中增加了遗忘门、输入门、输出门和记忆单元,以此保持和控制信息流动,一定程度上结局了梯度消失以及短时记忆的问题。
观察遗忘门的输出,可以得到公式(1):
f t = σ ( W x f x t + W h f h t − 1 + b f ) (1)
其中 W x f 表示权重,下标中的f表示这是输入到遗忘门的权重,x表示是 x t 的权重,故这是 x t 输入到遗忘门中的权重,其余权重同理, b f 表示遗忘门偏置值,因此可以得到输入门和输出门以及 c ˜ t 的输出,分别见公式(2)、公式(3)和公式(4):
i t = σ ( W x i x t + W h i h t − 1 + b i ) (2)
o t = σ ( W x o x t + W h o h t − 1 + b o ) (3)
c ˜ t = tanh ( W x c ˜ x t + W h c ˜ h t − 1 + b c ˜ ) (4)
由公式和图1不难理解,遗忘门反映的是输入x和上一层隐藏层输出h被遗忘的程度的大小;输入门反映的是输入x和当前计算的状态更新到记忆单元的程度大小;输出门反映了输入x和当前输出取决于当前记忆单元的程度大小。将这些输出通过运算可得到 C t 和 h t ,作为下一时刻的输入节点和隐藏层输入信息。计算方法见公式(5)和公式(6):
C t = C t − 1 ∗ f i + c ˜ t ∗ i t (5)
h t = o t ∗ tanh ( C t ) (6)
对于一个训练好的LSTM模型,由遗忘门、输入门、输出门和内部记忆单元共同控制LSTM模型输出h的设计可以使整个网络更好地把握序列信息之间的关系。
主成分分析是一种对数据进行降维的统计方法 [
记原始变量 y = ( Y 1 , Y 2 , Y 3 , ⋯ , Y P ) ′ ,其协方差矩阵为 Σ 。主成分分析的目的即是定义一组互不相关的变量,成为 Y 1 , Y 2 , Y 3 , ⋯ , Y P 的主成分(Principal component, PC),记为 Z 1 , Z 2 , Z 3 , ⋯ , Z P ,每一个主成分都是 Y 1 , Y 2 , Y 3 , ⋯ , Y P 的线性组合:
Z 1 = a ′ 1 y = a 11 Y 1 + a 12 Y 2 + a 13 Y 3 + ⋯ + a 1 p Y p Z 2 = a ′ 2 y = a 21 Y 1 + a 22 Y 2 + a 13 Y 3 + ⋯ + a 2 p Y p ⋮ Z p = a ′ p y = a p 1 Y 1 + a p 2 Y 2 + a p 3 Y 3 + ⋯ + a p p Y p
由于使用线性组合的方差作为指标来衡量主成分所包含的原变量信息的多少,因此问题转化为最大化每一个主成分的方差,即 var ( Z j ) = a ′ j Σ a j 最大,同时主成分之间应满足不相关性,否则达不到充分降维的目的,故需要同时保证 cov ( Z j , Z k ) = a ′ j Σ a k = 0 。
依次对每一个主成分按照方差贡献度的指标进行排序并分析可知,第一主成分 Z 1 = a ′ 1 y 的方差是最大的,即 a ′ 1 Σ a 1 最大,观察其方差的表达式不难看出如果 a 1 的长度越大,则会导致 a ′ 1 Σ a 1 也越大,但讨论方差贡献度时并不希望方差的大小是依赖 a 1 的长度的,因此加上限定条件 a ′ 1 a 1 = 1 ,则 a 1 成为一个单位向量。同理可得第二主成分 Z 2 = a ′ 2 y 需要在满足 a ′ 2 a 2 = 1 的同时最大化方差 a ′ 2 Σ a 2 ,但由于主成分之间需要满足不相关性,因此 cov ( Z 1 , Z 2 ) = a ′ 1 Σ a 2 = 0 。以此类推,第j主成分 Z j = a ′ j y 则需要满足 a ′ j a j = 1 ,且 a ′ j Σ a k = 0 ,其中 k = 1 , 2 , ⋯ , j − 1 的同时,最大化方差 a ′ j Σ a j 。
根据线性代数定理,对于任意向量 a 和 p × p 的对称矩阵 Σ ,记 ( λ j , e j ) 为 Σ 的特征对,其中 j = 1 , 2 , 3 , ⋯ , p 且 λ 1 ≥ λ 2 ≥ λ 3 ≥ ⋯ ≥ λ p ≥ 0 ,则有 ( a ′ Σ a ) / ( a ′ a ) 在 a = e 1 时取得最大值,且最大值为 λ 1 。当 a 与 e 1 , e 2 , ⋯ , e j − 1 都正交时, ( a ′ Σ a ) / ( a ′ a ) 在 a = e j 时取得最大值,且最大值为 λ j ,其中 j = 2 , 3 , ⋯ , p − 1 。
由之前的条件可知,以 a ′ 2 为例,当满足 a ′ 2 Σ a 1 = 0 时,由于 a 1 = e 1 ,故可推出 a ′ 2 λ e 1 = 0 ,即 a ′ 2 与 e 1 是垂直的,可以看出该定理可以用于解决本文的最大化方差问题。则变量 Y 1 , Y 2 , Y 3 , ⋯ , Y P 的第j个主成分公式如式(7):
Z j = e ′ j y = e j 1 Y 1 + e j 2 Y 2 + e j 3 Y 3 + ⋯ + e j p Y p , j = 1 , 2 , ⋯ , p (7)
其中 ( λ j , e j ) 为协方差矩阵 的特征对, λ 1 ≥ λ 2 ≥ λ 3 ≥ ⋯ ≥ λ p ≥ 0 且特征向量均为标准化特征向量,而且有如下性质:
var ( Z j ) = e ′ j Σ e j = λ j (8)
cov ( Z j , Z k ) = e ′ j Σ e k = 0 (9)
进一步地可以得到式(10):
∑ j = 1 p var ( Z j ) = ∑ j = 1 p var ( Y j ) (10)
由(10)式可以看出,得到的主成分可以完全描述原始变量的方差。
实际生产中,变量的方差可能会因为量纲的不同而导致部分变量方差过大或过小的问题,为了消除量纲带来的影响,可以将原始变量除以标准差,从而构造出一个新的标准化矩阵来进行主成分分析,即:
W j = ( Y j − u i ) / σ j j (11)
其中分子的作用是进行中心化。而新变量的协方差矩阵即为原始变量的相关系数矩阵,因此可以通过求原始变量的相关系数矩阵的特征值和特征向量来消除量纲的影响,达到标准化的目的。但是需要注意的是,这两种方法分析得到的两组主成分的数值和方向是没有关系的,二者之间并不能通过简单的线性变换进行转化。
特征与特征之间的影响程度可以由特征间的相关系数来刻画,而特征的变异程度则由变异系数(Coefficient of Variation, CV)来刻画,变异系数计算方式如公式(12)所示,其中分子为标准差,分母为平均值:
CV = σ μ (12)
如公式(11)所示的标准化过程虽然可以消除量纲对方差带来的影响,但经过标准化后的变量计算是基于原始变量的相关系数矩阵来进行的,观察相关系数矩阵可以发现其对角线元素都是1,即标准化使得变量的方差都变成了1,也就忽略了特征本身的变异程度,从而不能完整刻画原始变量的全部信息。
为了解决上述问题,采用如公式(13)所示的标准化方法:
y i j = x i j x j ¯ (13)
其中 x i j 为原始变量n × p矩阵中的元素, y i j 为标准化后的矩阵中的元素, x j ¯ 为原始变量矩阵第j列的均值,即第j个特征的均值,计算方法如公式(14)所示:
x j = 1 n ∑ k = 1 n x k j (14)
设标准化后的矩阵的协方差矩阵为 C = ( c i j ) n × p ,其计算方法如公式(15)所示:
c i j = 1 n ∑ k = 1 n ( y k i − y i ¯ ) ( y k j − y j ¯ ) (15)
由公式(13)和公式(14)易推得标准化后的矩阵中每个特征的均值都为1,即 y i ¯ = 1 ,可得:
c i j = 1 n ∑ k = 1 n ( x k i x i ¯ − 1 ) ( x k j x j ¯ − 1 ) (16)
化简式(16)可得:
c i j = 1 n ∑ k = 1 n ( x k i − x i ¯ ) ( x k j − x j ¯ ) x i ¯ ⋅ x j ¯ (17)
不难看出式(17)中分子为原始变量的协方差矩阵中的元素,特别地,矩阵C的对角线元素为原始变量的变异系数的平方,因此该标准化没有丢失变量变异程度的信息。同时观察标准化后矩阵的相关系数,设原始变量的相关系数为 ρ i j ,经过标准化后为 r i j , s i j 为原始变量协方差矩阵中的元素:
r i j = c i j c i i ⋅ c j j (18)
由式(17)可知 c i j = s i j x i ¯ ⋅ x j ¯ ,代入式(18)并化简,得到公式(19)如下:
r i j = s i j s i i ⋅ s j j (19)
而 s i j s i i ⋅ s j j = ρ i j ,因此该标准化也不会丢失原始变量的相关系数信息,综上所述,该标准化方法可以更完整地刻画原始变量的信息。
对原始数据的输入进行主成分分析,将输入数据降维后作为LSTM的输入节点,模型结构如图2所示。其中 X 1 , X 2 , ⋯ , X 7 为原始输入变量,经过主成分分析后降维为两个变量,即PC1和PC2,再以这两个主成分作为神经网络的输入节点进行预测并输出产量(Yield)。
图2. 基于主成分分析的LSTM结构
首先计算数据集的KMO (Kaiser-Meyer-Olkin)检验值和Bartlett球形检验值,以判断该数据集是否适合进行主成分分析。KMO值大于0.5且越接近1时就越适合进行主成分分析。Bartlett球形检验值小于显著水平0.05或者0.01时适合进行主成分分析。
在本文提出的改进主成分分析中,先将数据进行标准化后使用其协方差矩阵的特征值作为指标来选取主成分,选取主成分一般遵循以下原则:特征值大于1;累计方差贡献率大于85%。
根据Kolmogorov定理,含有输入层、隐含层和输出层的三层神经网络可以精确表征任意一个连续函数 [
参数 | 值 |
---|---|
学习率 | 0.01 |
Batch-size | 8 |
交叉检验数据比例 | 0.3 |
BP隐藏层节点数 | 8 |
LSTM隐藏层节点数 | 64 |
迭代次数 | 500 |
表1. 参数设置
由最终确定的节点个数可以看出,BP神经网络的最优节点数显著小于LSTM的最优节点数,原因在于过于复杂的网络拓扑结构虽然可以提高拟合的精度,但也可能导致这两种神经网络的过拟合问题,而过拟合问题对于BP神经网络而言较为突出,LSTM因其本身独特的门控结构使得其的权重更新不会受到所有数据的影响,而是可以选择记住或者遗忘前时刻的特征,因此一定程度上降低了产生过拟合的可能性 [
为了验证模型的有效性,本文使用的某地水稻产量数据集中原始变量包含降雨量(Precipitation)、最低温度(Minimum Temperature)、平均温度(Mean Temperature)、最高温度(Maximum Temperature)、相关作物需水量(Reference Crop Evapotranspiration)、种植面积(Area)和总产量(Production)。
由表2数据可知,该数据集KMO > 0且Sig < 0.01,因此变量之间相关性较高,存在信息重叠,故可以进行主成分分析。
KMO检验值 | 巴特利特球形检验值(Sig) |
---|---|
0.676 | 0.000 |
表2. KMO和巴特利特球形检验
将数据集按改进的标准化方法处理后计算其协方差矩阵及其特征值来进行主成分的选取,计算结果如表3所示。
成分 | 方差 | 初始方差贡献率/% | 累计方差贡献率/% |
---|---|---|---|
1 | 3.991 | 57.019 | 57.019 |
2 | 2.282 | 32.606 | 89.625 |
3 | 0.491 | 7.009 | 96.634 |
4 | 0.112 | 1.569 | 98.229 |
5 | 0.080 | 1.139 | 99.369 |
6 | 0.030 | 0.423 | 99.791 |
7 | 0.015 | 0.209 | 100.000 |
表3. 方差贡献率
根据选取主成分的原则可知,该数据集应选取的主成分个数为2,设第一主成分为F1,第二主成分为F2,其成分矩阵如表4所示。
原始变量 | 第一主成分F1 | 第二主成分F2 |
---|---|---|
Precipitation (X1) | −0.781 | 0.490 |
Minimum Temperature (X2) | 0.796 | 0.325 |
Mean Temperature (X3) | 0.949 | 0.157 |
Maximum Temperature (X4) | 0.991 | 0.023 |
Reference Crop Evapotranspiration (X5) | 0.925 | −0.192 |
Area (X6) | 0.058 | 0.973 |
Production (X7) | 0.076 | 0.963 |
表4. 成分矩阵
由表4中主成分系数可得主成分表达式如(20)式和(21)式所示。
F 1 = − 0.781 X 1 + 0.796 X 2 + 0.949 X 3 + 0.991 X 4 + 0.925 X 5 + 0.058 X 6 + 0.076 X 7 (20)
F 2 = 0.490 X 1 + 0.325 X 2 + 0.1573 1 + 0.023 X 4 − 0.192 X 5 + 0.973 X 6 + 0.963 X 7 (21)
根据(12)式和(13)式计算主成分F1和F2,则将原变量由7维降到了2维。
通过在相同数据集上对比标准BP神经网络的预测效果和经过改进主成分分析后的LSTM神经网络(IPCA-LSTM)预测效果,以验证本文模型的有效性。评价指标采用均方根误差(RMSE)和平均绝对百分比误差(MAPE),计算结果见公式(22)和公式(23),其中 h ( x i ) 为预测值, y i 为观测值。图3和图4分别为BP神经网络和PCA-LSTM在训练集上随着迭代次数增加的损失(Loss)变化情况,横坐标为迭代次数,纵坐标为损失。实验结果如表5所示。
RMSE ( X , h ) = 1 n ∑ i = 1 n ( h ( x i ) − y i ) 2 (22)
MAPE ( X , h ) = 100 % × 1 n ∑ i = 1 n | h ( x i ) − y i | (23)
图3. BP神经网络训练模型损失
图4. IPCA-LSTM训练模型损失
指标 | RMSE | MAPE/% |
---|---|---|
BP | 0.0542 | 3.57 |
PCA-LSTM | 0.0261 | 1.26 |
表5. 不同模型在数据集上的结果
从实验结果不难看出,本文提出的基于改进主成分分析的LSTM神经网络模型相较于仅使用BP神经网络的模型具有更高的预测精度,误差更小且模型训练收敛更快。
本文针对作物产量预测研究中数据维度高和包含时间序列信息的问题,提出了基于改进主成分分析的LSTM神经网络预测模型,在能够处理复杂输入变量之间的非线性关系的同时,可以有效降低原始输入变量的维度,消除其冗余性,提高模型训练时的收敛速度,提高预测精度,应用前景良好。
倪子凡,张云华. 基于改进主成分分析的LSTM水稻产量预测模型研究Research on LSTM Rice Yield Prediction Model Based on Improved Principal Component Analysis[J]. 软件工程与应用, 2022, 11(03): 456-465. https://doi.org/10.12677/SEA.2022.113048