首页天道酬勤人口预测模型有哪些,如何判断回归模型的拟合程度

人口预测模型有哪些,如何判断回归模型的拟合程度

张世龙 05-13 06:53 69次浏览

数据拟合人口预测模型

路很远,我上下求索

下表列出了一个地区1971-2000年的人口数据,并给出了该地区人口增长的数学模型。

年时间变量t t=年-1970人口y' role='presentation'yy/人年时间变量t=年-1970人口y' role='presentation'yy/人197113815198616345201972398719871787173450719733400419881834416519834198341983452197219753121999021999920343 9345198319319752197531219719 83445819932345191979934498199424342434345198034345198019801995253452198119811344831996345211982198212344488199727345198342 73452319831983198319828345219831983452198345219821982198

从图中可以看到,人口的时间变化是非线性的,并且有一条平行于横轴的渐近线,可以用Logistic曲线模型拟合。

Logistic曲线模型的基本形式是

y=1a bet y=1 a b e t

因此,如果y'=1y、x'=ety'=1y、x'=et,则能够变换为直线模型

y'=abx'y'=abx '

其次,利用MATLAB进行回归分析拟合计算。 回归拟合步骤如下。 clearclc%读取人口数据(1971-2000年) y=[ 338153398134004341653421234327343444483444476344483444883444448734444444444513344 5153451734519345193451934521345213452134523452345253452534527 %读取时间变量数据(t=年-1970 ) t=[ 1234567810111213141516177 y(t )=1/Y(t ) t 计算end%,输出回归系数b。 也就是说,计算回归方程y'=a bx '中a和b的值c=zeros (30,1 ) 1。 X=[c,x']; %相当于30个方程式,求出a和b的值。 b=inv(x ) x ) y ) forI=1:30,%回归拟合值z ) I )。 b (1,1 ) b ) 2,1 ) ) x ) I ); %计算方差s(I )=y ) I )-sum(y ) y )/30; %计算误差w(I )=z ) I )-y ) I; end%计算方差平方和SS=s*s '; %回归误差平方和QQ=w*w '; %计算回归平方和wsdl=S-Q; 计算%,输出f检验值F=28*U/Q%,计算非线性回归模型的拟合值for j=1:30,y(j )=1/(b )1) b ) 2,1 ) exp(-j ); end%输出非线性回归模型的拟合曲线(Logisic曲线) plot(T ) t、y、' r* ' )

执行结果:

数据较多时,从Excel读取数据:

clearclcy=xls read (d : (file.xlsx ),1,) B1:B30 ); %读取数据Y=Y '; t=xlsread(d:(file.xlsx ),1,) A1:A30 ); %读取数据T=T '; for t=1:30,x(t )=exp(-t ); y(t )=1/Y(t ) t endc=zeros (30,1 ) 1; X=[c,x']; b=inv(x ) x ) y ) %b=inv ) x ) x ) y ) forI=1:30,z ) I )=b ) 1,1 ) b ) 2,1 ) ) x ) I s(I )=y ) w(I )=z ) I )-y ) I; endS=s*s '; Q=w*w '; U=S-Q; F=28*U/Qfor j=1:30,y(j )=1/(b (1,1 ) b ) 2,1 ) *exp(-j ); 结束打印(t,y )的执行结果:

人口预测的数学模型,中国人口预测数学模型 神经网络预测模型matlab代码,用matlab拟合人口增长曲线