1.非线性回归的应用
对实际科学研究中常遇到不可线性处理的非线性回归问题,提出了一种新的解决方法。
该方法是基于回归问题的最小二乘法,在求误差平方和最小的极值问题上,应用了最优化方法中对无约束极值问题的一种数学解法——单纯形法。应用结果证明,这种非线性回归的方法算法比较简单,收敛效果和收敛速度都比较理想。
回归方程的建立对于上述这些可化为线性模型的回归问题,一般先将其化为线性模型,然后再用最小二乘法求出参数的估计值,最后再经过适当的变换,得到所求回归曲线。在熟练掌握最小二乘法的情况下,解决上述问题的关键是确定曲线类型和怎样将其转化为线性模型。
确定曲线类型一般从两个方面考虑:一是根据专业知识,从理论上推导或凭经验推测、二是在专业知识无能为力的情况下,通过绘制和观测散点图确定曲线大体类型。举例:1 1790-1960某国人口变化数据:注意:即便线性方程对对观测数据拟合相当好,但有关误差项的独立性和方差假设有可能被破坏。
原因是时间序列的数据误差项往往不独立,误差项大小有可能根据数据总体的大小而变化,意思就是,即便适合这个样本的观测量的方程,但是,不适合总体。根据经验,人口增长模型不能被转化为线性模型,所以,可以利用曲线回归或者非线性回归。
进一步比较究竟是曲线回归好还是非线性回归好,需要建立新的残差变量,这一步并不难,就是在spss中,相应分析的保存子对话框中建立新的对应模型的变量。其实,有一个万能公式:spss中,所有的“保存”对话框的功能都是,在二维表窗口也就是spss的盛放数据窗口中建立新变量,这个新变量有默认名,是相应分析的重要结果。
保存新变量以后,需要根据残差的序列图进行判断:最平稳的就是最合适的。例2:血中药物浓度和时间曲线呈非线性关系。
这个是根据专业背景知识而判断。药物不可能马上见效,也许在血液中逐步或者突然见效。
例3:身高和体重,在青少年中,是呈直线关系,因为,青少年在不断成长,但是,对于整个人的生命周期,确是曲线关系 因为,成年人的身高一般是确定的。像这样的例子根本用直线回归拟合不了,也称为非本质线性模型。
对于这种实际情况,可以使用非线性回归的分段模型。最终目的是使残差平方和最小。
也就是在图形中跟大多数散点接近。spss操作注意:1 初始值确定:①利用简单假设确定,例如,如果在所有变量中最大的一个个案值为178万,就需要选择200为初始值,再根据方程估计参数值。
②利用图形或者图形辅助,数据转换如果参数没有初始值,也不能简单的设置为0,最好是将它们设置为预计要改变的值大小。总之,就是想办法找到一个比较合适的值,多设几个,然后比较。
也可以根据专业背景和重点,来设值。这个还可以根据数学计算,例如,方程二边同时取对数。
需要具体问题具体分析。2 迭代和收敛:迭代是计算机自动计算的,例如将迭代设置为1000,意思就是计算机算了1000次,每一次都是根据上一次的结果的基础进行再运算。
当然,人工笔算需要算1000年。迭代不会永无止境的计算下去,而是收敛标准或者称作最大迭代的设置后,不论得没有得到结果,是否达到目标,都会停止。
在结果输出表格中有迭代的历史记录。这个表格就是过程表,每一步怎样算的,都可以找到。
因为迭代是计算机自动计算,例如,烧水,如果开了不断电,水烧干了就会起火,所以,机器需要人控制,它本身没有情感。spss操作:不论“计算变量”对话框或者“非线性回归”,和非线性回归的“损失函数”对话框都是很像的,有一个计算器算盘,函数组,函数和特殊变量。
各种元素组合在一起,构成一个表达式,这个表达式构成一个新变量。只要用鼠标将对应的元素加入到表达式中,然后检查,或者事先在本上写有表达式,对应好,基本就没有问题。
其实,spss许多操作根据文字可以猜出个大概。3 损失函数:“非线性回归”对话框是对整个因变量的运算法则,但是,损失函数是对某一个统计量的运算法则,spss默认是使用最小残差平方和找出非线性模型,也可以自己设置。
在相应对话框中都有设置。可以这样以为:损失函数就是估计误差的函数,它是一个负面指标,越小越好。
4 参数约束:多数非线性模型中,参数必须限制在有意义的区间内。指的是在迭代过程中对参数的限制。
分为线性约束和非线性约束。线性约束中将参数乘以常数 但这个常数不能为其他参数或者自身。
非线性约束中至少有一个参数和其他参数相乘或者相除或者进行幂运算。结果:1 估计参数的渐进相关矩阵:如果出现非常大的正值或者负值,可能因为模型中参数过多,也说明观测量数目不足,但是不说明模型不拟合。
2 95%置信区间:如果95%置信区间不包括零,表明这个参数具有统计学意义。如果离零比较接近,下结论时候应慎重。
3 曲线拟合中计算出来的决定系数实际上是曲线直线化直线方程的决定系数,不一定代表变换前的变异解释程度。也就是说二个模型的决定系数有可能不具有可比性。
引申:1 曲线回归最好的模型和非线性回归最好的模型进行比较。从中挑选最合适的模型。
通过保存残差变量然后绘制。
2.非线性回归.回归分析是什么.线性拟合,非线性拟合
线性回归是利用数理统计中的回归分析,来确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方法之一,运用十分广泛.
有一类模型,其回归参数不是线性的,也不能通过转换的方法将其变为线性的参数.这类模型称为非线性回归模型.
回归分析(regression analysis)是确定两种或两种以上变数间相互依赖的定量关系的一种统计分析方法.
已知某函数的若干离散函数值{f1,f2,…,fn},通过调整该函数中若干待定系数f(λ1,λ2,…,λm),使得该函数与已知点集的差别(最小二乘意义)最小.如果待定函数是线性,就叫线性拟合或者线性回归(主要在统计中).
所谓参数拟合,就是已知试验或者真实数据,然后寻找一个模型对其规律进行模拟的过程中,求取模型中未知参数的一个过程.
3.Matlab多元非线性逐步回归
matlab 提供了stepwise函数完成逐步回归,具体的用法可以查看matlab帮助。
----------------------------------------------------------
多元非线性回归都是化为线性回归来做的;
具体的做法如下:令x4=x1*x1,x5=x1*x2;x6=x1*x3;x7=x2*x2;x8=x2*x3,x9=x3*x3
模型变为 y=b0+b1*x1+b2*x2+……+b9*x9.
具体的matlab程序:
data=[10 70 37.6 2.88986
10 60 37.6 2.92914
15 40 37.6 3.00129
10 40 29.2 3.1656
10 40 22.4 3.23027
30 40 37.6 3.44775
10 50 37.6 3.82448
10 40 37.6 4.15502
10 40 16.8 4.3986
20 40 37.6 4.59071];
x1=data(:,1);x2=data(:,2);x3=data(:,3);y=data(:,4);
x4= x1.*x1;x5=x1.*x2;x6=x1.*x3;x7=x2.*x2;x8=x2.*x3;x9=x3.*x3
x=[x1 x2 x3 x4 x5 x6 x7 x8 x9];
stepwise(x,y)
%%%%%%%%%%%%%%%%%%%%%%%%
再慢慢调
4.什么是非线性回归
所谓回归分析法,是在掌握大量观察数据的基础上,利用数理统计方法建立因变量与自变量之间的回归关系函数表达式(称回归方程式)。回归分析中,当研究的因果关系只涉及因变量和一个自变量时,叫做一元回归分析;当研究的因果关系涉及因变量和两个或两个以上自变量时,叫做多元回归分析。此外,回归分析中,又依据描述自变量与因变量之间因果关系的函数表达式是线性的还是非线性的,分为线性回归分析和非线性回归分析。通常线性回归分析法是最基本的分析方法,遇到非线性回归问题可以借助数学手段化为线性回归问题处理。
转载请注明出处众文网 » 非线性回归毕业论文(非线性回归的应用)