查谟地区小麦、水稻和玉米产量预测研究
1 数据概述
1.1 数据变量
本次研究收集了查谟地区的气象和农业数据,涵盖了多种变量。具体数据变量及相关信息如下表所示:
| 变量名称 | 全称 | 单位 | 取值范围 |
| — | — | — | — |
| Max (T), Min (T) | 最高和最低温度 | °C | Max(T) -6.5 至 44.8
Min(T) -0.4 至 37.2 |
| RH(M), RH(E) | 相对湿度(早晚) | % | RH(M) -0.4 至 29.1
RH(E) -0.4 至 95.0 |
| SR | 太阳辐射 | MJ/day | 3.3 至 64.9 |
| RF | 降雨量 | mm | 0 至 25.3 |
| BSSH | 基本日照时长 | Hrs | 0 至 12.4 |
| Yield | 产量 | Qtls/ha | 小麦:28.50 至 30.8
玉米:21.46 至 30.06
水稻:13.0 至 5.7 |
这些数据以 1 天为积累周期进行记录。
1.2 数据特征分析
为了深入了解气象变量的性质,对其分布、离散程度和偏度等进行了分析。以小麦作物在 2009 - 2019 年期间的数据为例,通过分析发现:
- RF(降雨量)数据的标准差最大,表明其数值的离散程度比其他参数更高。
- BSSH(基本日照时长)在过去十年中呈现出较为均匀的数值分布。
- RF 的偏度为正值,这意味着过去十年中降雨量高于平均水平的情况有所增加。
- 产量的负偏度则显示出随着时间推移,作物的生产力呈下降趋势。
2 机器学习模型方法
2.1 长短期记忆网络(LSTM)
LSTM 通过以下方式工作:
- 在不影响精度的情况下截断梯度下降。
- 多个门(输入和输出)学习控制误差流的访问。每个记忆单元围绕一个具有固定自连接的中央线性单元构建。其公式如下:
- (y_{j}^{out}(t) = F_{out_j}(net_{out_j}(t)))
- (y_{j}^{in}(t) = F_{in_j}(net_{in_j}(t)))
2.2 双向长短期记忆网络(Bi - LSTM)
双向循环神经网络(BRNNs)的原理是将每个训练序列分别正向和反向输入到两个独立的循环网络中,这两个网络连接到同一个输出层。这使得对于给定序列中的每个点,BRNN 都能获得该点前后所有点的完整顺序信息。
2.3 门控循环单元(GRU)
GRU 是一种具有隐藏单元的循环网络,它将长短期记忆结合到隐藏单元中。新的激活函数在通常的逻辑有符号函数基础上增加了两个门控单元,即重置门(r 门)和更新门(z 门),与 LSTM 单元类似。公式为:
(h_{j}(t) = w_{c}h_{j}(t) + w_{l}h_{j - 1}(t - 1) + w_{r}h_{j - 1}(t - 1) + w_{r}h_{j}(t - 1))
其中,(w_{c})、(w_{l}) 和 (w_{r}) 是门控值,且它们的和为 1。
2.4 支持向量回归(SVR)
SVR 的训练算法通过最大化训练示例和决策边界之间的间隔,自动调整回归函数的容量。对于未知函数 (G(x))(真实值),它是向量 (x)(输入空间)的函数。向量 (x = [x_1, x_2, \cdots, x_d]) 有 (d) 个分量,(d) 称为输入空间的维度。(F(x, w)) 是由 (w) 参数化的函数族,(\hat{w}) 是使 (G(x)) 和 (F(x, \hat{w})) 之间误差度量最小化的 (w) 值。目标是通过观察 (N) 个训练实例来估计 (\hat{w})。输入空间中的二次函数为:
(F = \sum_{i = d - 1}^{p + d - 1} C_{d - 1}^{i})
其中,(C_{k}^{n} = \frac{n!}{k!(n - k)!})
2.5 随机森林回归器(RFR)
随机森林回归是通过根据随机向量生长树来形成的,树预测器取数值而非类别标签。输出值是数值,假设训练集是从随机向量 (Y, X) 的分布中独立抽取的。任何数值预测器 (h(x)) 的均方泛化误差为:
(E_{X,Y}[(Y - h(X))^2])
随机森林预测器是通过对 (k) 棵树的结果取平均值形成的。
2.6 Adaboost
Adaboost 基于提升原理,采用抽样框架进行工作。该框架适用于分析“批量”学习,即使用存储在计算机内存中的固定训练集进行学习。从 (X \times Y) 中根据分布 (P) 随机抽取 (N) 个训练示例(标记实例)((x_1, y_1), \cdots, (x_N, y_N)),将该分布输入到弱学习器中,生成一个关于该分布误差较小的假设 (h_t)。
2.7 性能指标
为了评估模型性能,采用了以下三个指标:
- 均方根误差(RMSE):
(RMSE = \sqrt{\frac{1}{n} \sum_{i = 1}^{n} (y_{i}^{\hat{}} - y_{i})^2})
- 平均绝对误差(MAE):
(MAE = \frac{1}{N} \sum_{i = 1}^{N} |y_{i} - y_{i}^{\hat{}}|)
- 平均绝对百分比误差(MAPE):
(MAPE = \frac{100\%}{n} \sum_{i = 1}^{n} |\frac{y_{i} - y_{i}^{\hat{}}}{y_{i}^{\hat{}}}| )
其中,(y_{i}) 为预测值,(y_{i}^{\hat{}}) 为实际值。
3 实验设计与结果
3.1 探索性数据分析(统计建模)
为了理解气象变量的分布、离散程度和偏度等性质,对六个气象变量在研究时间段内的行为进行了分析。以下是 mermaid 格式的流程图,展示了数据特征分析的过程:
graph LR
A[收集气象数据] --> B[分析数据分布]
B --> C[计算标准差]
B --> D[计算偏度]
C --> E[判断数据离散程度]
D --> F[判断数据偏态情况]
通过分析发现,RF 数据的标准差最高,表明其值的分布比其他参数更分散;而 BSSH 在过去十年中显示出均匀的分布。RF 的正偏度表明过去十年降雨量高于平均水平的情况增加,而产量的负偏度则表明作物生产力逐年下降。
3.2 作物特定的机器学习预测模型开发
使用 TensorFlow 开源库在 Python 中对上述回归模型进行训练,基于农业和气候统计数据。实验设置中,每个作物的数据集根据播种到收获的时间窗口进行整理。
以下是不同模型在小麦、水稻和玉米三种作物上的性能指标对比表:
| ML 模型 | RMSE(训练) | RMSE(测试) | MAE(训练) | MAE(测试) | SMAPE(训练) | SMAPE(测试) |
| — | — | — | — | — | — | — |
|
小麦
| | | | | | |
| LSTM | 0.32 | 0.34 | 0.21 | 0.23 | 40.31 | 0.45 |
| Bi - LSTM | 0.32 | 0.34 | 0.21 | 0.23 | 40.46 | 45.59 |
| GRU | 0.32 | 0.34 | 0.21 | 0.23 | 40.36 | 45.57 |
| DNN | 0.31 | 0.33 | 0.21 | 0.23 | 45.00 | 50.14 |
| SVR | 0.33 | 0.36 | 0.24 | 0.27 | 46.31 | 54.05 |
| RFR | 7.03 | 41.00 | 5.03 | 36.00 | 20.40 | 185.00 |
|
水稻
| | | | | | |
| LSTM | 0.24 | 0.24 | 0.16 | 0.15 | 32.5 | 33.23 |
| Bi - LSTM | 0.28 | 0.26 | 0.18 | 0.17 | 61.7 | 62.3 |
| GRU | 0.28 | 0.26 | 0.19 | 0.17 | 62.0 | 63 |
| DNN | 0.24 | 0.24 | 0.17 | 0.16 | 34 | 35.07 |
| SVR | 0.33 | 0.36 | 0.24 | 0.27 | 46.31 | 54.05 |
| RFR | 7.03 | 18.51 | | | | |
|
玉米
| | | | | | |
| LSTM | 0.26 | 0.19 | 0.17 | 62.0 | 0.34 | 0.23 |
| Bi - LSTM | 0.24 | 0.17 | 0.16 | 34 | 0.34 | 0.23 |
| GRU | 0.36 | 0.24 | 0.27 | 46.31 | 0.34 | 0.23 |
| DNN | 0.26 | 0.19 | 0.17 | 62.0 | 0.33 | 0.23 |
从这些结果可以看出,深度神经网络在不同程度上优于其他模型。
3.3 结果讨论
由于研究具有多作物、多算法的特点,并使用多种性能指标进行评估,因此从以下两个方面对模型执行性能进行分析:
3.3.1 基于性能指标的分析
根据每个指标对每种谷物作物的机器学习模型性能进行排名。例如,MLP 在小麦和玉米的 RMSE 指标上表现较好,RMSE 为 0.24。RMSE 对异常数据点的错误预测进行了严重惩罚,而 MLP 对输入数据中的噪声和异常值具有鲁棒性,这解释了它在 RMSE 原则下的良好性能。其次,LSTM、GRU 和 Bi - LSTM 等基于时间序列的深度学习模型的 RMSE 值分别为 0.24、0.28 和 0.28。在传统机器学习模型中,SVR 在玉米产量预测中表现较好,而 RFR 和 Adaboost 等集成技术在所有谷物作物的预测任务中表现不佳。
MAE 基于实际和预测产量值之间的平均绝对误差原则工作,它不像 RMSE 那样强调和惩罚异常数据点的大误差预测。因此,MLP 对异常数据点不敏感的能力在 MAE 指标中没有体现。对于所有作物,LSTM、GRU 和 Bi - LSTM 表现良好,其次是 MLP 和 SVR。
SMAPE 捕获相对于实际值的误差,适用于具有非零范围值的平衡数据集,并且倾向于对负误差的惩罚比正误差更多。因此,基于深度学习的时间序列机器学习模型的排名高于 MLP 和传统模型。
3.3.2 作物特定的分析
通过多准则决策(MCDM)技术对算法的作物特定性能进行分析。MCDM 根据 RMSE、MAE 和 SMAPE 标准评估机器学习模型的性能,从而提供对模型性能的平衡分析。一般步骤包括归一化、权重分配和相应标准的求和。
以下是小麦作物基于 MCDM 技术的模型排名表:
| 模型 | RMSE(归一化) | MAE(归一化) | SMAPE(归一化) | 归一化值加权和 |
| — | — | — | — | — |
| LSTM | 0.95 | 0.85 | 0.830 | 2.63 |
| Bi - LSTM | 0.94 | 0.85 | 0.830 | 2.62 |
| GRU | 0.94 | 0.85 | 0.830 | 2.62 |
| DNN | 0.916 | 0.85 | 0.920 | 2.68 |
| SVR | 1 | 1 | 1 | 3 |
| 排名 | 算法 |
|---|---|
| 1 | Bi - LSTM 和 GRU |
| 2 | LSTM |
| 3 | DNN |
| 4 | SVR |
水稻和玉米的算法排名也表明,基于序列的深度学习模型(如 Bi - LSTM、LSTM 和 GRU)优于传统机器学习技术。MCDM 指出这些模型具有非偏态和实时可部署的预测能力,特别是 Bi - LSTM 在所有三种作物中表现出色,因为它能够从两个方向对序列依赖关系进行建模。
4 结论
通过使用十年的气象数据,以 1 天为时间分辨率,对 LSTM、GRU、双向 LSTM 等基于时间序列的深度神经网络模型以及集成学习器进行了评估,以预测查谟地区小麦、水稻和玉米的产量。结果表明,LSTM 表现最佳,具有最低的 MAE、RMSE 和 MAPE,其次是双向 LSTM、非循环 DNN 和 SVR。集成技术的表现不显著。
由于作物产量依赖于复杂的气候生态系统,未来的研究方向可以是将因果机制与机器学习技术相结合,以提高对气候变化带来的不可预见天气条件下的预测能力。
5 各模型详细表现分析
5.1 小麦作物模型表现
以下 mermaid 格式流程图展示了小麦作物各模型评估流程:
graph LR
A[准备小麦数据] --> B[训练各模型]
B --> C[评估 RMSE]
B --> D[评估 MAE]
B --> E[评估 SMAPE]
C --> F[根据 RMSE 排名]
D --> G[根据 MAE 排名]
E --> H[根据 SMAPE 排名]
从前面表格数据可知,在小麦作物上,LSTM、Bi - LSTM 和 GRU 的 RMSE 和 MAE 表现相近。这是因为它们都属于基于时间序列的深度学习模型,能够捕捉气象数据随时间的变化规律。DNN 虽然是非序列的神经网络,但在 RMSE 和 MAE 上也与前三者表现相当,说明其在处理小麦产量预测问题时也有一定的能力。
而 RFR 在小麦作物上表现极差,RMSE 和 MAE 值远高于其他模型。这可能是因为 RFR 更适合处理较大规模的数据集,当前数据集规模可能无法让其充分发挥优势,并且它难以捕捉数据中的趋势,导致预测效果不佳。
5.2 水稻作物模型表现
| 排名 | 算法 | RMSE | MAE | SMAPE |
|---|---|---|---|---|
| 1 | LSTM | 0.24 | 0.16 | 32.5 |
| 2 | Bi - LSTM 和 GRU | 0.28(Bi - LSTM)/ 0.28(GRU) | 0.18(Bi - LSTM)/ 0.19(GRU) | 61.7(Bi - LSTM)/ 62.0(GRU) |
| 3 | DNN | 0.24 | 0.17 | 34 |
| 4 | SVR | 0.33 | 0.24 | 46.31 |
在水稻作物上,LSTM 在各项指标上都表现出色,尤其是在 RMSE 和 MAE 上数值较低。这表明 LSTM 能够较好地学习水稻生长过程中气象因素与产量之间的关系。Bi - LSTM 和 GRU 虽然在某些指标上稍逊于 LSTM,但也明显优于传统的 SVR 模型。这体现了基于序列的深度学习模型在处理水稻产量预测问题上的优势。
5.3 玉米作物模型表现
| 排名 | 算法 | RMSE | MAE | SMAPE |
|---|---|---|---|---|
| 1 | Bi - LSTM | 0.24 | 0.16 | 34 |
| 2 | LSTM | 0.26 | 0.17 | 62.0 |
| 3 | DNN | 0.26 | 0.17 | 62.0 |
| 4 | SVR | 0.33 | 0.24 | 46.31 |
| 5 | GRU | 0.36 | 0.27 | 46.31 |
在玉米作物上,Bi - LSTM 表现最佳。它能够从两个方向对玉米生长过程中的序列依赖关系进行建模,从而更准确地预测玉米产量。LSTM 和 DNN 表现相近,而 GRU 在 RMSE 和 MAE 上相对较差。SVR 在玉米产量预测中的表现也不如基于序列的深度学习模型。
6 模型选择建议
6.1 考虑数据特点
- 如果数据具有明显的时间序列特征,如气象数据随时间的变化,建议优先选择基于时间序列的深度学习模型,如 LSTM、Bi - LSTM 和 GRU。这些模型能够捕捉数据中的时间依赖关系,从而更准确地进行预测。
- 如果数据规模较小,传统的机器学习模型如 SVR 可能是一个不错的选择。SVR 在处理小规模数据时能够通过调整回归函数的容量来进行有效的预测。
6.2 考虑性能指标需求
- 如果更关注对异常值的处理,希望模型对异常数据点的错误预测进行惩罚,那么 RMSE 是一个重要的指标,MLP 和基于时间序列的深度学习模型可能更适合。
- 如果希望模型对所有数据点的误差进行平均衡量,不特别强调异常值的影响,MAE 是合适的指标,LSTM、GRU 和 Bi - LSTM 等模型在这方面表现较好。
- 如果需要考虑预测值与实际值的相对误差,并且数据集具有非零范围值的平衡特性,SMAPE 是一个重要的指标,基于深度学习的时间序列模型在 SMAPE 指标下排名较高。
6.3 综合考虑
在实际应用中,建议综合考虑数据特点、性能指标需求以及模型的计算复杂度等因素。可以通过交叉验证等方法对多个模型进行评估,选择最适合的模型进行作物产量预测。以下是选择模型的步骤列表:
1. 分析数据的时间序列特征和规模大小。
2. 确定关注的性能指标,如 RMSE、MAE 或 SMAPE。
3. 根据数据特点和性能指标需求,初步筛选出合适的模型。
4. 使用交叉验证等方法对筛选出的模型进行评估。
5. 根据评估结果,选择性能最佳的模型进行实际应用。
7 总结与展望
本次研究对查谟地区小麦、水稻和玉米的产量进行了预测,使用了多种机器学习模型。结果表明,基于时间序列的深度学习模型在作物产量预测中表现出色,尤其是 LSTM 和 Bi - LSTM。而传统的机器学习模型如 SVR 在某些情况下也有一定的应用价值,但集成技术 RFR 和 Adaboost 在本次研究中表现不佳。
未来,为了提高作物产量预测的准确性和可靠性,可以进一步探索以下方向:
- 结合更多的数据源,如土壤质量数据、作物生长阶段数据等,以更全面地考虑影响作物产量的因素。
- 深入研究因果机制,将其与机器学习技术相结合,提高模型对气候变化等不可预见因素的适应能力。
- 优化模型结构和参数,提高模型的计算效率和预测精度。
通过不断的研究和改进,有望为农业生产提供更准确的产量预测,帮助农民制定更合理的种植计划,提高农业生产的效益。
超级会员免费看
662

被折叠的 条评论
为什么被折叠?



