本发明涉及计算机辅助诊断技术领域,具体涉及一种基于贝叶斯网络的玉米病虫害预警分析方法。
背景技术:
玉米的病虫害是玉米生产中极具破坏性的自然灾害,在玉米病虫害管理中主要的问题反映在病虫害动态监测、发生趋势预测及其风险评估等几方面。玉米病虫害的种类很多,玉米的病害包括玉米大、小斑病、玉米丝黑穗病、青枯病等;玉米的虫害包括地老虎、玉米螟、粘虫等。这些病虫害往往是大批发生,发病率很高,严重影响了玉米的产量,造成了巨大的经济损失。据统计,2011年全国玉米病害发生面积为7165.7万hm2次,2012年快速上升至8101.79万hm2次,2013年为8157.5万hm2次,达到了历史新高,玉米主要病害带来的产量损失总量自2010年开始已持续超过了水稻病害引发的水稻产量损失总量;玉米生产环境及气候的变化导致一些重要病害的发生规律改变、危害加重,一些得到控制的病害再次猖獗危害,一些次要病害在全国范围或局部地区危害不断加重,甚至上升为主要病害,并出现了一些新的病害,对玉米安全生产构成了严重的威胁。
目前市面上没有完善的玉米病虫害预警系统,主流方式为系统提供所有疾病的症状集合,供用户选择,用户选择玉米病虫害的发病症状后,针对用户所选择的症状属于那种疾病诊断得出发病可能性的专家系统。
用户选择疾病症状时耗时耗力,并且存在种植人员技术不足,无法正确判断病发症状、同时,专家系统不能准确快速的找到符合自己玉米病虫害的所属症状,种植人员无法对症状进行准确的判断而做出决断,无法从根本上帮助解决种植人员解决问题,无法达到预警目的、从而无法快速准确的进行玉米病虫害的防治工作。
技术实现要素:
针对以上现有技术针对玉米病虫害的问题,本发明的目的在于提供一种基于贝叶斯网络的玉米病虫害预警分析方法,通过计算玉米病虫害的发生概率进行预警,其精确度高、误差小,有效降低了玉米病虫害的危害几率。
本发明目的通过以下技术方案实现:
基于贝叶斯网络的玉米病虫害预警分析方法,其特征在于:
包括以下步骤:
a、构造玉米病虫害网络诊断贝叶斯网络,确定影响玉米病虫害的节点,经终端数据处理提取并筛选出主要节点;
b、对筛选出主要节点进行离散化处理;
c、利用离散化处理后的数据对玉米病虫害的贝叶斯网络进行训练;
d、根据经过训练的玉米病虫害预警贝叶斯网络计算玉米发生病虫害的概率;
e、当计算所得出的玉米病虫害发生概率值超过指定阈值时进行预警;
所述终端数据处理采用电脑进行终端信息的采集和处理,选取最重要的节点为主要节点,如温湿度、土壤因素、降水量等,保证所述主要节点为互斥节点。
由于玉米病虫害的种类复杂、影响玉米病虫害的因素繁多,若要对所有节点进行离散化处理,数据繁琐、贝叶斯网络尺寸巨大,导致最终运算结果精确度低。因此,本发明通过设置主要节点,且同时选取的主要节点满足为互斥节点,减少贝叶斯网络的尺寸,降低运算的工作量,同时又能保证获得概率的准确性与精确度。
进一步,由于玉米病害依赖于温湿度、土壤因素、降水量、施肥量等,所述玉米病虫害的主要节点为积温:sumt;平均最高气温:maxt,平均最低气温:mint,地温:gt,累计日照数:ssd,降水量:mtp;所述sumt由所述maxt与mint决定,所述maxt与mint为互斥节点;所述gt由所述ssd与mtp决定,所述ssd与mtp为互斥节点。
进一步,为数据准确化,所述地温:gt为地表面以上5cm的温度。
进一步,步骤b中所述离散化处理为等宽法离散,其具体步骤为:
b1、根据玉米病虫的生活习性以及生长周期,对每个主要节点确定其时间范围并分类,其中sumt、maxt、mint的时间范围∈[d1,d2];gt的时间范围为d3~d4;ssd的时间范围为d5~d6;mtp的时间范围为d7~d8;
b2、根据划分的时间范围采集每一个主要节点的值域范围;
b3、然后将每一个值域范围{xmin,xmax}划分为k个区间;使每个区间的宽度都相等,为(xmax-xmin)/k,得到处理后的离散化数据。
采用等宽法离散进行区间划分,将每一个节点的值域分解成等宽度的区间,使每一个节点的离散化数据更为精确,避免所选定的主要节点受其余未选定的玉米病虫害节点因素的影响,从而保证所得出的玉米发生病虫害概率准确性以及精确度。
进一步,步骤c的具体步骤为:
c1、首先选用数据集g=(pssd,pmtp,pgt,psumt,pmaxt,pmint)总结关于θ的先验概率p(θ);
c2、已知数据集g=(pssd,pmtp,pgt,psumt,pmaxt,pmint)和参数θ后求得各节点、各区间θ的似然函数:
l(θ|g)=p(g|θ);
c3、把数据集g=(pssd,pmtp,pgt,psumt,pmaxt,pmint)的影响用似然函数l(θ|g)=p(g|θ)进行归纳;
c4、使用贝叶斯公式:
p(g|e=e)∝p(g)l(g|e=e)
将先验分布和似然函数结合,得到各节点和区间θ的后验分布,即:
p(θ|g)∝p(θ)l(θ|g)
得到各节点区间的θ的贝叶斯估计p(θ|g);
其中,pgt为在pssd和pmtp所在区间确定后d3~d4的5cm地温所在区间的概率;pssd为d5~d6的累计日照数的概率;pmtp为d7~d8的降水量的概率;psumt为d1~d2的积温的概率;pmaxt为d1~d2的平均最高气温的概率;pmint为d1~d2的平均最低气温的概率。
进一步,步骤d中,根据贝叶斯定理,按照如下公式计算玉米虫害概率:
其中,occur为发生病情的概率。
进一步,步骤d中,经过训练的玉米病虫害预警装置计算玉米病虫害发生的概率为:
p=(occur=h|g)=∫p(h,θ|g)dθ=∫θp(θ|g)dθ。
本发明具有如下技术效果:
本发明方法综合考虑了多方面的因素,通过构建复杂的贝叶斯网络计算概率可以对玉米的病害及虫害疫情进行准确的判断及报警,可以帮助种植人员进行及时的判断及采取措施。该方法利用复杂的贝叶斯网络对发生病虫害的风险进行评估,做到最大限度的预防玉米病虫害,减少种植人员因玉米病虫造成的损失;同时,该方法可以有效规避玉米病虫害种类繁多、影响因素复杂的问题,计算得到的结果准确性和精确度高。
附图说明
图1为本发明实施例中预警分析方法的流程图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。
实施例1
本实施例以典型的玉米虫害玉米螟为例。玉米螟是危害玉米的主要害虫,一般年份可使玉米受害株率达到40%以上,减产10%-15%,严重年份受害株率达到70%以上,减产20%。
基于贝叶斯网络的玉米病虫害预警分析方法,按以下步骤进行:
a、构造玉米病虫害网络诊断贝叶斯网络,确定影响玉米病虫害的节点,经终端数据处理提取并筛选出主要节点;主要节点为积温:sumt;平均最高气温:maxt,平均最低气温:mint,地温:gt,累计日照数:ssd,降水量:mtp;其中,sumt由maxt与mint决定,maxt与mint为互斥节点;gt由ssd与mtp决定,ssd与mtp为互斥节点。
b、对筛选出主要节点进行离散化处理;
其具体步骤为:
b1、根据玉米螟的生活习性以及生长周期,对每个主要节点确定其时间范围并分类:由于玉米螟属于变温动物,神经系统比较原始,自身调节体温的能力较差,所以它的体温基本取决于外界环境的温度,故sumt为3~7月;玉米螟越冬代幼虫主要利用最高气温获得较多的热量,加快其生长发育进程,故maxt为3~7月;最低气温偏高,有利于玉米螟的发育,故mint的3~7月;gt的时间范围为3~7月;玉米螟对光周期非常敏感,在长日照下不休眠或不滞育,日照时数多,低温和气温偏高,有利于玉米螟的发育,ssd的时间范围为2~5月;降水量大,土壤湿度大、温度低,不利于越冬代幼虫发育,故mtp的时间范围为1~6月。不同周期选择是根据玉米螟的生长期与存活期对于不同节点的习性而定。
b2、根据划分的时间范围采集每一个主要节点的值域范围:
3~7月的sumt的值域范围为[2540~2570℃.d];
3~7月的maxt的值域范围为[24.1~26℃];
3~7月的mint的值域范围为[20.1~26℃];
3~7月的gt的值域范围为[19.1~22℃];
2~5月的ssd的值域范围为[1001~1300h];
1~6月的mtp的值域范围为[51~150mm]。
b3、每个主要节点的值域划分为等宽度区间,得到处理后的离散化数据:
将3~7月的sumt的值域范围[2540~2570℃.d]划分为三个等宽度区间,即sumt∈[2540~2550℃.d],sumt∈[2551~2560℃.d],sumt∈[2561~2570℃.d];
将3~7月的maxt的值域范围[24.1~26℃]划分为两个等宽度区间,即maxt∈[24.1~25℃],maxt∈[25.1~26℃];
将3~7月的mint的值域范围[20.1~26℃]划分为两个等宽度区间,mint∈[20.1~23℃],mint∈[23.1~26℃];
将3~7月的gt的值域范[19.1~22℃]划分为三个等宽度区间,即gt∈[19.1~20.0℃],gt∈[20.1~21.0℃],gt∈[21.1~22.0℃];
将2~5月的ssd的值域范围[1001~1300h]划分为三个等宽度区间,即ssd∈[1001~1100h],ssd∈[1101~1200h],ssd∈[1201~1300h];
将1~6月的mtp的值域范围[51~150mm]划分为两个等宽度区间,即mtp∈[51~100mm],mtp∈[101~150mm]。
c、利用离散化处理后的数据对玉米病虫害的贝叶斯网络进行训练(即为流程图中的参数学习),其具体步骤为:
c1、首先选用数据集g=(pssd,pmtp,pgt,psumt,pmaxt,pmint)总结关于θ的先验概率p(θ);
c2、已知数据集g=(pssd,pmtp,pgt,psumt,pmaxt,pmint)和参数θ后求得各节点、各区间θ的似然函数:
l(θ|g)=p(g|θ);
c3、把数据集g=(pssd,pmtp,pgt,psumt,pmaxt,pmint)的影响用似然函数l(θ|g)=p(g|θ)进行归纳;
c4、使用贝叶斯公式:
p(g|e=e)∝p(g)l(g|e=e)
将先验分布和似然函数结合,得到各节点和区间θ的后验分布,即:
p(θ|g)∝p(θ)l(θ|g)
得到各节点区间的θ的贝叶斯估计p(θ|g);
其中,pgt为在pssd和pmtp所在区间确定后d3~d4的5cm地温所在区间的概率;pssd为d5~d6的累计日照数的概率;pmtp为d7~d8的降水量的概率;psumt为d1~d2的积温的概率;pmaxt为d1~d2的平均最高气温的概率;pmint为d1~d2的平均最低气温的概率。
d、根据贝叶斯定理,按照如下公式计算玉米虫害概率:
其中,occur为发生病情的概率。
经过训练的玉米病虫害预警装置计算玉米病虫害发生的概率为:
p=(occur=h|g)=∫p(h,θ|g)dθ=∫θp(θ|g)dθ。
通过上述方法,能精确有效对玉米螟病虫害的发生概率进行计算、从而发出预警,做到最大限度的预防玉米螟病虫害;本发明适用性更广、应用范围更大。
通过上述方法进行预测,遭受玉米螟病虫害的玉米受害株率相对于未使用本方法进行预测的玉米种植地,平均每亩减少到5%。
本具体实施例采用玉米螟作为玉米病虫害的一种特例,进而对本发明的技术方案进行说明;需要指出的是,本发明不仅仅是针对玉米螟这种特例的玉米病虫害的进行预警,还针对其他玉米病虫害的进行预警。