数据拟合丨人口预测模型
生活随笔
收集整理的這篇文章主要介紹了
数据拟合丨人口预测模型
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
數據擬合丨人口預測模型
路漫漫其修遠兮,吾將上下而求索
??下表所列是某地區1971一2000年的人口數據,試給出該地區人口增長的數學模型。
| 1971 | 1 | 33815 | 1986 | 16 | 34520 |
| 1972 | 2 | 33981 | 1987 | 17 | 34507 |
| 1973 | 3 | 34004 | 1988 | 18 | 34509 |
| 1974 | 4 | 34165 | 1989 | 19 | 34521 |
| 1975 | 5 | 34212 | 1990 | 20 | 34513 |
| 1976 | 6 | 34217 | 1991 | 21 | 34515 |
| 1977 | 7 | 34344 | 1992 | 22 | 34517 |
| 1978 | 8 | 34458 | 1993 | 23 | 34519 |
| 1979 | 9 | 34498 | 1994 | 24 | 34519 |
| 1980 | 10 | 34476 | 1995 | 25 | 34521 |
| 1981 | 11 | 34483 | 1996 | 26 | 34521 |
| 1982 | 12 | 34488 | 1997 | 27 | 34523 |
| 1983 | 13 | 34513 | 1998 | 28 | 34525 |
| 1984 | 14 | 34497 | 1999 | 29 | 34525 |
| 1985 | 15 | 34511 | 2000 | 30 | 34527 |
??根據表中的數據,做出散點圖,如圖所示。
??由圖可以看出,人口隨時間的變化呈非線性變化,而且存在一個與橫坐標軸平行的漸近線,故可以用Logistic曲線模型進行擬合。
??因為Logistic曲線模型的基本形式為
??所以,只要令 y′=1y,x′=e?ty′=1y,x′=e?t,就可以將其轉化為直線模型
y′=a+bx′y′=a+bx′
?? 下面,用MATLAB進行回歸分析擬合計算。回歸擬合程序如下: clear clc % 讀入人口數據(1971-2000年) Y=[33815 33981 34004 34165 34212 34327 34344 34458 34498 34476 34483 34488 34513 34497 34511 34520 34507 34509 34521 34513 34515 34517 34519 34519 34521 34521 34523 34525 34525 34527] % 讀入時間變量數據(t=年份-1970) T=[1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30] % 線性化處理 for t=1:30x(t)=exp(-t);y(t)=1/Y(t); end % 計算,并輸出回歸系數B,即計算回歸方程 y'=a+bx' 中的a和b的值 c=zeros(30,1)+1; X=[c,x'];%相當于30個方程組,求解a和b 的值. 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*s'; % 回歸誤差平方和Q Q=w*w'; % 計算回歸平方和U U=S-Q; % 計算,并輸出F檢驗值 F=28*U/Q % 計算非線性回歸模型的擬合值 for j=1:30,Y(j)=1/(B(1,1)+B(2,1)*exp(-j)); end % 輸出非線性回歸模型的擬合曲線(Logisic曲線) plot(T,Y,'r*')
??運行結果:
??當數據較多時,從Excel中讀取數據:
??運行結果:
總結
以上是生活随笔為你收集整理的数据拟合丨人口预测模型的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 计算机应用免费课件,计算机应用基础ppt
- 下一篇: nginx源码学习