基于最小二乘法的人口增长模型拟合
基于最小二乘法的人口增長模型擬合
- 一.問題描述
- 二.問題分析
- 三.實驗過程
- 四.實驗結果分析
一.問題描述
?? 全國第七次人口普查正在進行中,為了更好的了解我國人口總數,判斷人口數量變化規律,為相關政策的制定與執行提供理論依據。需要一定的數學模型來對人口數量進行估計和預測,需要選擇合適的數學方法來實現上述目標。
二.問題分析
??為了對2020年全國總人口有一個較為準確的估計,需要查找2020年之前若干年的全國總人口數據,依據已有的統計數據來估計未知的數據。經過比較與選擇,本課題采用最小二乘法的指數增長模型來對數據進行擬合來,進而完成對2020年的總人口進行預測的目標。
三.實驗過程
??查閱相關資料可搜集到2000年至2019年我國的人口數據資料如下表所示:
???????表1 人口總數統計表
| 人口 | 12.65 | 12.76 | 12.84 | 12.92 | 12.99 | 13.07 | 13.14 | 13.21 | 13.28 |
| 年份 | 2009 | 2010 | 2011 | 2012 | 2013 | 2014 | 2015 | 2016 | 2017 |
| 人口 | 13.34 | 13.41 | 13.47 | 13.54 | 13.61 | 13.67 | 13.74 | 13.82 | 13.90 |
| 年份 | 2018 | 2019 | |||||||
| 人口 | 13.95 | 14.00 |
??根據已有資料,現對統計數據進行建模,可采用線性增長模型和指數增長模型。現比較兩者效果,根據結果選出最合適的模型。
(1) 線性增長模型
觀測值的模型:yi=a+bxi+ei,i=1,2,…ny_{i}=a+b x_{i}+e_{i}, \quad i=1,2, \ldots n yi?=a+bxi?+ei?,i=1,2,…n
線性模型:y=a+bx
擬合精度:Q=∑i=1nei2=∑i=1n(yi?a?bxi)2Q=\sum_{i=1}^{n} e_{i}^{2}=\sum_{i=1}^{n}\left(y_{i}-a-b x_{i}\right)^{2} Q=i=1∑n?ei2?=i=1∑n?(yi??a?bxi?)2
多項式擬合函數:(程序采用MATLAB實現)
function p=mafit(x,y,m) format short; A=zeros(m+1,m+1); for i=0:mfor j=0:mA(i+1,j+1)=sum(x.^(i+j));endb(i+1)=sum(x.^i.*y); end a=A\b'; p=fliplr(a'); end輸入:(拖動進度條往右劃可查看完整)
x=[2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019];y=[12.65 12.76 12.84 12.92 12.99 13.07 13.14 13.21 13.28 13.34 13.41 13.47 13.54 13.61 13.67 13.74 13.82 13.90 13.95 14.00];p=mafit(x,y,1)輸出:
p =0.0697 -126.7102 所以線性模型為y=0.0697*x-126.7102 預測2020年人口數據: 輸入:x=2020; y=0.0697*x-126.7102; 輸出:y =14.0838(2) 指數增長模型(用簡單的線性最小二乘法)
輸入:
輸出:
p =0.0052 -7.9030 所以指數模型:y=e^(-7.9030+0.0052x) 預測2020年人口數量: 輸入:x=2020; y=exp(-7.9030+0.0052*x) 輸出:y =13.4772擬合圖形程序:
x=[2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019]; y=[12.65 12.76 12.84 12.92 12.99 13.07 13.14 13.21 13.28 13.34 13.41 13.47 13.54 13.61 13.67 13.74 13.82 13.90 13.95 14.00];a=mafit(x,y,1); x1=[2000:1:2019]; y1=a(2)+a(1)*x1; b=mafit(x,log(y),1);y2=exp(b(2))*exp(b(1)*x1); plot(x,y,'*') hold on plot(x1,y1,'--r') hold on plot(x1,y2,'-k') legend('原曲線','曲線一','曲線二')輸出結果如下圖所示:
?????圖1 matlab輸出結果曲線圖
????(注:曲線一為線性模型,曲線二為指數模型)
四.實驗結果分析
?? 由于我國有關人口控制的相關政策的實行,使得人口增長率逐年下降, 到2020
年人口數量不會一直呈線性變化,故模型二更適合我國目前人口變化的模式。雖然數模模型的預測不一定準確,因為要受到數據來源的影響,本設計所搜集到的數據來源不一定非常精準,如若能夠保證數據來源的穩定性,那么預測結果有一定的參考價值,可為相關部門參考和借鑒。
總結
以上是生活随笔為你收集整理的基于最小二乘法的人口增长模型拟合的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux的串口驱动分析
- 下一篇: sharepoint搭建文档服务器,Sh