本申请涉及数据建模领域,尤其涉及一种数据处理方法以及设备。
背景技术:
在工业生产、科学研究等领域,常常需要根据离散的稳态测量数据,建立能反映量与量之间映射关系的连续数学模型,以便更好地指导工业生产或认识客观规律。例如,电站锅炉的烟气含氧量与热效率之间存在一定的映射关系,一旦将该映射关系用连续的数学模型表示出来就可以用于优化锅炉的运行和控制。
由于量与量之间的关系一般是非线性的,因此通常采用曲线拟合,如多项式拟合、高斯拟合等方法解决此类问题。但是,在一些情况下,出于对模型简单性的要求,需要建立多段直线模型。当分段数足够多时,多段直线模型也能具备较高精度,满足实际应用场景的需要。
已有的多段直线拟合方法是根据离散数据点斜率的变化情况自动进行分段。但是由于分段的过程由程序自动完成,使得分段的数量完全无法控制,若分段的数量过多,则会造成不必要的计算量过大,影响计算效率,而且建立的多段直线模型未必可以达到优质的总体拟合效果。
技术实现要素:
本申请实施例提供了一种数据处理方法以及设备,用于接收用户确定的间隔点横坐标并计算得到分段直线拟合函数。
本申请第一方面提供了一种数据处理方法,包括:
获取数据点集合;接收用户确定的间隔点横坐标集合{xi|i=0,1,2,…,m},该m为大于等于1的整数;根据该间隔点横坐标集合和该数据点集合确定间隔点纵坐标集合{yi|i=0,1,2,…,m};根据该间隔点横坐标集合和该间隔点纵坐标集合确定该数据点集合的分段直线拟合函数,该分段直线拟合函数的间隔点集合{(xi,yi)|i=0,1,2,…,m}。
在一些可行的实施例中,可以根据该间隔点集合确定该分段直线拟合函数中各段线段y=yi(x),其中,i=1,2,…,m;根据该间隔点集合该数据点集合确定该分段直线拟合函数的总误差平方和的函数表达式e=e(y0,y1,y2,…,ym);使该e对该yi进行偏导,得到偏导数e’(yi);令该e’(yi)等于0,计算该yi的值,作为该yi的取值。
在一些可行的实施例中,该
在一些可行的实施例中,令该分段直线拟合函数中第i段函数的误差平方和
在一些可行的实施例中,
该
该
该
本申请第一方面提供了二种数据处理设备,包括:
获取模块,用于获取数据点集合;接收模块,用于接收用户确定的间隔点横坐标集合{xi|i=0,1,2,…,m},该m为大于等于1的整数;计算模块,用于根据该间隔点横坐标集合和该数据点集合确定间隔点纵坐标集合{yi|i=0,1,2,…,m};拟合模块,用于根据该间隔点横坐标集合和该间隔点纵坐标集合确定该数据点集合的分段直线拟合函数,该分段直线拟合函数的间隔点集合{(xi,yi)|i=0,1,2,…,m}。
在一些可行的实施例中,该计算模块包括:
第一确定子模块,用于根据该间隔点集合确定该分段直线拟合函数中各段线段y=yi(x),其中,i=1,2,…,m;第二确定子模块,用于根据该间隔点集合该数据点集合确定该分段直线拟合函数的总误差平方和的函数表达式e=e(y0,y1,y2,…,ym);第一计算子模块,用于使该e对该yi进行偏导,得到偏导数e’(yi);第二计算子模块,用于令该e’(yi)等于0,计算该yi的值,作为该yi的取值。
在一些可行的实施例中,该
在一些可行的实施例中,该第二确定子模块具体用于:
令该分段直线拟合函数中第i段函数的误差平方和
在一些可行的实施例中,
该
该
该
从以上技术方案可以看出,本申请实施例具有以下优点:
当获取数据点集合时,可以接收用户确定的间隔点横坐标集合={xi|i=0,1,2,…,m},该m为大于等于1的整数,然后根据该间隔点横坐标集合和该数据点集合确定间隔点纵坐标集合{yi|i=0,1,2,…,m},并根据该间隔点横坐标集合和该间隔点纵坐标集合确定该数据点集合的分段直线拟合函数,该分段直线拟合函数的间隔点集合{(xi,yi)|i=0,1,2,…,m},由于可以接收用户确定的间隔点横坐标集合,而不是通过程序自动完成,使得分段的数量在可控范围内,不会造成若分段的数量过多而计算量过大的问题,从而提高了计算效率,以使得建立的多段直线模型可以达到较为优质的总体拟合效果。
附图说明
图1为一种数据处理方法的实施例示意图;
图2为根据该间隔点横坐标集合和该数据点集合确定间隔点纵坐标集合的实施例示意图;
图3为一种数据处理设备的实施例示意图;
图4为一种数据处理设备的另一实施例示意图;
图5为获取的数据点集合的示意图。
具体实施方式
本申请实施例提供了一种数据处理方法以及设备,用于接收用户确定的间隔点横坐标并计算得到分段直线拟合函数。
为了使本技术领域的人员更好地理解本申请实施例方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
在工业生产、科学研究等领域,常常需要根据离散的稳态测量数据,建立能反映量与量之间映射关系的连续数学模型,以便更好地指导工业生产或认识客观规律。例如,电站锅炉的烟气含氧量与热效率之间存在一定的映射关系,一旦将该映射关系用连续的数学模型表示出来就可以用于优化锅炉的运行和控制。
由于量与量之间的关系一般是非线性的,因此通常采用曲线拟合,如多项式拟合、高斯拟合等方法解决此类问题。但是,在一些情况下,出于对模型简单性的要求,需要建立多段直线模型。当分段数足够多时,多段直线模型也能具备较高精度,满足实际应用场景的需要。
已有的多段直线拟合方法是根据离散数据点斜率的变化情况自动进行分段。但是由于分段的过程由程序自动完成,使得分段的数量完全无法控制,若分段的数量过多,则会造成不必要的计算量过大,影响计算效率,而且建立的多段直线模型未必可以达到优质的总体拟合效果。
有鉴于此,本申请实施例提供了一种数据处理方法,在该数据处理方法中,可以获取数据点集合,并接收用户确定的间隔点横坐标集合={xi|i=0,1,2,…,m},该m为大于等于1的整数,然后根据该间隔点横坐标集合和该数据点集合确定间隔点纵坐标集合{yi|i=0,1,2,…,m},并根据该间隔点横坐标集合和该间隔点纵坐标集合确定该数据点集合的分段直线拟合函数,该分段直线拟合函数的间隔点集合{(xi,yi)|i=0,1,2,…,m},由于可以接收用户确定的间隔点横坐标集合,而不是通过程序自动完成,使得分段的数量在可控范围内,不会造成若分段的数量过多而计算量过大的问题,从而提高了计算效率,以使得建立的多段直线模型可以达到较为优质的总体拟合效果。
为便于理解,下面对本申请实施例中的具体流程进行描述,请参阅图1,本申请实施例提供的一种数据处理方法,该方法包括:
101、获取数据点集合。
在本申请实施例中,可以先获取数据点集合,如来自火电机组生产过程的稳态数据集{(xi,yi)|i=1,2,…,n},其中,i不同时,x也不同,且已按由小到大顺序排列。其中,变量x代表机组的汽门开度,变量y代表机组负荷,显然二者之间存在一定的非线性映射关系(如图5所示,为获取的数据点集合的示意图)。
在一些可行的实施例中,可以通过用户输入获得,也可以通过通信接口接收获得,此处不做限定。由于量与量之间的关系一般是非线性的,因此通常采用曲线拟合,如多项式拟合、高斯拟合等方法解决此类问题,但是,在本申请实施例中,考虑到对模型简单性的要求,可以建立多段直线模型。
102、接收用户确定的间隔点横坐标集合{xi|i=0,1,2,…,m},该m为大于等于1的整数。
在本申请实施例中,当获取数据点集合之后,可以接收用户确定的间隔点横坐标集合{xi|i=0,1,2,…,m},该m为大于等于1的整数。在本申请实施例中,用户通过观察数据点的分布情况和走向趋势,给定各段线段间隔点,由于可以接收用户确定的间隔点横坐标集合,而不是通过程序自动完成,使得分段的数量在可控范围内,不会造成若分段的数量过多而计算量过大的问题,从而提高了计算效率,以使得建立的多段直线模型可以达到较为优质的总体拟合效果。具体的,请参考图5,该分段拟合直线中的“圆圈”为该间隔点,可以看到其对应的间隔点横坐标集合。
103、根据该间隔点横坐标集合和该数据点集合确定间隔点纵坐标集合{yi|i=0,1,2,…,m}。
104、根据该间隔点横坐标集合和该间隔点纵坐标集合确定该数据点集合的分段直线拟合函数,该分段直线拟合函数的间隔点集合{(xi,yi)|i=0,1,2,…,m}。
在本申请实施例中,当获取了该间隔点横坐标集合和该数据点集合后,可以进而利用如最小二乘法等方法,以总拟合误差平方和最小为优化目标,获得间隔点纵坐标,从而得到间隔点纵坐标集合{yi|i=0,1,2,…,m},从而得到该分段直线拟合函数。
当求得该间隔点纵坐标集合{yi|i=0,1,2,…,m}后,则得到间隔点横坐标集合{xi|i=0,1,2,…,m}和间隔点纵坐标集合{yi|i=0,1,2,…,m},则显然可以得到该分段直线拟合函数的间隔点集合{(xi,yi)|i=0,1,2,…,m},则可以得到如图5所示的分段直线拟合函数的图像。
以上描述了一种数据处理方法,用于接收用户确定的间隔点横坐标并计算得到分段直线拟合函数,以下对步骤103的具体计算方法进行描述,请参考图2,为根据该间隔点横坐标集合和该数据点集合确定间隔点纵坐标集合的具体计算方法,该方法包括:
1031、根据该间隔点集合确定该分段直线拟合函数中各段线段y=
在本申请实施例中,由于该分段直线拟合函数中的第i段线段是由两点(xi-1,yi-1)和(xi,yi)确定的,因此,该第i段线段的斜率为
其中,x∈[xi-1,xi](或(xi-1,xi)/(xi-1,xi]/[xi-1,xi),此处以[xi-1,xi]为例进行说明),则可以得到:
此处以
在本申请实施例中,需要说明的是,xi是通过步骤102获取了的,因此是确定的,而yi是待求的。
1032、根据该间隔点集合该数据点集合确定该分段直线拟合函数的总误差平方和e=e(y0,y1,y2,…,ym)。
在本申请实施例中,可以利用最小二乘方法,以总拟合误差平方和e最小为优化目标,获得间隔点纵坐标,从而得到该分段直线拟合函数。具体的,令该分段直线拟合函数中第i段函数的误差平方和
其中,由于
需要说明的是,误差平方和又称残差平方和、组内平方和等,根据n个观察值拟合适当的模型后,余下未能拟合部份(ei=yi-y的平均)称为残差,其中y平均表示n个观察值的平均值,所有n个残差平方之和称误差平方和。将残差平方和除以自由度n-p-1(其中p为自变量个数)可以作为误差方差σ2的无偏估计,通常用来检验拟合的模型是否显著。
1033、使该e对该yi进行偏导。
1034、令该e’(yi)等于0时,计算该yi的值,作为该yi的取值。
在本申请实施例中,当求的总误差平方和
当i=0时,
当i=1,2,…,m-1时,
当i=m时,
然后,使得e’(yi)=0,i=1,2,…,m,则可以计算得到以yi为未知数的线性方程组ay=b,其中,a和b为矩阵,该方程组m+1行,m+1个未知数,因此可以求得yi的值。
如图5中所示,分段直线拟合的总误差平方和e对yi求偏导,并令偏导数为0,得到以间隔点纵坐标yi为未知数的线性方程组ay=b,其中:
求解以上线性方程组,得到间隔点纵坐标y=[y0,y1,y2,y3,y4,y5]t=[511.37,543.49,564.55,588.42,603.92,618.17]t。
根据分段间隔点坐标(xi,yi),i=0~5,得到各段拟合直线的方程如下:
第1段:y=12.8470(x-82.5)+511.3718,x∈[82.5,85];
第2段:y=10.5293(x-85)+543.4892,x∈(85,87];
第3段:y=11.9353(x-87)+564.5479,x∈(87,89];
第4段:y=15.5063(x-89)+588.4185,x∈(89,90];
第5段:y=7.1215(x-90)+603.9248,x∈(90,92]。
104、根据该间隔点横坐标集合和该间隔点纵坐标集合确定该数据点集合的分段直线拟合函数,该分段直线拟合函数的间隔点集合{(xi,yi)|i=0,1,2,…,m}。
以上对一种数据处理方法进行了描述,以下对相关的设备进行描述,请参考图2,为一种数据处理设备300,包括:
获取模块301,用于获取数据点集合。
接收模块302,用于接收用户确定的间隔点横坐标集合{xi|i=0,1,2,…,m},该m为大于等于1的整数。
计算模块303,用于根据该间隔点横坐标集合和该数据点集合确定间隔点纵坐标集合{yi|i=0,1,2,…,m}。
拟合模块304,用于根据该间隔点横坐标集合和该间隔点纵坐标集合确定该数据点集合的分段直线拟合函数,该分段直线拟合函数的间隔点集合{(xi,yi)|i=0,1,2,…,m}。
请参考图4,该计算模块303包括:
第一确定子模块3031,用于根据该间隔点集合确定该分段直线拟合函数中各段线段y=yi(x),其中,i=1,2,…,m。
第二确定子模块3032,用于根据该间隔点集合该数据点集合确定该分段直线拟合函数的总误差平方和的函数表达式e=e(y0,y1,y2,…,ym)。
第一计算子模块3033,用于使该e对该yi进行偏导,得到偏导数e’(yi)。
第二计算子模块3034,用于令该e’(yi)等于0,计算该yi的值,作为该yi的取值。
在一些可行的实施例中,该
在一些可行的实施例中,该第二确定子模块具体用于:
令该分段直线拟合函数中第i段函数的误差平方和
使该
在一些可行的实施例中,该
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solidstatedisk(ssd))等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。