-
森林火灾是一种危害极大的自然灾害,它以突发性强、破坏性大、难以处置为特点,对人类的生产生活产生严重影响。在我国,每年森林火灾平均发生一万多次,森林被烧毁的面积达到上百万公顷。森林火灾不仅损失大量林木,并且会破坏森林生态系统平衡,对森林环境造成不可逆的伤害。因此如果能够对森林火灾的发生做出预测,及时地进行预警,能够极大地预防或避免森林火灾的发生。
在森林防火预测研究中,离不开数据挖掘。Spark十分擅长处理机器学习方面的问题。在使用Spark框架时,可以将迭代计算这种对I/O和CPU消耗巨大的计算操作放进内存运行极大地提高了计算效率。MLlib是Spark框架的一部分,是分布式机器学习库。MLlib和Spark中的Spark SQL、Spark Streaming、Graph X等其他Spark子框架可以进行无缝的数据共享和相互操作[1-2],方便构建机器学习在线训练模型,在森林防火预测研究中的数据挖掘起着至关重要的作用。决策树算法是一种经典的机器学习算法,由决策树算法衍生了数量繁多的成熟系统,这些系统已在语音识别、模式识别、医疗诊断等领域得到了广泛的应用,并且在森林防火预测分类研究中也越来越受到重视。
加拿大森林火险气候指数系统(以下简称FWI系统)指标体系以大量点火试验、天气资料以及火灾资料为基础,以时滞平衡含水率理论为理论基础,把气象条件、地理位置、日照时数与可燃物含水率有机结合了起来,是全球最常用的火灾天气危险等级指数系统之一。作为全球最常用的火灾天气等级系统,其应用和研究区域较为广泛,包括在北美、南美、欧洲、非洲、亚洲等主要国家和地区都有对应研究。FWI系统在20世纪80年代首次引入我国后,一系列研究表明,FWI系统适合在云南、黑龙江、内蒙古自治区、吉林、四川、新疆和山西应用[3]。
通过对阿尔及利亚部分地区的火灾发生情况和监测的气象数据,基于Spark MLlib使用机器学习算法,对气象数据进行数据挖掘,以实现对森林火灾的预测分类。阿尔及利亚位于非洲北部,也是FWI系统的覆盖国家之一,其北部地区为地中海气候,冬季温和多雨,夏季炎热干燥,降雨量相对较少。阿尔及利亚是受世界上森林火灾影响较大的国家之一,火灾发生时段主要集中在夏季,特别是在每日的中午到下午4时这个区间。根据相关记录显示,除人为因素外,在阿尔及利亚分布较广的阿尔法草等植被被认为是高度易燃的物种,尤其是在湿度几乎为零的旱季,它们促进了火灾的快速蔓延。2008至2017年间,超过320409 hm2的森林被烧毁,火灾超过31513起。2012年,阿尔及利亚记录了超过5110起火灾和烧毁面积达到了99 061 hm2 [4-5]。
基于Spark MLlib机器学习框架,对阿尔及利亚北部两地区森林气象监测数据使用决策树模型进行训练并进行火灾分类预测。通过计算气象数据之间相关性以及根据气象因子与FWI系统之间的关系,对特征变量进行筛选,从而优化了决策树模型,提高了森林火灾分类预测的准确率。基于此,可为我国的森林火灾预测分类研究提供新的思路。
-
将数据集随机分成训练集和测试集,其中训练集占70%,测试集占30%,使用训练集对模型进行训练,得到决策树模型。使用测试集对模型进行测试,结果如图3所示。左侧甘特图显示了6月—9月之间阿尔及利亚火灾发生天数情况,右侧甘特图为预测6月—9月之间的火灾发生天数。总体上看,预测结果基本一致,个别天数出现了预测错误。如6月的第21天和7月的第13天都与真实数据的分类情况产生了差异。调用函数Evaluator(),计算测试数据预测准确率,并通过程序控制台打印输出,预测准确率为94.94%(精确小数点后两位)。其中测试样本数量为40,预测分类正确数量为38,有2天的预测分类结果与实际出现了不相符的情况。为了提高预测准确率,对数据集中不同特征参数的进行研究分析,去除相关性较高的特征参数,优化模型后,再进行预测。
-
在原有模型的基础上,对处理数据集阶段做出优化。即对样本数据中相关性高的特征进行剔除。通过1.2.1节分析,本试验将累积指数(BUI)指数、FWI系统中的Duff湿度代码(DMC)指数及火灾天气指数(FWI)指数三个特征参数进行剔除。使用训练集对模型进行训练,得到决策树模型。使用测试集对模型进行测试,结果如图4所示。
左侧甘特图显示了6月—9月之间阿尔及利亚火灾发生天数情况,右侧甘特图为预测6月—9月之间的火灾发生天数。总体上看,预测结果基本一致,也出现极个别的预测错误。例如7月的第7天与真实数据的分类情况产生了差异。同样调用函数Evaluator(),计算测试数据预测准确率,并通过程序控制台打印输出,预测准确率为97.17%(精确小数点后两位)。其中测试样本数量为34,正确预测分类数量为33,出现了1天的预测结果与实际不符的情况。相比较剔除相关性高的特征数据前的预测,准确率提高了约3%。模型改进前后预测情况对比见表1。
模型
Model误差天数
Error day准确率
Accuracy rate改进前Before improvement 2 94.94% 改进后After improvement 1 97.17% Table 1. Comparison of prediction accuracy before and after improvement
通过以上结果可以得出,利用Spark MLlib计算特征参数相关性并过滤,对决策树分类预测模型起到了优化的作用。因此在使用Spark MLlib计算框架时,将多种数据挖掘算法进行组合,从而对森林火灾预测的准确性进行了提升。
Forest Fire Prediction in Algeria Based on Decision Tree Algorithm in Spark MLlib
doi: 10.12172/202211150002
- Received Date: 2022-11-15
- Available Online: 2023-04-07
- Publish Date: 2023-10-25
-
Key words:
- Forest fire /
- Spark MLlib /
- Decision tree /
- Correlation analysis /
- FWI system
Abstract: Based on the Algerian forest fire data, through the decision tree algorithm in Spark MLlib, the characteristic parameters with high correlation was put forward to improve the performance of the model and predict forest fires. For the characteristic parameters, such as temperature, wind speed, rain and the main indicators in the Canadian forest fire weather index (FWI) system, in combination with the classification of forest fires, a decision tree based fire prediction model was built using the information gain criterion for Gini's binary decision tree, and the sample data was classified and predicted. The correlation between different feature parameters is analyzed, and the feature parameters with high correlation are eliminated. The machine learning workflow was established by using the big data computing framework Spark, and the Pearson coefficient for calculating the correlation was combined with the decision tree classification algorithm, so as to optimize the model and improve the prediction classification accuracy. Before the improvement of the prediction model, the total accuracy of forest fire prediction classification without correlation analysis was 94.94%. After the improvement of the prediction model, the correlation analysis was carried out, and the characteristic parameter data with high correlation was eliminated. The total accuracy of forest fire prediction classification was 97.17%, and the accuracy rate was improved by nearly 3%. The machine learning algorithm in Spark MLlib had a high accuracy in forest fire prediction and classification, especially after combining various data mining algorithms, the model performance was improved and the prediction and classification accuracy was higher.