基于多元线性回归处理非线性数据的方法和装置与流程

文档序号:17774487发布日期:2019-05-28 19:52阅读:520来源:国知局
基于多元线性回归处理非线性数据的方法和装置与流程

本申请涉及数据处理技术领域,特别是涉及一种基于多元线性回归处理非线性数据的方法、装置、计算机设备和存储介质。



背景技术:

一般在工程设计或科学实验中所得到的数据往往是一张关于离散数据点的表,没有解析式来描述x-y的关系。通常根据所给定的这些离散数据点绘制的曲线,称为不规则曲线,一般用非线性回归的方法解决这类问题。

所谓非线性回归方法是由给定的离散数据点,建立数据关系(数学模型),求出一系列微小的直线段,然后把这些插值点连接成曲线,只要插值点的间隔选择得当,就可以形成一条光滑的曲线。

目前主流的非线性回归方法主要有r语言的nls(nonlinearleastsquares非线性最小二乘法)函数、lm函数和matlab(矩阵实验室)的curvefit(曲线拟合)函数等,但是此类方法需要预先设置数据遵循的函数公式和公式的预估参数。因此,此类方法受限于数据的复杂性和未知性,对使用者的数学、统计学等知识有较高的要求。



技术实现要素:

基于此,有必要针对上述采用非线性回归方法处理离散数据,对使用者的数学、统计学等知识有较高要求的技术问题,提供一种易于实现的基于多元线性回归处理非线性数据的方法、装置、计算机设备和存储介质。

为了实现上述目的,一方面,本申请实施例提供了一种基于多元线性回归处理非线性数据的方法,包括:

获取包含多个解释变量的数据模型,其中,多个解释变量相互独立;

采用预设函数分别对多个解释变量进行转换以得到多个转换后的解释变量;

根据数据模型对多个转换后的解释变量进行组合以得到多个候选线性回归公式;

对多个候选线性回归公式分别进行线性回归分析以确定目标回归公式。

在其中一个实施例中,对多个候选线性回归公式分别进行线性回归分析以确定目标回归公式,包括:采用r语言的线性回归函数对多个候选线性回归公式分别进行线性回归分析以确定目标回归公式。

在其中一个实施例中,候选线性回归公式包括多个回归项;则采用r语言的线性回归函数对多个候选线性回归公式分别进行线性回归分析以确定目标回归公式,包括:采用r语言的线性回归函数估算多个候选线性回归公式中的每一个回归项对应的系数;根据估算结果采用t检验以确定目标回归公式。

在其中一个实施例中,根据估算结果采用t检验以确定目标回归公式,包括:根据估算结果对多个候选线性回归公式进行t检验以获取t检验结果;剔除多个候选线性回归公式中t检验结果p值大于0.01的回归项;计算每一个候选线性回归公式中剩余回归项t检验结果中t的均值;将对应t的均值最大的估算结果通过进行拟合以得到目标回归公式。

在其中一个实施例中,r语言的线性回归函数包括r语言的lm函数和glm函数中的任一种。

在其中一个实施例中,预设函数包括预设的初等函数和预设的自定义函数。

另一方面,本申请实施例提供了一种基于多元线性回归处理非线性数据的装置,包括:

获取模块,用于获取包含多个解释变量的数据模型,其中,多个解释变量相互独立;

转换模块,用于采用预设函数分别对多个解释变量进行转换以得到多个转换后的解释变量;

组合模块,用于根据数据模型对多个转换后的解释变量进行组合以得到多个候选线性回归公式;

确定模块,用于对多个候选线性回归公式分别进行线性回归分析以确定目标回归公式。

在其中一个实施例中,确定模块包括:估算单元,用于采用r语言的线性回归函数估算多个候选线性回归公式中的每一个回归项对应的系数;目标回归公式确定单元,用于根据估算结果采用t检验以确定目标回归公式。

在其中一个实施例中,目标回归公式确定单元包括:t检验子单元,用于根据估算结果对多个候选线性回归公式进行t检验以获取t检验结果;剔除子单元,用于剔除多个候选线性回归公式中t检验结果p值大于0.01的回归项;计算子单元,用于计算每一个候选线性回归公式中剩余回归项t检验结果中t的均值;拟合子单元,用于将对应t的均值最大的估算结果进行拟合以得到目标回归公式。

第三方面,本申请实施例提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以上方法所述的步骤。

第四方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以上方法所述的步骤。

上述基于多元线性回归处理非线性数据的方法、装置、计算机设备和存储介质,通过获取包含多个相互独立的解释变量的数据模型,采用预设函数分别对多个解释变量进行转换以得到多个转换后的解释变量,然后根据数据模型对多个转换后的解释变量进行组合以得到多个候选线性回归公式,并通过线性回归分析以确定目标回归公式,从而将多元非线性回归分析转换成多个多元线性回归分析,以对非线性数据进行处理。

附图说明

图1为一个实施例中基于多元线性回归处理非线性数据的方法的应用环境图;

图2为一个实施例中基于多元线性回归处理非线性数据的方法的流程示意图;

图3为一个实施例中对多个候选线性回归公式分别进行线性回归分析以确定目标回归公式的步骤的流程示意图;

图4为一个实施例中根据估算结果采用t检验以及lm函数确定目标回归公式的步骤的流程示意图;

图5为一个实施例中基于多元线性回归处理非线性数据的装置的结构框图;

图6为图5中确定模块的结构框图;

图7为图6中目标回归公式确定单元的结构框图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

由于采用非线性回归方法处理离散数据,对使用者的数学、统计学等知识有较高要求,而线性回归的方法因工程设计或科学实验数据的复杂和多样性,通常需要将数据进行线性变换。然而实验数据同样存在未知性,其变换方式多种多样,通常需要耗费大量时间来探索其中的规律。但是,如果存在两个或两个以上的自变量,在回归分析中就称为多元回归。事实上,一种现象常常是与多个因素相联系的,由多个自变量的最优组合共同来预测或估计因变量,比只用一个自变量进行预测或估计更有效,更符合实际。

基于此,本申请提供了一种基于多元线性回归处理非线性数据的方法,可以应用于如图1所示的计算机设备,该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端设备通过网络连接通信。该计算机程序被处理器执行时以实现一种基于多元线性回归处理非线性数据的方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备可以是增白织物的处理系统的输入装置,其可以与增白织物的处理系统通信连接。另外,该计算机设备的输入装置可以是显示屏上覆盖的触摸层、计算机设备外壳上设置的按键、轨迹球、触控板、外接的键盘、触控板和/或鼠标等。

可选的,该计算机设备可以是服务器,可以是pc,还可以是个人数字助理,也可以是其他的终端设备,例如pad、手机等等,还可以是云端或者远程服务器,本申请实施例对计算机设备的具体形式并不做限定。

本领域技术人员可以理解,图1中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,如图2所示,提供了一种基于多元线性回归处理非线性数据的方法,以该方法应用于图1中的计算机设备为例进行说明,包括以下步骤:

步骤202,获取包含多个解释变量的数据模型。

其中,数据模型中包括被解释变量与多个解释变量的线性关系。例如,数据模型的一般形式如下所示:

其中y为被解释变量,xi为解释变量,n为解释变量数目(包含常数解释变量),gi为回归函数,gi(xi)为回归项。在本实施例中,多个解释变量相互独立,无相互影响。

步骤204,采用预设函数分别对多个解释变量进行转换以得到多个转换后的解释变量。

具体的,通过预设函数分别对多个解释变量进行转换以得到多个转换后的解释变量。例如,x=g(x),其中,x为某一解释变量,x为解释变量x转化后的结果,g为函数关系,其具体可以包含初等函数和自定义函数。因此,同一个解释变量转换后将会得到一组变换后的解释变量。在本实施例中,预设函数可以包括预设的初等函数和预设的自定义函数。

步骤206,根据数据模型对多个转换后的解释变量进行组合以得到多个候选线性回归公式。

由于同一个解释变量转换后将会得到一组变换后的解释变量,则数据模型对应的多个解释变量转换后将会得到对应的多组变换后的解释变量。因此,在本实施例中,在每一组变换后的解释变量中选择一个解释变量,并根据数据模型对其进行组合,从而得到对应的候选线性回归公式。对每一组变换后的解释变量分别进行组合,则得到多个候选线性回归公式,从而将多元非线性回归分析转换成多个多元线性回归分析。

步骤208,对多个候选线性回归公式分别进行线性回归分析以确定目标回归公式。

其中,线性回归分析具体可以采用r语言的线性回归函数进行,即对多个候选线性回归公式分别采用r语言的线性回归函数进行线性回归分析以确定目标回归公式。

上述基于多元线性回归处理非线性数据的方法中,通过获取包含多个相互独立的解释变量的数据模型,采用预设函数分别对多个解释变量进行转换以得到多个转换后的解释变量,然后根据数据模型对多个转换后的解释变量进行组合以得到多个候选线性回归公式,并通过线性回归分析以确定目标回归公式,从而将多元非线性回归分析转换成多个多元线性回归分析,以对非线性数据进行处理。

在一个实施例中,对多个候选线性回归公式分别进行线性回归分析以确定目标回归公式,可以包括:采用r语言的线性回归函数对多个候选线性回归公式分别进行线性回归分析以确定目标回归公式,其中,候选线性回归公式包括多个回归项。具体的,r语言的线性回归函数包括r语言的lm函数和glm(generalizedlinearmodel,广义线性模型)函数中的任一种。。

具体来说,如图3所示,可以包括如下步骤:

步骤302,采用r语言的线性回归函数估算多个候选线性回归公式中的每一个回归项对应的系数。

具体的,在本实施例中通过r语言的线性回归函数估算的方法计算出多个候选线性回归公式中每一个回归项对应的系数,而从得到数据模型中解释变量和被解释变量的关系。

步骤304,根据估算结果采用t检验以确定目标回归公式。

其中,t检验亦称studentt检验(student'sttest)。在本实施例中,根据上述估算结果采用t检验进行回归分析,从而根据分析结果拟合以确定目标回归公式,从而增加了非线性数据的处理能力。

在一个实施例中,如图4所示,根据估算结果采用t检验以确定目标回归公式,具体可以包括如下步骤:

步骤402,根据估算结果对多个候选线性回归公式进行t检验以获取t检验结果。

步骤404,剔除多个候选线性回归公式中t检验结果p值大于0.01的回归项。

步骤406,计算每一个候选线性回归公式中剩余回归项t检验结果中t的均值。

步骤408,将对应t的均值最大的估算结果进行拟合以得到目标回归公式。

其中,t检验是检验数据模型中某个解释变量对于被解释变量的显著性,通常用p值(p-value)判断显著性,当p值小于0.01或更小时说明这个解释变量与被解释变量相关关系显著,同时也给出t值(t-value),t值越大表示相关性越强。

具体的,在本实施例中,根据估算结果对多个候选线性回归公式进行t检验以获取t检验结果,从而根据t检验结果剔除多个候选线性回归公式中t检验结果对应的p值大于0.01的回归项,并计算每一个候选线性回归公式中剩余回归项t检验结果中t的均值,将对应t的均值最大的估算结果进行拟合以得到目标回归公式。

以下通过一个具体的实施例进一步说明本申请的方法,假设存在数据集合a,包含3个独立解释变量x1、x2、x3和一个被解释变量y,其中,每个变量包含了100个元素,其对应的数据模型为y=sin(x1)+x22+cos(x3)。

根据上述方法,首先需要将数据集合a中的三个解释变量使用初等函数及自定义函数进行转换,假设x1转换后记为g(x1),x2转换后记为g(x2),x3转换后记为g(x3),其中,g()包含多种转换关系。

然后将转换后的解释变量进行组合,从而获得候选线性回归公式,部分示例如下表所示:

其中,符号“~”表示分析被解释变量与各个使用符号“+”连接的解释变量的线性关系,至此,已将多元非线性回归问题转换成多个多元线性回归问题。

对于候选线性回归公式,则通过参数估计的方法来计算出各个回归项对应的系数,而从得到数据集的解释变量和被解释变量的关系。其目标是要计算出一条直线,使直接线上每个点的被解释变量值和实际数据的被解释变量值之差的平方和最小,即(y1实际-y1预测)2+(y2实际-y2预测)2+……+(yn实际-yn预测)2的值最小。

在本实施例中,以采用r语言的lm函数来实现对数据的回归模型的参数估计为例进行说明,其中,采用lm()函数来实现多元线性回归的建模过程如下所示:

其中,intercept为常数项,sin(x1)、sin(x2)以及sin(x3)等为回归项,estimate为系数估计值,std.error是标准误差、tvalue为t检验中的t值、pr(>|t|)则为t检验中的p值。

因此,得到了当候选回归公式为:y~sin(x1)+sin(x2)+sin(x3)时,解释变量与被解释变量的关系:y=3.687*sin(x1)-35.52*sin(x2)+13.624*sin(x3)+2266.9。

在所有候选回线性归公式的分析结果中,剔除候选回归公式t检验结果中p值大于0.01的回归项,计算候选回归公式剩余回归项t检验结果中t值的均值,选择t值均值最大的回归分析结果作为最终结果:y1=1.015*sin(x1)+1.000*x22+0.987*cos(x3)。

完成参数估算后,还可以根据需要经过t检验、f检验或r2相关系统检验,并根据检验结果判断估算效果。

其中,t检验法是检验数据模型某个解释变量对于被解释变量的显著性,通常用p-value判断显著性,小于0.01更小时说明这个解释变量与被解释变量相关关系显著,同时也给出t-value值,t值越大表示相关性越强。

f检验法用于对所有的解释变量在整体上看对于被解释变量的线性显著性,也是用p-value判断显著性,小于0.01更小时说明整体上解释变量与被解释变量相关关系显著。

r2相关系统检验法则用来判断回归方程的拟合程度,r2的取值在0至1之间,越接近1说明拟合程度越好。

对上述回归函数的可靠性检验指标如下表所示,最终结果对应的r2为1,f检验p值小于2.2e-16。表明分析结果良好,与实际情况偏差极少。由此可知,通过本申请的方法处理多元非线性回归问题时不需要强制性预设解释变量可能遵循的函数公式和预估参数,在探索挖掘未知数据关系、处理多元独立解释变量问题上具有明显优势。

需要说明的是,若采用r语言的glm函数来实现对数据的回归模型的参数估计,则代码部分可以根据glm函数的特性进行相应的调整,其估算结果与采用lm函数进行估计的结果也稍有不同。例如,采用glm函数进行估算后,其估算结果中包括zvalue,具体可以根据zvalue进行判断或将zvalue转换为tvalue,其效果与采用lm函数进行估算的效果相同,本领域技术人员可以根据实际情况选择使用。

应该理解的是,虽然图2-4的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-4中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

在一个实施例中,如图5所示,提供了一种基于多元线性回归处理非线性数据的装置,包括:获取模块510、转换模块520、组合模块530和确定模块540,其中:

获取模块510,用于获取包含多个解释变量的数据模型,其中,多个解释变量相互独立;

转换模块520,用于采用预设函数分别对多个解释变量进行转换以得到多个转换后的解释变量;

组合模块530,用于根据数据模型对多个转换后的解释变量进行组合以得到多个候选线性回归公式;

确定模块540,用于对多个候选线性回归公式分别进行线性回归分析以确定目标回归公式。

在一个实施例中,如图6所示,确定模块540包括:

估算单元541,用于采用r语言的线性回归函数估算多个候选线性回归公式中的每一个回归项对应的系数;

目标回归公式确定单元542,用于根据估算结果采用t检验以确定目标回归公式。

在一个实施例中,如图7所示,目标回归公式确定单元542进一步包括:

t检验子单元5421,用于根据估算结果对多个候选线性回归公式进行t检验以获取t检验结果;

剔除子单元5422,用于剔除多个候选线性回归公式中t检验结果p值大于0.01的回归项;

计算子单元5423,用于计算每一个候选线性回归公式中剩余回归项t检验结果中t的均值;

拟合子单元5424,用于将对应t的均值最大的估算结果进行拟合以得到目标回归公式。

关于基于多元线性回归处理非线性数据的装置的具体限定可以参见上文中对于基于多元线性回归处理非线性数据的方法的限定,在此不再赘述。上述基于多元线性回归处理非线性数据的装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:

获取包含多个解释变量的数据模型,其中,多个解释变量相互独立;

采用预设函数分别对多个解释变量进行转换以得到多个转换后的解释变量;

根据数据模型对多个转换后的解释变量进行组合以得到多个候选线性回归公式;

对多个候选线性回归公式分别进行线性回归分析以确定目标回归公式。

在一个实施例中,对多个候选线性回归公式分别进行线性回归分析以确定目标回归公式,包括:采用r语言的线性回归函数对多个候选线性回归公式分别进行线性回归分析以确定目标回归公式。

在一个实施例中,候选线性回归公式包括多个回归项;则采用r语言的线性回归函数对多个候选线性回归公式分别进行线性回归分析以确定目标回归公式,包括:采用r语言的线性回归函数估算多个候选线性回归公式中的每一个回归项对应的系数;根据估算结果采用t检验以确定目标回归公式。

在一个实施例中,根据估算结果采用t检验以确定目标回归公式,包括:根据估算结果对多个候选线性回归公式进行t检验以获取t检验结果;剔除多个候选线性回归公式中t检验结果p值大于0.01的回归项;计算每一个候选线性回归公式中剩余回归项t检验结果中t的均值;将对应t的均值最大的估算结果进行拟合以得到目标回归公式。

在一个实施例中,r语言的线性回归函数包括r语言的lm函数和glm函数中的任一种。

在一个实施例中,预设函数包括预设的初等函数和预设的自定义函数。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:

获取包含多个解释变量的数据模型,其中,多个解释变量相互独立;

采用预设函数分别对多个解释变量进行转换以得到多个转换后的解释变量;

根据数据模型对多个转换后的解释变量进行组合以得到多个候选线性回归公式;

对多个候选线性回归公式分别进行线性回归分析以确定目标回归公式。

在一个实施例中,对多个候选线性回归公式分别进行线性回归分析以确定目标回归公式,包括:采用r语言的线性回归函数对多个候选线性回归公式分别进行线性回归分析以确定目标回归公式。

在一个实施例中,候选线性回归公式包括多个回归项;则采用r语言的线性回归函数对多个候选线性回归公式分别进行线性回归分析以确定目标回归公式,包括:采用r语言的线性回归函数估算多个候选线性回归公式中的每一个回归项对应的系数;根据估算结果采用t检验以确定目标回归公式。

在一个实施例中,根据估算结果采用t检验以及lm函数确定目标回归公式,包括:根据估算结果对多个候选线性回归公式进行t检验以获取t检验结果;剔除多个候选线性回归公式中t检验结果p值大于0.01的回归项;计算每一个候选线性回归公式中剩余回归项t检验结果中t的均值;将对应t的均值最大的估算结果进行拟合以得到目标回归公式。

在一个实施例中,r语言的线性回归函数包括r语言的lm函数和glm函数中的任一种。

在一个实施例中,预设函数包括预设的初等函数和预设的自定义函数。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1