如何使用matlab建立人口预测模型
来源:网络收集 点击: 时间:2024-04-08常见人口预测模型有Logistic模型,人口指数增长模型,当然我们也可以采用人工神经网络及灰色预测模型来建立人口预测模型。接下来,我将以Logistic模型为例示范如何将一个非线性模型转化为线性模型并进行模型参数求解与检验,首先,我们有Logistic方程来推导Logistic人口模型,过程如下图:

经过上图的推导,我们得到了一般情况下的logistic人口预测模型,为了便于计算,我们将上述模型进行进一步整理得到Logistic模型的基本形式,如下图:

接下来,通过变化将Logistic模型转化为线性模型,过程如下:

然后,再使用matlab进行该线性模型的参数求解及检验,代码如下:
%%人口预测模型
%下面有某地区30年的人口数据,试给出该地区人口增长的数学模型
clear;clc
y=;
% T=年份-起始年份
T=1:30;
%对数据作线性处理
for i=1:30,
x(i)=exp(-i);
Y(i)=1/y(i);
end
%计算回归系数b
c=zeros(30,1)+1;
X=;
b=inv(X*X)*X*Y
for i=1:30,
%计算拟合值
z(i)=b(1,1)+b(2,1)*x(i);
%计算离差
s(i)=Y(i)-sum(Y)/30;
%计算误差
w(i)=z(i)-Y(i);
end
%计算离差平方和
S=s*s;
%计算回归误差平方和
Q=w*w;
%计算回归平方和
U=S-Q;
%计算并输出F检验值
F=28*U/Q
%计算非线性回归模型的拟合值
for j=1:30,
p(j)=1/(b(1,1)+b(2,1)*exp(-j));
end
%输出非线性回归模型的拟合曲线
plot(T,y)
hold on
plot(T,p,r-);

关于参数求解与F检验的具体算法在此不再赘述,有兴趣的网友请自行百度。接下来,对上述代码中的一些函数进行简单介绍,想要进一步了解的网友可以查询matlab帮助文档:
exp(t):指数函数e^t;
zeros(m,n):构造m行n列的0矩阵;
inv(A):返回A的逆矩阵;
sum(Y):求和函数,求Y的所有项之和;
plot(x,y,r-):以x的值为横坐标,y的值为纵坐标,绘制以“-”代替.的红色曲线;
6/6最后,运行程序得到F检验值及回归系数的值还有Logistic人口预测模型拟合优度。

本经验面向初学者,不涉及一些更深内容,请大家勿喷。
有兴趣的网友可以建立BP神经网络或者灰色预测模型来与Logistic模型进行对比,进一步加深了解。
如果本经验对你有所帮助,请点击左下角的投票按钮为作者投票,谢谢!
MATLAB人口预测模型线性回归模型非线性回归模型LOGISTIC模型版权声明:
1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。
2、本站仅提供信息发布平台,不承担相关法律责任。
3、若侵犯您的版权或隐私,请联系本站管理员删除。
4、文章链接:http://www.1haoku.cn/art_472264.html