拟合表达式高误差区间的天气预报准确性检测方法及装置制造方法及图纸

技术编号:38095632 阅读:11 留言:0更新日期:2023-07-06 09:10
本发明专利技术属于天气预测技术领域,特别涉及一种拟合表达式高误差区间的天气预报准确性检测方法及装置,该方法包括从天气预报应用程序中提取出浮点表达式,将浮点表达式解析为抽象语法树,利用抽象语法树生成等价的MPFR高精度版本程序作为测试预言机;对浮点表达式的起始小区间进行误差检测,获得浮点表达式在该小区间的误差分布图;对误差分布图进行图像处理;对处理后的误差分布图进行DBSCAN聚类及拟合出上下界多项式函数;基于多项式函数推导出更多的高误差区间;对推导出的每个高误差区间进行误差检测,得到最终的最大误差值;根据得到的最大误差值判断天气预报预测的准确性。本发明专利技术将天气预报应用程序抽象为浮点表达式进行误差检测,提高了检测效率。提高了检测效率。提高了检测效率。

【技术实现步骤摘要】
拟合表达式高误差区间的天气预报准确性检测方法及装置


[0001]本专利技术属于天气预测
,特别涉及一种拟合表达式高误差区间的天气预报准确性检测方法及装置。

技术介绍

[0002]预测天气和气候是世界上最复杂的问题之一。从上世纪50年代开始数值模式预报方法取得了成功。然而60多年来,人们所需的气象预报时空精度越来越高,数值模式已经从一个简单的正解方程发展到世界上最复杂的软件项目之一,海量数据和数百万条代码需要借助超级计算机强大的算力支撑。由于天气预报预测需要大量的浮点计算,误差不可避免,误差大小直接影响到天气预报预测的准确性,检测误差成为验证天气预报准确性的一种重要工作。整体分析浮点应用程序难度大,且检测效率过低。
[0003]目前流行的浮点计算误差检测方法有静态检测和动态检测,其中静态检测依靠抽象解释、区间运算、仿射运算和符号执行等理论,试图找到浮点程序误差上界;动态检测利用工具生成测试预言(浮点程序精确值),测试预言一般使用高精度浮点类型获得,通过实际计算值与测试预言精确值对比便可得到浮点程序误差。动态分析实际是基于搜索方法寻找触发浮点程序较大误差的测试用例,可以是搜索触发误差的区间范围或搜索触发最大误差的特定输入。现有技术存在一些缺点,如静态检测的结果往往高于实际浮点计算程序的误差界限;动态检测采用基于搜索策略检测最大误差,第一搜索策略还没有很好建立,如随机搜索可能遗漏触发最大误差的测试用例,二进制启发搜索时间开销大,第二搜索过程无法重复利用,一旦检测区间改变,需要重新执行搜索过程。
专利技术内容
[0004]针对现有技术中存在的问题,本专利技术提出一种拟合表达式高误差区间的天气预报准确性检测方法及装置,将天气预报应用程序中大量的浮点运算抽象为浮点表达式进行误差检测,快速有效验证天气预报准确性;对浮点表达式的误差分布图进行DBSCAN聚类、拟合高误差区间,提高检测效率。
[0005]为了实现上述目的,本专利技术采用以下的技术方案:
[0006]本专利技术提供了一种拟合表达式高误差区间的天气预报准确性检测方法,包括以下步骤:
[0007]从天气预报应用程序中提取出浮点表达式,将浮点表达式解析为抽象语法树,利用抽象语法树生成等价的MPFR高精度版本程序作为测试预言机,获得每个测试用例下的测试预言即精确值用于误差检测;
[0008]对浮点表达式的起始小区间进行误差检测,获得浮点表达式在该小区间的误差分布图;
[0009]对误差分布图进行图像处理;
[0010]对处理后的误差分布图进行DBSCAN聚类及拟合出上下界多项式函数;
[0011]基于多项式函数推导出更多的高误差区间;
[0012]对推导出的每个高误差区间进行误差检测,得到最终的最大误差值;
[0013]根据得到的最大误差值判断天气预报预测的准确性。
[0014]进一步地,所述浮点表达式解析为抽象语法树是通过词法分析及语法分析将浮点表达式解析为一个语法树,生成等价的MPFR高精度版本程序是对语法树节点中所有的变量、算术运算和函数运算替换为等价的MPFR操作。
[0015]进一步地,对浮点表达式的起始小区间进行误差检测,获得浮点表达式在该小区间的的误差分布图,包括:对检测区间的某段起始小区间进行大规模采样检测,采样规模为m,测试用例生成方法为均匀采样即在该段起始小区间内均匀生成m个采样点,对m个测试用例的误差值绘制误差分布图,误差分布图的横坐标代表测试用例,纵坐标代表该测试用例下的误差值。
[0016]进一步地,所述测试用例的误差值利用最小精度单位ULP以及浮点表达式在该测试用例下的计算值、精确值计算得到。
[0017]进一步地,对误差分布图进行图像处理的方法是,对每n个测试用例取前p个误差值最大点保留下来作为误差数据,其余n

p个低误差点去除。
[0018]进一步地,DBSCAN聚类将具有足够密度的区域划分为簇,获取每一簇的最大误差点,对获取到的这些最大误差点进行拟合多项式函数。
[0019]进一步地,最大误差值判断天气预报预测的准确性,最大误差值越大预测偏差越大,预测越不准确,最大误差值越小预测偏差越小,预测越准确。
[0020]本专利技术还提供了一种拟合表达式高误差区间的天气预报准确性检测装置,包括:
[0021]MPFR高精度版本程序生成模块,用于从天气预报应用程序中提取出浮点表达式,将浮点表达式解析为抽象语法树,利用抽象语法树生成等价的MPFR高精度版本程序作为测试预言机,获得每个测试用例下的测试预言即精确值用于误差检测;
[0022]误差分布图构建模块,用于对浮点表达式的起始小区间进行误差检测,获得浮点表达式在该小区间的误差分布图;
[0023]图像处理模块,用于对误差分布图进行图像处理;
[0024]多项式函数拟合模块,用于对处理后的误差分布图进行DBSCAN聚类及拟合出上下界多项式函数;
[0025]高误差区间推导模块,用于基于多项式函数推导出更多的高误差区间;
[0026]最大误差值获得模块,用于对推导出的每个高误差区间进行误差检测,得到最终的最大误差值;
[0027]判断模块,用于根据得到的最大误差值判断天气预报预测的准确性。
[0028]与现有技术相比,本专利技术具有以下优点:
[0029]1、本专利技术从天气预报应用程序中提取出浮点表达式,将验证天气预报准确性转换为对浮点表达式进行误差检测的问题,与现有的分析整个浮点应用程序相比,提高了天气预报准确性验证效率。
[0030]2、本专利技术通过对浮点表达式拟合出上下界两条多项式函数用于预测出高误差区间,对每个高误差区间进行误差检测,得到最大误差值,这里只需要对预测出的区间进行误差检测,而无需对整个区间进行检测,大大缩小了检测范围,缩小了预测时间开销,提高了
检测效率。
[0031]3、本专利技术将浮点表达式误差检测视为区间推理问题,而不是将其看成启发式搜索问题,克服了浮点程序动态检测中搜索算法的局限性,即克服了时间开销大、遗漏最大误差等的问题,增大了天气预报预测准确性。
[0032]4、本专利技术对天气预报应用程序中提取出的浮点表达式一旦拟合出多项式函数,对于同一浮点表达式不同检测区间都可以重复利用该多项式函数,解决了传统搜索策略一旦检测区间改变只能重新搜索的问题。
附图说明
[0033]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0034]图1是本专利技术实施例一的拟合表达式高误差区间的天气预报准确性检测方法的流程示意图;
[0035]图2是本专利技术实施例一的拟合表达式高误差区间的天气预报准确性检测装置的结构框图;
[0036]图3是本专利技术本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种拟合表达式高误差区间的天气预报准确性检测方法,其特征在于,包括以下步骤:从天气预报应用程序中提取出浮点表达式,将浮点表达式解析为抽象语法树,利用抽象语法树生成等价的MPFR高精度版本程序作为测试预言机,获得每个测试用例下的测试预言即精确值用于误差检测;对浮点表达式的起始小区间进行误差检测,获得浮点表达式在该小区间的误差分布图;对误差分布图进行图像处理;对处理后的误差分布图进行DBSCAN聚类及拟合出上下界多项式函数;基于多项式函数推导出更多的高误差区间;对推导出的每个高误差区间进行误差检测,得到最终的最大误差值;根据得到的最大误差值判断天气预报预测的准确性。2.根据权利要求1所述的拟合表达式高误差区间的天气预报准确性检测方法,其特征在于,所述浮点表达式解析为抽象语法树是通过词法分析及语法分析将浮点表达式解析为一个语法树,生成等价的MPFR高精度版本程序是对语法树节点中所有的变量、算术运算和函数运算替换为等价的MPFR操作。3.根据权利要求1所述的拟合表达式高误差区间的天气预报准确性检测方法,其特征在于,对浮点表达式的起始小区间进行误差检测,获得浮点表达式在该小区间的的误差分布图,包括:对检测区间的某段起始小区间进行大规模采样检测,采样规模为m,测试用例生成方法为均匀采样即在该段起始小区间内均匀生成m个采样点,对m个测试用例的误差值绘制误差分布图,误差分布图的横坐标代表测试用例,纵坐标代表该测试用例下的误差值。4.根据权利要求3所述的拟合表达式高误差区间的天气预报准确性检测方法,其特征在于,所述测试用例的误差值利用最小精度单位ULP以及浮点表达式在该测试用例下的计算值...

【专利技术属性】
技术研发人员:周蓓张作言郝江伟许瑾晨
申请(专利权)人:中国人民解放军战略支援部队信息工程大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1