如何利用SPSSAU拟合非线性回归模型?

如果数学模型为非线性关系,比如人口学增长模型Logistic(S模型),其模式公式为:y = b1 / (1 + exp(b2 + b3 * x)),其中y为人口数量,x为年份(实际数据为第n年,数字从0年起,依次顺序增加),b1,b2和b3分别为三个估计参数,exp为自然指数的意思。此数学表达式并非线性表达式,因此不能使用SPSSAU的线性回归进行拟合。

诸如此类非线性关系(即不是直接关系)的非线性模型,可使用非线性回归进行研究。SPSSAU当前提供约50类非线性函数表达式,涵盖绝大多数非线性函数表达式。

 

备注:图中出现的b1,b2,b3等代表待估计参数;exp表示自然指数,ln表示自然对数,cos表示余弦函数;“**”表示指数的意思。


 

 

进行非线性回归模型构建时,通常分为三步:

第一步:首先需要结合专业知识选择正确的构建模型,比如人口增长预测时使用logistic模型,经济学研究的抛物线二次曲线模型等。

第二步:设置参数初始值;与线性回归不同,非线性回归模型数学原理上使用迭代思想计算参数估计值,因而对初始值的不同设置,很可能会导致不同的结果,因而初始值设置较为重要,其可使用模型求解更为精确,并且有助于模型快速迭代收敛。关于初始值的设置在案例中有更详细说明。

第三步:模型预测。在得到参数拟合值后,并且拟合效果在认可范围内时,那么可使用模型进行预测数据,输入X的数据信息,对应得到Y的预测值。

 

背景

1978~2016共计39年我国人口数据,当前希望建立人口数量logistic模型(S模型),通常建立人口数量模型后,可为人口数据预测提供建议。案例数据如下:

2 理论

Logistic模型函数表达式为:y = b1 / (1 + exp(b2 + b3 * x)),其中y为人口数量,x为‘第N年’(起始1978年为数字0,1979为数字1,依次下去),b1,b2和b3分别为三个估计参数,exp为自然指数的意思。其中b1的实际意义为渐近线,即Y(人口)无限接近的数字。

自然的想到,人口最多在14亿左右,因而b1的初始值可设置为数字14。至于b2和b3这两个参数值,代入特殊点,即第0年,即x=0时,y=9.6259,可先计算出b2值为-0.79,接着基于b1,b2,b3,并且代入第1年这一特殊点数据,计算得到b3约为-0.042,因此就得到3个参数对应的初始值。当然不进行设置也可以,并没有固定要求,如果不设置,SPSSAU默认以数字1作为初始值,如果不设置,有可能出现计算结果不理想。

 

 

特别提示:

  • 初始值的设置上并不固定要求,通常可结合模型的实际意义和实际数据情况进行设置,比如本案例中最大人口数量为14亿;与此同时,还可结合数据特殊点的特殊特征代入计算得到一个大概的初始值;比如本案例时分别代表x为0或1这两个特殊点,分别计算得到参数的初始值。
  • 如果不设置初始值,SPSSAU默认以数字1作为初始值。

 

3 操作

本例子SPSSAU操作截图如下:

 

注意如下:

  • 首先选择正确的非线性函数(即模型),函数公式处会展示出该模型对应的函数公式(即模型表达式),选择对应的因变量和自变量数据,设置好参数后点击分析即可。
  • 参数的初始值上,如果没有把握,一般直接不设置就好,但建议针对初始值进行设置;
  • 参数的上下界通常不需要进行设置,除非有较大的把握。比如本案例的人口初始值为14亿,那么下界可设置为10,上界可设置为20。

 

4 SPSSAU输出结果

SPSSAU输出3个表格,1个图形和模型预测,分别如下说明。

 

5 文字分析

上表格展示输入的模型初始参数值,如果没有设置过初始值,默认初始值为1。

 

上表格展示出3个参数的估计值,如果涉及模型中各参数的专业意义,比如本案例中参数b1代表当前拟合模型的渐近线值,否则无其它特殊的意义,其目的仅为了得到数学上的估计模型表达式,用于进一步预测使用等。如果说p值小于0.05则说明参数具有统计学意义(也或者95%置信区间不包括数字0),如果各个参数均具有统计学意义,一般也可从侧面说明模型拟合效果较好。

 

上表格展示出模型拟合情况,通常可查看R方来判断模型拟合效果,本案例时R方值接近于1,意味着本次的logistic模型非常有效的拟合了我国人口增长数据(1978~2016),至于F检验,在非线性回归模型时使用较少,通常不使用此指标。接着使用拟合图直观展示拟合效果如下图:

 

上图直观展示本次人口增长logistic模型拟合效果情况。从图中也可看出,实际数据与拟合数据基本完全吻合在一起,说明拟合效果非常好。因而当前模型可使用,因此用于预测2022年的数据,自变量x为第N年,2022年为第44年,因此输入数字44,得到2022年的人口数据为14.057亿。

 

剖析

(1)关于初始值。初始值是由研究人员输入的一个‘大概’值,即参数的大概估计值,大概预期的值,与此同时,也可设置参数的范围,即上下界,但通常情况下不设置上下界值,除非认为有必要,通常不需要设置上下界值。

 

(2)关于初始值的设置方法。通常包括两种,一是结合专业知识进行判断,二是利用模型公式时的特殊点(比如X=0时,Y=?)去求解得到。专业知识判断上,某参数的实际意义为数据的最大值,那么就设定该参数为最大值即可。SPSSAU默认以数字1作为参数值。

 

「更多内容登录SPSSAU官网了解」

posted @ 2021-07-13 16:28  spssau  阅读(1251)  评论(0编辑  收藏  举报