非线性回归算法(精选7篇)
非线性回归算法 篇1
摘要:非线性回归是工程上研究复杂回归问题的一种方法,和线性回归相比,它在处理问题的准确性上优势明显。当前,用神经网络算法研究非线性回归问题是一个热点,而该方法中如何确定最优的网络节点权值是算法关键。本文研究采用蚁群算法来实现神经网络节点的权值最优化,从而使分析更加准确。
关键词:蚁群算法,神经网络,非线性回归
1. 前言
回归分析法,是在掌握大量观察数据的基础上,利用数理统计方法建立因变量与自变量之间的回归关系函数表达式。工程上当对某问题一无所知的情况下,常通过线性回归来分析推算数学模型。但对于大型复杂的问题,线性回归分析就显得力不从心,于是非线性回归成为大家的研究热点。其中将神经网络用于非线性回归研究是一个方向,但神经网络中节点的权值最佳化很难处理,有学者采用了遗传算法来实现,但是效果不佳。本文尝试通过蚁群算法和神经网络的结合进行非线性回归分析得到了较理想的效果。
2. 基本构思
神经网络算法要求网络各连结w值有大有小,各神经元之间的连结的权值不可偏废,因此须有不同大小的w权值组合方能达到计算误差最小,从而判定系统是否收敛。因此,权值的组合便等同于“路径”,较佳的“权值组”便是较短的“路径”。
由于蚁群算法的做法是在路径上作优劣的选择,神经网络的连结不可删除。本文中蚁群算法的重点在于探索和开发,通过探索设定不同的权值组合,开发选择最佳的那一组,多次反复计算从而得到误差最小的权值组。
2.1 探索
探索是蚁群算法最佳化的重要的步骤,目的是搜索数组中不同的路径供蚂蚁选择。最优权值组产生的方式是在一组权值的基础上随机改变各权值的大小,产生数组不同的权值组,探索过程中要注意以下两点:
(1)路径数m:路径数越多,蚂蚁的选择越多,出现靠近最佳解的机率也就越多;同时路径数越多计算量也就越大,造成网络系统计算耗时的情况也就越严重。
(2)变异量α:作用是产生介于(-α~α)的随机数,分别加入基础权值组合中改变个别的大小,产生新的权值组合。变异量的大小不可过大以避免发散,同时要根据情况改变大小,达到搜索最小值以及跳跃区间最小值的目的。
2.2 开发
开发是指蚂蚁在路径选择时的动作,是针对个别路径选择当次的最佳解,其判别指标是信息素τ的值,在每次网络学习时选出最佳权值组,累积信息素浓度。然后在每轮结束时选出最佳权值组当作下一轮的基础权值组。整个开发行为运用的公式如下:
误差函数:
概率运算:
其中权值组有1~m组,T代表当次学习输入值的对应的正确输出值。Yn代表第n组时的网络计算输出,代表第n组时的En倒数,Mk则是计算的限制条件,β代表En的重要性。
选择式:
当所有概率介于0~q0时选出最大的那组P(n),若大于q0则直接选择。
将选择组作信息素更新:
ρ为信息素蒸发量,作用在避免某组权值累积过大,而影响较佳解被选择的机率,建议设定在0.5~1之间。各组τ初始设定不可为0,以避免计算错误。Δτ的增加设定为一固定值,可判断信息素累积大小即可。
2.3 运算方式
神经网络的运作是以曲线拟合的方式工作,它可以找出自变量和因变量之间的规则,其权值结构往往无法解读,根据这一特点结合蚁群算法,可将不同匹配的权值组合视作不同长度的路径,如图1将隐藏层所有权值看作为一个组合,数据用X表示,经过不同权值组合输出不同的解Y,再由Y与核对输出数据T比较产生不同的E,在此,E值代表判断路径长短的指标。经过由探索动作所产生不同笔数的“路径”,再经过开发动作以信息素浓度选择,便产生如图1路径上颜色深浅不同的浓度结果,挑选出相对浓度较高者即为较佳的路径。考虑到本文研究的目的在于使神经网络快速收敛,所以蚁群最佳化的更新采用批次学习,其主要影响的是信息素的更新方式。
2.4 蚁群算法的学习与更新
蚁群神经网络学习的方式与BP神经网络相同,采用监督式批次学习方式,整体运作模式如图2所示。当网络结构设定完成后,以初始权值组为基础,使用介于的随机数产生m组不同组合的权值组,也就是“探索”。然后运用学习资料,以一批为单位在网络中计算,此时称作“区域更新”,每一笔数据通过网络计算后输出得m+1组(包括基础作用权值组)不同的E值,使E值最小的那组权值信息素增加更新一次,用以表示蚂蚁走过。其后将整批权值更新其信息素,因此蚂蚁的数量与当批资料的笔数相同。当整体资料学习完毕便算是一轮,其后挑选出信息素浓度最高的那组权值作为下一轮权值变化的基础权值,此时的这个动作便是“总体更新”。通过反复计算,在设定轮数完了,或E达到设定上的最小值时结束。
2.5 蚁群网络的状态转移
2.5.1 探索规则:
起始探索方式,设定随机运算探索变异量α应较大,以便在学习初期以较快的速度逼近最佳解,如图3A,以α为初始设定解开始,并以α为中心探索一个以变异量为α范围而产生多组解,再通过开发机制觅得一组较佳解b,重复相同动作之后觅得一组更优解c(图3B)。如果在极接近最佳解的状态下仍以α为探索的随机变异量,探索范围过大,使得探索产生的解易偏离最佳解,导致系统无法再向最佳解逼近,因而停滞不前(如图3C)。此时需考虑将随机变异量α作调整,迫使蚂蚁能有较佳的效率探索,进而使系统能获得最佳权值组(如图3D),需设定状态转移规则。
2.5.2 制定状态转移规则:
在本研究中,制定状态转移规则是以系统搜索范围缩小为目的,以促使最佳解的精度提高,可以归纳为以下两种:
(1)判定权值不再改变:
本研究中探索模式在于搜索可行解,探索的方式是以上一轮中蚂蚁选择的解作为基础而做延伸,当此轮得出的解仍以上一轮的解为较佳解时,表明系统在搜索中已经相当接近最佳解。此时便以一判别式作为修正变异量α改变的方式。判别式的判断方法设定为连续两轮相同,或三四轮相同时做修正,以确保判别式的严谨。
(2)判定误差函数大小:误差函数E值是蚂蚁在开发时判定路径优劣的一个重要判断因素,也是神经网络系统整体收敛的一项重要指标。如果蚂蚁探索的路径的误差函数收敛达一定程度时,表示其系统搜索的解已经相当靠近最佳解,例如当本轮的误差函数E值已收敛到0.003,而α值设定在0.1,此时探索产生的解可能大于其微调所需的幅度,因此需要将α值修正作调整,确保微调幅度能使系统精确度提高。
2.5.3 状态转移方式:
当探索与开发遇到瓶颈而停滞不前时,使用状态转移规则来改变系统学习模式,主要是起到微调的作用,而状态转移的方式大致归纳为以下两种:
(1)修正变异α值:将变异量范围缩小,使得探索新路径权值组和时能达到微调的作用。并在缩小变异量时,增加数组放大α的新探索权值组,以作为逃脱区间最小值的判别条件。
(2)改变探索项目:因权值组合变向太多,当全域最佳解搜索困难时,修正变异量α值,在收敛速度上仍有可改进的空间,可对部分权值项作调整。此时若已逼近最佳解,可固定前几层的权值,只针对隐藏层到输出层的权值作调整,进而达到加快系统微调的作用。
本文中状态转移方式在改变α时,除缩小α值外,另增加数组放大的α用以跳脱区间最小值,进一步搜索系统最佳解。并在学习后半部采用最陡坡度降法针对系统微调部分最强化。
3. 实例验证
本文分别建立BP神经网络和基于蚁群算法的神经网络(简称ABP)两种模式,并同时建构相同网络结构的方式,设计非线性系统做仿真实验。
3.1 验证方法
优劣性采用判断系数R2以及均方差MSE两种,来评定所选取的自变量与建立的模型关系是否适合。
其中:期望输出平均值,:第k个期望输出,:第k个回归计算输出。
判定系数R2通常用于判定自变量和因变量之间的符合度,通常介于0~1之间,R2越大符合性越好。
MSE代表正确期望与网络输出值的平均差异平方,其值越小越好,因此,R2越大MSE越小则为良好的模型状态。
3.2 网络初值的设定
(1)网络架构设定:隐藏层数目的设计方法会影响到神经网络的验证结果,通常1~2已具有不错的验证能力,能解决多数应用上的问题,因此决定仅以一层作为验证使用。至于神经元个数,由经验法则得到,当隐藏层神经元数为输入层个数的两倍时,神经网络的学习速度与输出值的精确度会达到一个良好的平衡。
(2)网络各参数设定:蚁群网络(ABP)初始权值组各值都以0为初始基础,BP网络以极小值接近于0的极小值做设定。蚁群网络转移规则采取重复5次选取同一权值组以及使用0.03为一临界点作为转移判断规则。
4. 实验结果讨论
使用一非线性模型以随机数产生数据(由于篇幅有限,数据不再列出):
学习数据:100个;回归预测:20个;学习轮数:1000;网络结构5-10-1;学习速率η:0.1;蚁群探索变异量α:0.01;蚁群探索路径m数:20。
数据仿真结果表明:收敛曲线图4中ABP在前30轮拥有快速学习的作用,比BP收敛速度慢,在前30轮运用蚁群搜索最佳解中便遇到瓶颈而提前启动“状态转移”,进而转换为最陡坡降法做缓慢学习。从误差曲线图5和回归预测资料图6可以看出:在经过1000轮学习后,两者的误差曲线以及预测状况都不理想,增加学习轮数能提升准确度。由表1表明:仅在学习1000轮后,ABP的判定系数仍拥有0.865482的水准。由两者的MSE以及数值状况判断,在学习效率上ABP优于BP。
参考文献
[1]高尚,杨静宇.非线性整数规划的蚁群算法[J].南京理工大学学报,2005,29(S1):120-123.
[2]高玮.蚁群算法在矿井通风系统优化设计中的应用[J].矿业研究与开发,2004,24(06):91-94.
[3]黄立波.非线性系统的神经网络模型预测控制.哈尔滨理工大学硕士论文,2007:7-9.
[4]孙希平.非线性连续系统和随机系统的镇定与辨识.华中科技大学博士论文,2006:1-9.
非线性回归算法 篇2
关键词:差分隐私,线性回归分析,敏感性,隐私预算
0 引言
线性回归分析是通过对给定数据集的属性值和预测值的统计整理和分析,找出已知属性和预测值的变化规律,用模型表示这种变化规律,并进行预测和分析。回归分析可应用于企业投资分析、医疗支出预测和机器学习等领域。图1为线性回归的一个实例,根据数据集中某台设备的温度和产量两个属性,找出这两者的线性关系模型,这样就能够利用设备的温度预测出该设备的产量。
图1线性回归模型实例
在实际应用中,直接发布回归模型参数容易泄露预测函数和数据集的数据信息。为了防止这种隐私泄露,隐私保护就变得非常重要。常用的隐私保护方法有k-anonymity[1]、l-diversity[2]、t-closeness[3]等,但是这些方法大部分都是基于某种背景知识。2006年Dwork[4]提出了差分隐私的理论体系,该模型不论攻击者具有多少背景知识,都能够通过添加噪声的方式,在较高程度上保护数据集隐私的同时尽可能减小数据的失真。文献[5]用差分隐私的方法实现了社会网络数据的发布。文献[6]基于差分隐私对一批线性计数查询提出了一个最优方案。文献[7]提出了一种发布差分隐私直方图的有效方法。文献[8]提出了一种基于遗传算法的多用途差分隐私模型。文献[9-11]总结了各种面向数据发布和分析的隐私保护方法,指出基于差分隐私的回归分析方法,并表明把差分隐私和回归分析进行结合和拓展也是一大研究热点。
应用差分隐私方法设计回归分析的算法中,文献[12]直接在输出结果上添加噪音,在一定程度上保护了隐私,但是所需噪声较大,影响预测精度; 文献[13,14]提出了一种逻辑回归分析方法,直接对n个扰动函数的均值添加噪声,添加噪音量有所减少,但该方法通用性不强。
文献[15]提出了一种函数机制FM( Functional Mechanism) ,通过对目标函数的系数统一添加噪声,得到添加噪声后的目标函数,再计算出最优的预测模型参数。该方法通用性强,适用于线性回归和逻辑回归等多种分析方法,但是算法的敏感性偏高,造成添加噪声偏大,使模型预测精度偏低。对于这个问题,本文提出一种针对线性回归分析的差分隐私算Diff-LR。通过对线性回归模型的目标函数进行分解,分配合理的隐私预算,再用拉普拉斯噪声分别对两个子函数的系数进行扰动,降低了整个算法的敏感性,减少了添加的拉普拉斯噪声,使线性回归模型预测更准确。
1 相关理论
1. 1 相关定义
定义1[4]( ε-差分隐私) 设有两个数据集D1和D2,D1和D2最多相差一个元组,给定一个随机隐私函数A,Range( A) 表示A可能输出结果O的取值范围( O∈Rang( A) ) ,如果A满足下列不等式,则称函数A满足 ε-差分隐私。
其中,ε表示隐私预算的代价,ε越小,数据保护程度越高。
定义2[16]对任意函数f:D→Rd,f的敏感性可定义为:
其中,D1,D2为给定的数据集,相差至多一条元组。
拉普拉斯机制的主要思想是通过添加拉普拉斯噪声来实现保护隐私的效果。
定理1[16]对于任一函数f:D→Rd,D为数据集,Δf表示其敏感性的大小,那么随机算法:
满足ε-差分隐私。其中,是相互独立的拉普拉斯变量,Δf与隐私预算ε是拉普拉斯变量的重要参数,所添加的拉普拉斯噪声量大小与函数敏感性成正比,与隐私预算成反比。
1.2差分隐私组合特性
差分隐私包含两个重要的组合性质[18],一是序列组合性,二是并行组合性。
性质1[17](序列组合性)给定一个数据集D,任一随机函数Ai满足εi-差分隐私,其中1≤i≤n,则函数Ai构成的组合函数对同一数据集D满足∑εi-差分隐私。
性质2[17](并行组合性)设任一随机函数Ai满足εi-差分隐私,其中1≤i≤n,对于互不相交的数据集Di,则函数Ai(Di)构成的组合函数满足(max(εi))-差分隐私。
1.3问题描述
设D为给定的训练集,包含了个元组,每个元组ti有d+1个属性值分别是:X1,X2,…,Xd和Y,表示为ti=(xi1,xi2,d…,xid,yi),其中。利用训练集建立一个预测函数p(xi)=xTiw*,w*是一个d维实数向量。预测函数通过输入某个元组的xi1,xi2,…,xid属性值使输出的预测值yi尽可能精确,线性回归模型的预测值与实际属性值的误差n n用一个目标函数表示,误差越小,预测精度越高。最优的线性模型参数w*可定义为:,即目标函数取最小值时,模型参数w*为最优值。本文针对这样的线性回归模型,设计出满足差分隐私的线性回归算法Diff-LR。
2 Diff-LR算法设计与分析
2. 1 Diff-LR算法设计
Diff-LR算法首先对线性回归模型的目标函数进行推导,把它简化成一个简单的二次多项式函数; 然后把目标函数分解成两个子函数,计算它们各自的敏感性; 对子函数合理分配隐私预算,再分别对两个子函数的系数添加拉普拉斯噪声,得到两个新的子函数,重新组合成一个添加噪声后的目标函数。当该目标函数取最小值时,得到最优的模型参数。
线性回归模型的目标函数可做出如下推导:
那么,很容易把目标函数看作w的二次函数,可简化为:
把目标函数拆分成子函数g(w)和t(w),令g(w)=aw2,t(w)=bw。Δ1表示g(w)的敏感性,Δ2表示t(w)的敏感性。在二次函数中,理想情况下目标函数的值为0,此时最优w的值为,与系数c无关。因此Diff-LR算法在求最优线性回归模型参数时可忽略系数c。设邻居数据集D、D'只相差一条元组,两个数据集最后一条元组不一样,分别为tn、tn',根据敏感性的定义可计算Δ1和Δ2:
对子函数g(w)、t(w)分配隐私预算ε1、ε2,根据拉普拉斯机制的特性可知,拉普拉斯噪音量的大小与函数的敏感性成正比,与隐私预算成反比。为了减少添加的噪声量,当敏感性较大时分配较大的隐私预算,敏感性较小时分配较小的隐私预算。根据计算的Δ1和Δ2的大小可知,敏感性在数据集属性维度d较大时,g(w)的敏感性比t(w)的敏感性更大。因此,分配隐私预算ε1、ε2时,使ε1≥ε2,即对于固定隐私预算ε,通过合理分配ε1、ε2,就可以减少噪音,使线性回归模型预测更准确。
Diff-LR算法如下:
如上述算法所述,第1-3行主要是把目标函数拆分成两个子函数g(w)和t(w),其中a、b分别表示两个子函数的系数,ε表示整个算法需要的隐私预算,ε1、ε2是分别分配给子函数g(w)、t(w)的预算;第4、5行主要是对两个子函数的系数分别添加噪声,表示系数a、b的矩阵形式,λ1、λ2分别表示添加拉普拉斯噪声后的子函数系数;第6、7行主要是求添加噪声后的目标函数表示对g(w)、t(w)添加噪声后的子函数;第8、9行表达的是当取最小值时,求取最优的模型参数,并返回的值。
2. 2 算法分析
基于下面定理的证明,验证算法Diff-LR的正确性。
定理2函数满足ε1-差分隐私
证明给定数据集D 、D' ,D 、D' 最多相差一条元组,假设D 、D' 只有最后一条元组不一样,分别为tn、tn',根据可得:
的计算满足ε1-差分隐私。同理可证,函数满足ε2-差分隐私。
定理3 Diff-LR算法满足ε-差分隐私
证明算法中第11行是,其中和分别满足ε1-差分隐私和ε2-差分隐私,且ε=ε1+ε2,根据性质1差分隐私的序列组合特性,可以推出满足差分隐私,即满足ε-差分隐私,证明了Diff-LR算法满足ε-差分隐私。
Diff-LR算法主要是对线性回归模型的目标函数拆分后的两个子函数分别计算敏感性,分配差异化的隐私预算以及对子函数的系数分别添加噪音,对于随机添加的噪音可能致使系数可能变成负数,造成不存在最优解问题,本文引用了文献[15]提出的正则化和谱修剪方法来避免这种情况。
3 实验设计与分析
文中的实验环境为Win 7,3. 6 GHz,2. 00 GB,Diff-LR算法是用Matlab语言实现。同FM算法一样,所用数据集US和Brazil都来自Integrated Public Use Microdata[18],分别包含370 000 和190 000条数据集,对数据集中的每个属性值进行预处理,使它们的取值范围在[- 1,1]。
本文通过选取数据集条数的80% 作为训练集,用来得到线性回归模型,剩下20% 为测试集,用来测试该模型的准确性。对实验结果采用的评判标准是均方误差errorRate ,定义如下:
其中,n表示测试集数据元组个数,xi和yi是数据集中已经给出的数据。每条元组的均方误差越小,线性回归模型预测越准确。
分别对数据集US和Brazil进行实验,针对不同数据集,不同的隐私预算 ε 值,Diff-LR算法和FM算法对实验结果产生影响如图2 和图3 所示。通过合理分配隐私预算参数 ε1、ε2,当隐私预算 ε 相同时,Diff-LR算法比FM算法均方误差更小,即Diff-LR算法添加噪声后的线性回归模型预测比FM算法更准确。随着 ε 逐渐增大,Diff-LR算法均方误差errorRate不断接近无噪音预测模型产生的误差,在保护隐私的同时极大降低了数据失真。不论对于较大数据集US还是较小数据集Brazil,Diff-LR算法都比FM算法的errorRate更小。同时,无论隐私预算怎么变化,无噪音模型的均方误差基本不变。
Diff-LR算法的均方误差比FM算法均方误差更小的原因有两点。1) Diff-LR算法对目标函数进行拆分,使得其中一个子函数的敏感性为4d ,另一个子函数的敏感性为2d2,而FM算法的敏感性为2( 2d + d2+ 1) 。根据拉普拉斯机制性质可知,拉普拉斯中噪音量的大小与敏感性成正比,算法的敏感性越大所需要的噪声越大。因为FM算法敏感性比Diff-LR算法敏感性更大,所以FM算法添加噪声产生的影响比Diff-LR算法更大,造成Diff-LR算法比FM算法均方误差更小,预测更准确。2) FM算法和Diff-LR算法均满足 ε -差分隐私,不同的是,FM算法是把隐私预算 ε 分配给整个目标函数,而Diff-LR算法通过分别给两个子函数分配不同的隐私预算 ε1、ε2,同时保证 ε =ε1+ ε2。Diff-LR算法为了减少添加的噪声量,给敏感性较大的函数分配较大的隐私预算,给敏感性较小的函数分配较小的隐私预算,即 ε1≥ ε2,添加的噪声更少,数据失真更小,预测精度更高。
4 结语
非线性回归算法 篇3
关键词:线性规划,支持向量回归,经验风险,结构风险,置信风险
0 引言
支持向量机算法是根据统计学习理论[1,2,3,4]SLT(Statistical Learning Theory)给出的,该算法既可以处理分类问题,也可以处理回归问题。支持向量机在优化过程中改变了传统的经验风险最小化原则,而是根据结构风险最小化原则进行优化,因此具有更好的泛化能力。另外,支持向量机还通过引入一个核函数来解决非线性问题,该算法能有效克服局部极小问题。在传统的支持向量机算法中,经验风险和置信风险需要一个折中参数C来控制,当参数C的取值大时,这时经验风险起主要作用,反之,当参数C取值小时,对经验风险的要求就不高。实际中,参数C的取值一般根据经验选取,但最优的参数C往往并不容易确定。关于参数C的选择方法已经有了一些研究成果[5,6]。文献[7,8]在二次规划情况下提出了给定风险水平的支持向量机分类和回归模型,达到了在给定经验风险水平下最小化结构风险的目的。本文将这一思想推广到线性规划支持向量回归模型中,给出确定风险水平的线性规划支持向量回归模型。本文最后以拟合一个回归函数为例给出仿真实验,同时在数据中加入一些噪声来验证算法的可行性和有效性。
1 传统的线性规划支持向量回归算法
基于线性规划的支持向量回归模型,采用下面的风险函数:
其中,‖α‖1表示参数空间中的l1-范数()。
回归模型采用核函数展开:
其中,k(x,y)为核函数,本文取高斯核函数。
此时的结构风险函数为:
其中,Remp[f]表示经验风险,表示置信风险,参数λ控制二者之间的比例。
绝对值符号不易处理,采用两个参数αi和去掉绝对值符号,同时应用ε-不敏感损失函数,回归问题归结为如下优化问题:
约束为:
这就是线性规划下的支持向量回归算法,不但有良好的学习性能,而且运算速度明显快于二次规划下的支持向量回归算法。
2 给定经验风险水平的线性规划支持向量回归模型
在模型式(4)中,参数C的作用是分配经验风险和置信风险之间的比例,参数C越大,就要求经验风险越小,但具体多大的参数C能保证多大的经验风险却无法知道。为了在模型中体现出经验风险水平的大小,这里把经验风险从目标函数中移出,在约束条件中加入一个体现风险水平的限制。回归问题的优化变成如下的形式:
该模型可以清楚地控制误差的大小,并且可以事先根据精度要求给出误差的限制,当然误差限制过小同样可以产生过拟合现象。实际应用中可以根据具体问题设置误差限制参数。
另外,模型式(8)中将总体风险用一个参数进行控制,这在数据中不存在异方差的情况下是可行的。然而,在建立实际问题的回归模型时,经常会出现某些因素随着观测值的变化而对被解释变量产生不同的影响,导致随机误差产生不同的方差,即异方差。这时,如果仍然采用一个参数来控制误差就显得不合理了。在这种情况下,可以根据不同的样本中含有的噪声不同而采用不同的参数进行误差控制。将约束条件式(11)改为:
就可以对不同的样本进行不同的误差控制,从而可以实现对含有不同噪声的样本给出不同的惩罚,这样使得该算法不容易被异常值所影响,具有更好的鲁棒性。
当样本点含有的噪声方差大时,参数ρ取大一点的值,反之取较小的值,比如取,其中是第i个观测值误差项的方差。在实际应用中,误差项的方差一般是未知的,但是当误差项方差随自变量水平以系统的形式变化时,可以利用这种关系确定误差项方差。比如,知道与成比例,那么,其中k是比例系数。参数,也可以去掉比例系数k。另外,在社会、经济研究中,经常会遇到误差项的方差与x的幂函数xm成比例,此时参数ρi可以取为。异方差大小的确定并没有一个统一的方法,不同的实际问题其确定方法也不一样。
为了说明方便,我们将修改约束条件后的模型称为模型式(13),目标函数及其它的约束条件不变。
3 实验分析
下面举例说明所给算法的有效性,并采用两种实验方式进行比较说明。
3.1 实验1
首先采用模型式(8)进行实验,所用数据由Matlab中的sinc函数产生。自变量∈[0,3π],间隔为0.1,因变量y=sinc(x)。核函数采用高斯函数:
这里取σ2=0.03,ε=0.001。用Matlab 6.1编程实现,在区间[0.1,3π]中间隔为0.37取不同于训练样本的测试样本。“-”表示的是实际值,“*”表示的预测值,图1显示的是参数ρ=0.1时的预测结果,图2显示的是参数ρ=5时的预测结果。实验结果表明,当误差控制参数ρ=0.1 (较小)时,预测精度很高,而当误差控制参数ρ=5 (比较大)时,预测精度明显降低,表明了控制参数ρ起到了控制误差的效果。
3.2 实验2
我们对含有噪声的数据采用模型式(13)进行实验,在前面的数据中加入适当的噪声,其中前10个样本中加入均值为0,方差为0.8的服从正态分布的随机噪声,其余样本加入均值为0,方差为0.1的服从正态分布的随机噪声。对加入噪声后的样本分别采用模型式(8)和模型式(13)进行拟合,图3显示的是模型式(8)的模拟结果,图4显示的模型式(13)的模拟结果,其中模型式(8)中的参数ρ=0.1,模型式(13)中的参数为:ρi=0.8,i=1,2,…,10;ρi=0.1,i=11,12,…,n;n为训练样本的个数。
测试指标采用均方误差:
式中,yi为实际值,yi为预测值,k为测试样本的数量。这里yi取未加入噪声的真实数据,以便为了比较模型对真实数据的拟合精度。其中,模型式(8)的预测结果为MSE=0.2255,模型式(13)的预测结果为MSE=0.0639。均方误差结果都表明,模型式(13)由于加入了不同的控制参数,起到了对不同噪声采用不同的惩罚,从而能更好地预测真实数据。
4 结语
本文将线性规划支持向量回归模型的目标函数中的经验风险加入到约束条件中,从而能够清楚地给定经验风险的控制范围,并且能有效避免传统支持向量回归模型中参数C的选择问题。由于算法中采用的是线性规划,因此运算速度要远远快于二次规划下的回归算法。另外,由于算法中还可以针对不同样本加入不同的误差控制参数,从而达到加权支持向量回归算法的效果。文中的仿真实例说明了所给算法的有效性。
参考文献
[1]Vapnik V N.The Nature of Statistical Learning Theory[M].Berlin: Springer-Verlag,1995:198-210.
[2]邓乃杨,田英杰.数据挖掘中的新方法-支持向量机[M].北京:科学出版社,2004:259-262.
[3]Burges C J C.A tutorial on support vector machines for pattern recognition [J].Knowledge Discovery and Data Mining,1998,2(2):34 -38.
[4]Smola A J,Scholkopf B.A tutorial on support vector regression[R]. NeuroCOLT TR NC-TR 98-030,Royal Holloway College University of London,UK,1998.
[5]刘靖旭,蔡怀平,谭跃进.支持向量回归参数调整的一种启发式算法[J].系统仿真学报,2007,19(7):1540-1543.
[6]闫国华,朱永生.支持向量机回归的参数选择方法[J].计算机工程,2009,35(13):218-220.
[7]Luo L K,Lin C D,Peng H,et al.Some new support vector machine models under given empirical risk[C]//Proceeding of the 4ht IEEE Conference on Industrial Informatics.Piscataway:IEEE Press,2006: 1207-1210.
非线性回归算法 篇4
总体最小二乘[1]认为平差模型中观测向量和系数矩阵同时含有误差, 并对其进行改正。针对系数矩阵含有误差的平差问题, 在理论上总体最小二乘较最小二乘更为严密。总体最小二乘的经典解法是奇异值分解法 (SVD) , 但由于其计算复杂且不利于编程, 测量学者提出了一些基于平差模型的迭代解法[2~7], 并对其实际应用作了一些研究[8~10]。在测量数据处理中, 线性拟合是总体最小二乘一个最重要的应用, 但总体最小二乘的常规解法 (即奇异值分解法和迭代解法) 都无法顾及线性回归中系数矩阵的常数列而是对其进行了改正, 这对线性回归模型来讲是不合理的。文献[5]以直线必须通过数据点的中心, 才能使其偏差最小为约束条件, 推导了一种求解线性模型的总体最小二乘算法, 虽然该算法提高了线性回归的逼近精度, 但仍然存在偏差。文献[7]通过将数据中心化后再采用奇异值分解法对回归参数进行解算, 则分离了系数矩阵的常数列, 得到的参数估值合理可靠。但其缺陷是计算复杂难以编程实现。鉴于此, 本文在基于平差模型的基础上, 推导了一种求解线性回归参数的总体最小二乘算法, 该算法易于编程实现。算例分析表明其可靠、合理。
1 总体最小二乘常规解法
1.1 SVD解法
线性回归模型为[1,2,6]:
式中:Δ观测量y的真误差, ak为回归参数, 当同时考虑到自变量xk也含有误差, 此时系数矩阵A中的元素含有误差, 则式 (2) 变换为总体最小二乘的平差模型:
采用奇异值分解 (SVD) 法将式 (2) 变换为:
求得参数估值为[1,2,6]:
式 (4) 中, n为非固定列对应参数的个数, σ2n+1为增广矩阵[A L]的最小特征值。其单位权中误差计算公式为σ02=σ2n+1/ (m-n-1) , 其中m为观测个数, n+1为参数的个数。
SVD解是将系数矩阵中所有元素看成是含有误差的, 这对线性回归模型来讲是不合理的。而且SVD解法较为复杂, 不利于测量数据处理的编程实现。
1.2 常规迭代解法
总体最小二乘的迭代解法为[2]:
进行迭代解算时, 首先按最小二乘法计算参数的初值X (0) , 然后根据式 (5) 反复迭代直到‖X (i+1) -X (i) ‖<ε则停止计算输出参数值, 单位权中误差按σ0=V/ (m-n) 计算。迭代解法最大的优点是充分运用到测量平差模型, 其迭代格式简单易于编程。但常规的总体最小二乘迭代解法都是将系数矩阵所有元素看成是含误差的, 这对线性回归模型也是不合理的。
2 线性回归参数的总体最小二乘迭代解法
2.1 算法推导
根据前文所述, 有必要建立基于总体最小二乘的线性回归模型和解法, 线性回归数学模型为:
可将式 (6) 进行等价转换为:
表示为矩阵形式为:
设v=vec (EA) , vec表示向量拉直运算, vec (EA) 即将矩阵从左至右逐列拉直成一列向量。在不考虑权重时, 根据总体最小二乘原理, 相应的误差期望和方差为:
式 (9) 中, 为矩阵的克罗内克积, Im和In分别为m和n阶的单位矩阵, 相应的其平差准则为:
根据式 (8) 与式 (10) 构造拉格朗日目标函数:
式 (11) 中, k为 (n+1) ×1的拉格朗日乘数;, In+1为n+1阶的单位矩阵。根据拉格朗日函数求极值的必要条件, 将式 (11) 分别对v、x求导并令其等于0, 化简整理后可得:
由式 (12) 的第一式可得:
式 (13) 中, vec-1表示vec的逆运算, 即将矩阵重新构造为m× (n+1) 的矩阵。
将式 (12) 的第一式代入到式 (8) 中, 并顾及, 整理后可得:
根据式 (11) 第二式和式 (14) 则可得:
根据式 (15) 即可得到参数^x的表达式:
根据上述推导, 其参数解算步骤如下:
(1) 对回归参数附初值^x (0)
(2) 按式 (17) 计算k值和新的回归参数值
(3) 重复步骤 (2) , 直到‖x (i+1) -x (i) ‖<ε, 则停止迭代
按上述迭代方法即可求得式 (7) 的方程, 相应的线性回归方程的参数解:
2.2 单位权中误差评定
根据线性回归模型式 (7) , 当同时考虑自变量误差即采用总体最小二乘求取回归参数值时, 其单位权中误差的计算公式为:
根据上文的迭代解再结合式 (12) 可得:
则按本文的推导, 其单位权中误差计算公式为:
在计算线性回归单位权中误差时, 按常规的总体最小二乘解法算得的结果比按式 (19) 计算的结果要小, 这与实践是不不相符的。因为, 常规的总体最小二乘解法没有顾及线性回归模型中系数矩阵常数列。而本文推导的解法从理论上比常规总体最小二乘解法更严密, 究其原因, 是因为按常规总体最小二乘解法对线性回归模型的单位权中误差评定有误, 下面则具体进行讨论。
按常规总体最小二乘法将线性回归系数矩阵中的常数列也进行了改正并参与精度评定, 其改正后的模型可表示为:
其单位权中误差评定公式为:
从式 (22) 可以看出, 其将常数列的改正值看成是自变量的改正值, 这显然是不对的。从改正模型来看, 应该将常数列的改正值归入到因变量的改正值中, 则变量的改正值为:
按式 (24) 进行改正值修正后, 再按式 (19) 进行单位权中误差的评定。如此得到的结果才与线性回归模型相符。这也解释了前文提出的疑问, 同时也表明不能单一以单位权中误差来评定一种平差模型和算法的优劣。因为它们的单位权中误差评定方式不一定都相同。
3 算例分析
3.1 算例1
运用文献[6]例5~10的数据, 用三个点 (1, 2) 、 (2, 6) 、 (6, 1) 来拟合一元线性回归方程。运用本文的解法得到的参数估值为6、1。这与文献[5]中将数据中心化后再采用奇异值分解法得到的结果相同, 而按常规总体最小二乘的奇异值分解法和迭代解法得到的参数估值皆为6.74、0.99。这是因为总体最小二乘的常规解法将系数矩阵的常数列也进行了改正, 得到的结果有偏差。而本文的解法则将系数矩阵的常数列分离开不加改正, 计算得到的参数估值较之可靠。
3.2 算例2
为进一步验证本文方法对线性回归模型的统一性和可靠性, 运用MATLAB模拟一平面方程。设平面方程为:z=1.5+x+2y, 在x和y没有误差时求得z的值上加上均值为0, 方差为0.005的随机误差, 组成观测值。然后分别对x和y添加均值为0, 方差为0.03的随机误差, 组成新的观测值, 如表1所示。分别采用最小二乘法 (LS) 、常规总最小二乘法、本文解法解算线性回归方程的参数值, 并按文中所述的单位权中误差评定公式计算其单位权中误差, 结果如表2所示。
从表2中的参数估值结果不难看出, 采用本文的总体最小二乘解法解算的回归参数值与真值最为接近, 而常规的总体最小二乘解法由于将线性回归模型中的系数矩阵中的常数列也进行了改正导致其结果与真实值有偏差, 最小二乘法由于没有考虑到线性回归自变量的误差即系数矩阵元素的误差, 计算的结果与真值偏差最大。这也可以从其单位权中误差中得出, 本文的总体最小二乘解法所得单位权中误差最小, 常规总体最小二乘解法次之, 最小二乘法最小。需要指出的是, 如果按常规总体最小二乘的单位权中误差计算公式得到的单位权中误差为0.0227, 比本文方法得到的值要小, 这就会误以为按常规总体最小二乘解法解算线性回归参数得到的精度比本文要高。其实不然, 这是因为其针对线性回归模型的单位权中误差计算公式有误, 通过本文的纠正得出的值才符合其实际。这也可以通过参数的估值结果与真值的比较中看出。
4 结束语
本文给出了一种线性回归参数估计的总体最小二乘算法, 该算法即能同时考虑线性回归自变量的误差即平差模型系数矩阵元素的误差, 又能顾及线性回归中系数矩阵常数列即对常数项不加改正。这弥补了常规总体最小二乘解法针对线性回归模型解算的不足, 且对基于总体最小二乘的线性回归单位权中误差进行了探讨, 纠正了针对线性回归模型的常规总体最小二乘单位权中误差评定的偏颇。
摘要:根据线性回归模型的特点, 推导了一种解线性回归参数的总体最小二乘算法。并对其单位权中误差的评定进行了探讨, 通过理论推导表明按常规的总体最小二乘解法求得的线性回归单位权中误差与实际不符, 并对其进行了纠正。通过算例分析且与常规的总体最小二乘解法进行比较, 结果表明了算法的正确性和可靠性。
关键词:总体最小二乘,线性回归,平差模型,迭代解法,奇异值分解
参考文献
[1]GOLUB G H, VAN L C F.An Analysis of the Total Least Squares Problem[J].SIAM J Numer.Anal, 1980, 17:883~893.
[2]鲁铁定, 周世健.总体最小二乘的迭代解法[J].武汉大学学报 (信息科学版) , 2010, 35 (11) :1351~1354.
[3]孔建, 姚宜斌, 吴寒.整体最小二乘的迭代解法[J].武汉大学学报 (信息科学版) , 2010, 35 (6) :711~714.
[4]许超钤, 姚宜斌, 张豹等.基于整体最小二乘的参数估计新方法及精度评定[J].测绘通报, 2011, (10) :1~4.
[5]邱卫宁, 齐公玉, 田丰瑞.整体最小二乘求解线性模型的改进算法[J].武汉大学学报 (信息科学版) , 2010, 35 (6) 708~710.
[6]丁士俊, 姜卫平, 杨颜梅.整体最小二乘线性回归模型与算法[J].测绘通报, 2012, (12) :8~10.
[7]邱卫宁, 陶本藻, 姚宜斌等.测量数据处理理论与方法[M].武汉:武汉大学出版社, 2008.
[8]陈义, 陆珏, 郑波.总体最小二乘方法在空间后方交会中的应用[J].武汉大学学报 (信息科学版) , 2008, 33 (12) :1271~1274.
[9]陆珏, 陈义, 郑波.总体最小二乘方法在三维坐标转换中的应用[J].大地测量与地球动力学, 2008, 28 (5) :77~81.
非线性回归算法 篇5
生物化学分析仪是目前常见的临床检验设备之一, 在糖代谢检查、心脏疾病检查、肝功能检查、肾功能检查方面都起着重要作用。常见测试项目包括谷丙转氨酶 (ALT/GPT) 、谷草转氨酶 (AST/GOT) 、碱性磷酸酶 (ALP) 、总胆红素 (T.BIL) 、直接胆红素 (D.BIL) 、总蛋白 (TP) 、白蛋白 (ALB) 、尿素氮 (BUN) 、肌酐 (Cre) 、二氧化碳结合力 (CO2) 、尿酸 (UA) 、总胆固醇 (CHO) 、甘油三酯 (TG) 、高密度脂蛋白胆固醇 (HDL-C) 、低密度脂蛋白胆固醇 (LDL-C) 、葡萄糖 (GLU) , 可为临床上对疾病的诊断、治疗和预后及健康状态提供信息依据[1,2]。
生物化学分析仪按照反应装置的结构, 可以分为连续流动式、离心式、分立式与干片式4 类, 按照自动化程度可分为半自动型与全自动型。目前常用的是分立式半自动生化分析仪与全自动生化分析仪。计算方法一般都支持终端法、两点法与速率法。
在临床检验应用上, 对于样本测试结果可分为定性测试与定量测试。常见的定性测试方法有cutoff算法。定性项目的结果为阴性、阳性或者可疑, 未提供具体数量等更加详细的信息。临床上如果需要知道某种物质具体含量的测试项, 例如甲胎蛋白, 则需要使用定量测试方法。
常见的定量算法有单点回归、线性回归、折线回归、指数回归、幂回归等[3]。其中单点回归、线性回归、折线回归属于一元一次线性回归, 而指数回归通过对吸光度与浓度取对数后, 转化为一元一次回归, 幂回归也可以通过求对数的方法转化为一元一次回归。因此, 本文讨论的一元一次线性回归具有通用性。
1 测试原理
生物化学分析仪属于光学式分析仪器, 它基于物质对光的选择性吸收, 即分光光度法, 其测量原理基于比尔—朗伯定律, 数学表达式为:
其中, Abs为吸光度;T为透光率, 是透射光强度与入射光强度之比;K为摩尔吸收系数, 它与吸收物质的性质及入射光的波长 λ 有关;b为吸收层厚度;c为吸光物质的浓度。
比尔—朗伯定律的物理意义是当一束平行单色光垂直通过某一均匀非散射的吸光物质时, 其吸光度Abs与吸光物质的浓度c及吸收层厚度b成正比。
在生物化学分析仪上, 单色器 (滤光片或者光栅) 将光源发出的复色光分成单色光, 特定波长的单色光通过盛有样品溶液的比色池、光电转换器将透射光转换为电信号后送入信号处理系统进行分析。
2 标准液曲线的制作
在实际操作中, 通过仪器只能获取到样本吸光度值。为了获取到样本的浓度值, 需要增加几个对照物, 也就是标准液。标准液的浓度是已知的, 把标准液与样本一起测试, 就能获取到二者的吸光度, 再利用标准液的浓度值来估算出样本的浓度。
按照试剂说明书, 配置好固定浓度的标准液后, 在指定波长下测出它们的吸光度值, 然后以吸光度为纵坐标, 以浓度为横坐标, 画出该溶液的标准曲线。根据标准曲线获取样本浓度的方法有3 种。
2.1 标准比值法
即标准比较法。在相同的条件下, 配制标准溶液和待测样品溶液的有色溶液, 并测定它们的吸光度。由二者吸光度的比较, 可以求出待测样品溶液的浓度。计算方法是:
待测样品溶液的浓度=待测样品溶液的吸光度/标准溶液的吸光度×标准溶液的浓度
2.2 标准系数法
即计算因数法。此法较为简单, 将多次测定标准溶液的吸光度算出平均值后, 按下式求出标准系数:
2.3 回归分析法
本文讨论的方法即是将制作标准曲线的各种标准溶液浓度的数值与其相应的吸光度值使用一元一次线性回归模型进行拟合, 得到样本浓度值。
3 结果计算
3.1 数据预处理
通过测试, 获取标准液的测试结果见表1。
为了验证该试剂测试结果是否具有线性, 将上述的原始数据在直角坐标系上画散点图[4], 如图1所示。
从图1 可以看出, 试剂测试标准物所得的浓度与吸光度之间呈现某种线性关系, 可以使用一元线性回归模型来估算样本的定量结果。
3.2 建立线性回归模型方程
对于所测得的原始数据, 建立一元一次线性回归模型:
其中, y为浓度, x为吸光度, a、b为系数。
设在一次试验中, 取得n对数据 (xi, yi) (i = 1, 2, …, n) , 这n对数据 (xi, yi) 就是一组样本值, 根据这一组样本值可以寻求一对系数a、b。但由于y是一个随机变量, 所以通过另一组试验又可得到一对a、b的值[5]。也就是说, 可以通过一组数据所得到的系数a、b的估计值, 记作, 通过一组试验数据所求出的回归方程为:
对于每次试验取得n对数据 (xi, yi) , 记yi是随机变量y对应于xi的试验值, 记是试验值yi的回归值。每一个试验值yi与回归值之间的差, 可表示为2 个纵坐标之差, 这个差有正有负, 其绝对值为。我们的目的是找到使所有这些距离之和为最小的一条直线, 即最小。但由于绝对值在处理上比较麻烦, 所以代之以平方和:
这个平方和Q是随着回归系数而变的, 因此, 它是的一个二元函数, 其中xi、yi为常数。根据二元函数求极值的方法, 分别对a、b求偏导数得到:
令
解出回归系数为
其中, 令
公式 (3) 或写成
式中的即为Q的最小值点, 使得达到最小。以为回归系数的直线方程, 就是所要求的回归方程[6,7]。
3.3 数据处理
根据上述算法, 对测试数据进行预处理, 结果见表2。
得到:
计算系数有:。
拟合出的一元一次方程为:
如果某个样本测试得到的吸光度为0.2Abs, 则定量结果为:
4 效果验证
为了验证该算法的效果, 我们使用生化常见的总蛋白 (TP) 与尿素2 个项目, 使用试剂标配的质控品对算法进行验证, 验证项目是CV值。
4.1 试验原理
按照正常的生化项目测试步骤, 设置该验证试验。测试方法为终点法, 使用线性回归作为定量方式, 测试对象为对应项目质控品[8]。在546 nm波长的光源下, 使用比色法测试结果。加入试剂1、样本后测试, 将原始数据记录下来, 其中TP测试结果如图2 所示。
图中实线为反应起始线与终止线, 虚线为加入样本后的时间点。
使用仪器测试后, 记录经过拟合计算出来的定量结果, 记录为xi, 用表示平均值, n为测量的次数, 通常为10 次。S′为标准偏差。按照公式 (5) 、 (6) 计算CV值:
4.2 测试结果
按照上面描述的要求, 测试TP项目与尿素项目, 结果见表3。
根据质控品说明书, TP项目与尿素项目的CV值要求在2.5%之内。上述测试结果满足要求, 该算法是有效可行的。
5 结论
生物化学分析仪在临床检验、动植物疫病、食品安全方面有着广泛的应用。对于目前市场上常见的生物化学分析仪, 本文给出一种定量结果的计算方法, 该方法经过CV值验证, 并且结合临床试验, 证明能满足使用要求。同时一元一次线性回归方法能扩展到幂回归、指数回归等其他算法, 应用范围也可以延伸到工业物质检测、农药残留检测等方面, 有着广泛的意义[9]。
参考文献
[1]易龙强.基于一元线性回归理论的数字正弦信号频率测量算法[J].电测与仪表, 2011, 48 (3) :20-24.
[2]华德宏, 刘刚.一种改进的一元线性回归算法[J].现代电子技术, 2006, 29 (7) :63-68.
[3]孟玲玲, 孙常栋, 韩宝如.基于最小二乘法和独立分量分析的间谐波检测算法[J].电力系统保护与控制, 2012, 40 (11) :76-81.
[4]赵郁森, 陈晓亮.一元线性回归处理逆动态法实验数据[J].原子能科学技术, 2009, 43 (7) :586-589.
[5]汪宏良, 陈丽峰, 胡芳.生物化学分析仪检测结果的临床评价[J].检验医学与临床, 2007, 4 (6) :558-559.
[6]叶德谦, 赵世磊.基于线性回归的关联规则相关性方法的研究[J].计算机研究与发展, 2008, 45 (z1) :291-294.
[7]鲁铁定, 陶本藻, 周世健.基于整体最小二乘法的线性回归建模和解法[J].武汉大学学报:信息科学版, 2008, 33 (5) :504-507.
[8]李克, 叶英植.线性回归中粗差点判别法的改进及其应用[J].仪器仪表学报, 2004, 25 (z1) :723-724.
非线性回归算法 篇6
准确预测坦克蓄电池剩余容量是关系到坦克能否正常工作以及能否最大化发挥作战效能的大事[1]27。目前主要的预测方法有: 模糊理论[2]366 - 267、神经网络[3]52 - 53、卡尔曼滤波法、电量累计法、电阻测量法等[4]。文献[1]27对这些预测方法进行了分析研究,并指出了这些方法所存在的不足,提出了基于模糊神经网络模型预测方法,从实验结果看该预测方法取得了不错的预测效果。笔者认为尽管模糊神经网络模型在坦克电池剩余容量预测方面有着不错的效果,但模型结构及运算非常复杂,模型输入与输出之间的依赖关系不清晰,可操作性较差,不易掌握和使用,而且模型的运算结果不稳定,不宜推广。为此本文提出了一种结构简单、运算稳定且易掌握和使用的初等非线性预测模型。该初等模型的输入同文献[2]366 -[3]54,即选用影响坦克蓄电池剩余容量的两个主要因素: 电动势和内阻。将收集到的数据分为建模数据和检验数据,利用MATLAB曲线拟合工具箱完成模型的建立。通过对检验数据的预测分析,表明本文所建模型具有较高的精确度,完全可以用以坦克电池剩余容量的预测。
1 基本数据
实验采用的蓄电池型号为6 - TKA - 180( 86 式蓄电池) ,额定电压12 V,容量180 Ah。通过实验采集到的部分数据[1]29见表1。
将表1 序号1 ~ 24 即前24 组数据作为建模样本,后10 组( 序号25 ~ 34) 作为测试样本,进行预测建模及检验。
2 多元非线性回归模型建立
取自变量x1= 电动势( V) ,x2= 内阻( Ω) ,因变量y = 剩余容量( % ) 。
按以下两步完成模型的建立:
( 1) 分别建立y对x1和x2的两个单因素最佳一元非线性回归模型,分别记作f1( x1) 和f2( x2) 。要完成这一步,首先选择所需要的曲线回归模型( 结构简单者优先) ,通过比较判定系数R2,均方根误差RRMSE,残差平方和SSSE等模型性能指标,选出合适的曲线模型。完成这一步只需利用MATLAB曲线拟合工具箱cftool( curve fitting tool) 即可。
( 2) 建立y对f1( x1) 和f2( x2) 的二元线性回归模型: y =αf1( x1) + βf2( x2) + γ( α,β,γ 为回归系数) ,进而得到非线性回归模型,并对所建模型进行检验。
2. 1 单因素一元非线性回归模型
( 1) 剩余容量与电动势的一元非线性回归模型
利用表1 序号为1 ~ 24 的电动势指标和对应的电池剩余容量建模。利用MATLAB曲线拟合工具箱cftool调用几种曲线模型[5],并比较模型的判定系数R2及其他性能指标,可知双高斯曲线的判定系数R2= 0. 992 5 ( 调整R2= 0. 990 4 ) 最大,此时的RRMSE= 0. 025 82,SSSE= 0. 012,拟合曲线如图1 所示。故选双高斯函数作为y对x1的非线性回归模型。
所建立的双高斯一元非线性回归模型为:
( 2) 剩余容量与内阻的一元非线性回归模型
利用表1 序号为1 ~ 24 的内阻指标和对应的电池剩余容量建模。利用MATLAB曲线拟合工具箱cftool调用几种曲线模型,并比较模型的判定系数R2及其他性能指标,可知双正弦曲线的判定系数R2= 0. 993 0 ( 调整R2= 0. 991 1 ) 最大,此时的RRMSE=0. 024 87,SSSE= 0. 011 13,拟合曲线如图2 所示。故选双正弦函数作为y对x2的非线性回归模型。
所建立的双正弦一元非线性回归模型为:
2. 2 二元非线性回归模型
建立电池剩余容量y对f1( x1) 和f2( x2) 的线性回归方程。利用MATLAB统计工具箱提供的regstats函数[6]计算回归系数,并进行显著性检验。得到的二元线性回归方程为:
模型显著性检验: 均方根误差RRMSE= 0. 0213,判定系数R2= 0. 994 0,调整的判定系数R2= 0. 993 5,方差分析中的p 0. 000 1,说明回归方程( 3) 是极显著的,拟合效果非常好,可用以电池剩余容量预测。
将式( 1) 和式( 2) 代入式( 3) ,得电池剩余容量y关于自变量x1,x2的多元非线性回归方程:
3 模型检验
将表1 中序号为25 ~30 的检验数据( 电动势x1( V) ,内阻x2( Ω) ) 代入模型( 4) 可得电池剩余容量的预测值,结果见表2。用同样的建模数据建立BP神经网络、支持向量机及线性回归模型,并对检验数据对应的电池剩余容量进行预测,将预测结果置入表2。
检验结果表明本文建立的多元非线性回归模型具有较高的预测精确度,好于神经网络、支持向量机及线性回归模型的预测结果。另外,本文建立的多元非线性回归模型除了具有较高的精确度外,还具有结构较简单、解析式清晰、运算结果稳定等优点。
4 结束语
非线性回归算法 篇7
径流中长期预报一直以来是人们关注的重大课题, 在气候变化和人类活动共同的影响下, 径流的变化更加复杂化, 对其未来的精确描述十分困难。传统的径流预测方法主要有两大类:成因预测法和统计预测法[1]。成因预测法[2]多是基于研究大气环流、长期天气过程的演变规律和流域下垫面物理状况的确定性预测模型, 是径流预测研究的一个重要发展方向, 但离实用尚有较大差距。统计预测法[3]是从大量历史资料中应用数理统计的理论和方法, 寻找预报对象和预报因子之间的统计规律和关系或水文要素自身历史变化的统计规律, 建立预报模式进行预报, 常用的有时间序列法[4]、多元回归分析法[5]等。时间序列法具有原始资料搜集简便、预见期长等优点, 但它的缺点在于不能充分利用对预测量具有很大影响的气候信息和其他因素, 导致了预报的不确定性和数据的不稳定性。回归分析法虽然充分考虑了预测量对预测因子的依赖关系, 但它忽略了预测量自身的演变规律。本文将自回归和多元回归有机结合起来, 提出了一种非线性混合回归模型, 利用神经网络进行模型求解, 并应用于戴营站的年径流预报中。这种非线性混合回归模型既考虑了预测量自身演变的客观规律, 又利用了预测量对预测因子的依赖关系, 且充分考虑了水文过程的非线性关系, 模型具有一定的理论基础, 是一种值得研究的实用方法。
1 混合回归模型
1.1 多元回归模型
在影响中长期径流的众多相关因素中, 可以通过敏感性分析和弹性分析, 选择影响显著的因素, 建立多元线性回归预测模型 (Multi-Regression Model, MR) 。
设x1, x2, …, xp是p (p>1) 个线性无关的可控变量, y是表示径流量的因变量, 若它们之间的关系为:
则称为p元线性回归模型。式 (1) 中, b0, b1, …, bp, σ2都是与x1, x2, …, xp无关的未知参数, ε是随机误差。
自回归模型是在回归模型的基础上推广、导出的。
1.2 自回归模型
对于时间序列{yt}, 如果满足:
就称模型 (2) 为p阶自回归模型 (Auto Regression Model, AR) , 或者p阶自回归。式 (2) 中, a0, a1, a2, …, ap为自回归系数, ε1为模型相应的白噪声序列。
1.3 非线性混合回归模型
回归模型和自回归模型是统计模型中的两种最基本的模型, 尽管对许多随机现象, 用这两种模型都给予了很好的描述, 但对于复杂的水文现象, 单纯地使用某种模型去描述就表现出不足, 弥补单一模型不足的一个自然想法就是将两者结合起来就形成混合回归模型。文献[6]以年径流作为自回归因子, 降水、气温和用水作为回归因子, 建立了年径流预测的线性混合回归模型, 对黄河三门峡站年径流进行预测。对于理想的多输入、单输出系统, 设其输入为{x1}、{x2}、…、{x6}, 经过系统的作用后, 输出为{y}, 则线性混合回归模型为:
式中:yt为系统在t时刻的输出;a (0) , a (1) , …, a (s) 为系统的响应函数, 也称回归系数;q0, q1, …, qs为模型的阶数, 其中q0为自回归阶数, q1, …, qs为回归阶数;εt为模型的残差。
在全球气候变暖的背景下, 降水、气温等气象要素的变化引起径流的变化, 但是径流对降水、气温变化的响应并不是呈现简单的线性关系。刘昌明[7]通过大量坡面降雨试验从微观尺度上揭示了径流率随降雨强度的非线性变化现象。同时, 从宏观方面根据流域降雨径流观测资料, 采用流域水文模型的方法, 进行径流量对降雨和气温变化的响应的模拟分析, 同样证实年径流与年降水与年气温之间关系是非线性的, 影响径流变化的各因素之间是一种强耦合的非线性关系。
径流变化的影响因素与径流量之间是一个非线性映射问题, 因此, 为反应输入变量与输出变量之间的相关关系, 构造如下非线性混合回归模型:
式中:f (·) 称为非线性混合回归函数, 其中模型的阶数q0, q1, …, qs为待估计参数, q0为自回归阶数, q1, …, qs为回归阶数。
2 非线性混合回归模型的参数确定及预测效果分析
2.1 模型建立
径流形成过程是多种因素相互作用、相互联系的复杂的自然现象, 不同时间尺度下, 径流的变化受到的影响因子不一样。但总的来说, 在不考虑人类活动的情况下, 影响河流天然径流量变化的主要因素为气温、降水变化, 主要由于全球气候变化改变了与水循环密切相关的气候因子等;另外, 由于年径流的相依性, 年径流量自身也存在相关关系。因此, 流域水文系统可以看作是一个多 (因素) 输入、单 (径流) 输出系统。
在本文研究中, 输入因子为以往的年径流量{Qt-1, Qt-2, …, Qt-n}、降水量{Pt, Pt-1, …, Pt-n}和气温{Tt, Tt-1, …, Tt-n}, 输出因子为年径流量{Qt}, 由于径流变化的影响因素与径流量之间是一个非线性映射问题, 因此, 为反应输入变量与输出变量之间的相关关系, 构造如下非线性混合回归模型:
式中:f (·) 为非线性函数, q0, q1, q2是模型的阶数;εt为模型的残差。
上式 (5) 即为非线性混合回归系统水文模型的结构。
2.2 模型定阶
根据上述模型结构, 采用潮河流域戴营水文站 (1956-2000年) 的降水量、年气温和修正后的年径流来建立预测模型, 其中1956-1992年前37年的数据作为训练样本, 1993-2000年后8年作为预测检验样本。
以线性混合回归模型的阶数来确定非线性混合回归模型的阶数。线性混合回归模型的阶数确定和参数识别方法参见文献[7]。参数的估算和阶数的确定是相互联系、互为前提的, 可通过Matlab编程一次实现。计算得到自回归阶数为2, 回归阶数为2的线性混合回归预测模型如下:
因此, 影响未来径流的因子包括当年的降水、气温以及前期的降水、气温和径流量, 共有6个因子作为输入。
2.3 参数估计
根据Kolmogorov定理, 任何一个时间序列都可以看成是一个由非线性机制确定的输入输出系统的近似, 由于神经网络具有通过学习逼近任意非线性映射的能力, 故采用神经网络强大的非线性映射能力来实现式 (5) 的非线性函数f (·) 。
设p个样本集合{ (x (t) , y (t) ) |x∈Rm, y∈Rn, t=1, 2, …, p}, 式中R为映射空间。对于p个样本集合的离散空间序列, 神经网络可以完成从输入到输出的高度非线性映射, 即可以找到某种映射使得f:Rm→Rn。采用输入节点为m, 输出节点为n, 隐层节点为u的3层神经网络来实现f, 网络的输入与输出之间的关系如下:
式中:f为sigmoid函数;Φ为输入层至隐含层的激励函数;k=1, 2, …, n;t=1, 2, …, p;xi (t) 为t时刻网络的输入;
设网络总的误差小于ε, 即
根据kolmogorov定理[8], 确定非线性混合回归预测模型的BP网络隐含层节点数为13, 最终选择[1,6]网络结构进行年径流的预测。
BP网络的隐层神经元采用tansig函数作为激励函数, 输出层神经元采用logsig函数作为激励函数。采用自适应学习速率动量梯度下降反向传播traingdx函数对网络进行训练。规定的期望误差为0.01, 最多迭代次数为5000次, 学习效率为0.1。
2.4 数据处理
由于BP网络以值域为[0, 1]的S形函数作为转换函数, 因此在利用神经网络进行预测之前, 需将实际数据进行适当的变换, 规范到[0, 1]区间, 使数据主动适应神经网络, 以提高神经网络预测的准确性。文献[9]对于研究了线性变换和几种基本的非线性平滑变换, 指出对数据样本进行COS型变换的效果较好。本文采用COS型变换, 将数据样本变换到[0, 1]区间。COS型变换的基本形式为:
2.5 预测结果分析
为使训练后的网络具有较好的预测能力, 必须有足够的样本, 否则网络将无法归纳出样本集中的内在特征。但样本过多则会造成网络过度接近样本值, 从而丧失归纳和推理能力。经过多次实验, 最后选用1956-1992年共37年的数据作为训练样本, 以1993-2000年共8年的数据作为检验样本来检验模型的精度。按照上面的训练过程, 以matlab编程实现此算法, 得到1958-1992年的年径流量的拟合值如图1, 图2为戴营1958-1992年实测和模拟径流散点图。再通过网络训练得出的权值和阈值, 将后8年的检验样本输入此网络, 得到1993-2000年的各年径流预测值如图3, 图4为戴营1993-2000年实测和模拟径流散点图。
为了进一步说明非线性混合回归模型的优越性, 本文采用自回归模型 (Auto-regression Model, AR) 、多元回归模型 (Multi-Regression Model, MR) 和线性混合回归模型 (Linear Mix Regression Model, LMR) 对同样的算例进行对比计算, 4种方法的比较结果见表1。从表1所显示的结果可以看出, 基于BP网络的非线性混合回归模型的预报合格率为75%, 对径流预报效果较好, 误差变化范围缩小, 预报稳定且精度高, 充分说明了这种方法应用于径流中长期预报的有效性。
3 结 语
本文建立了以年径流量为自回归因子, 年降水和气温为回归因子的年径流预测的非线性混合回归模型, 利用BP网络进行模型求解, 并对戴营水文站的年径流进行预测, 拟合期的年径流计算值与实测值线性回归系数R2为0.825 4, 检验期的年径流计算值与实测值线性回归系数R2为0.747 3, 预测结果表明了非线性混合回归模型进行年径流预测的有效性。同时将非线性混合回归模型与自回归模型、多元回归模型和线性混合回归模型进行对比研究, 结果表明基于BP网络的非线性混合回归模型的预报合格率为75%, 对径流预报效果较好, 误差变化范围缩小, 预报稳定且精度高, 充分说明了这种方法应用于径流中长期预报的优越性。
参考文献
[1]Chow V T, Maidment D R, Mays L W.Applied Hydrology[M].New York:McGraw-Hill, 1988.
[2]Thompson S A.Simulating of climate change impacts on waterbalances in the central United States[J].Phys Geogr, 1992, 13 (1) :31-52.
[3]Freeze R A.A stochastic-conceptual analysis of rainfall runoffprocesses on a hillslope[J].Water Resources Research, 16 (2) :391-408.
[4]洪时中.非线性时间序列分析的最新进展及其在地球科学中的应川前景[J].地球科学进展, 1999, 14 (6) :559-565.
[5]王秀杰, 练继建, 费守明, 等.基于小波消噪的混沌多元回归日径流预测模型[J].系统仿真学报, 2007, 19 (15) :3 605-36-8.
[6]蒋晓辉, 刘昌明, 刘煜, 等.用混合回归模型预测黄河三门峡站年径流变化的初步研究[J].中国科学E辑, 2004, 34 (增刊) :95-102.
[7]刘昌明.黄河流域水循环演变若干问题的研究[J].水科学进展, 2004, (5) :608-614.
[8]张乃尧, 阎平凡.神经网络与模糊控制[M].北京:清华大学出版社, 2000.