搜集 1950∼2020 年间美国人口数据,, 猜测其满足的函数关系, 并综合数据预测美国 2030 年的人口数.
题目来源datawhale开源项目动手学数据分析
https://github.com/datawhalechina/hands-on-data-analysis
数据来源Google public data数据
accounts.google.comhttps://accounts.google.com/signup/v2/webgradsidvphone?service=publicdata&continue=https%3A%2F%2Fwww.google.com.hk%2Fpublicdata%2Fexplore%3Fds%3Dkf7tgg1uo9ude_%26hl%3Den%26dl%3Den&hl=en&dsh=S117685215%3A1655295662679028&biz=false&flowName=GlifWebSignIn&flowEntry=SignUp&TL=AM3QAYZOTKejj-1QcTehsnDMrCfkjja2rADkPgZntAfIJTpAzNVICpmonOUavHp7很遗憾的是由于没搞定Google邮箱账号数据没下下来,所以最后数据是借用的这个
(62条消息) 动手学高等数学(python)_,。!__的博客-CSDN博客
对其中1950-1955年的数据按照Google public data数据进行了更改(手动改实在太多了,阿巴阿巴)
线性拟合首先直接用Excel自带的XY散点图对数据通过最小二成拟合出了一条直线,直线方程为:
y=2560252.38*n-4839830594.50
下面是拟合的图:
图中的y与公式中y相同,x与n相同。
蓝色圆点是各年的人口数据,红色虚线是拟合直线。
通过pycharm根据公式计算:
def nextYears(n):
return 2560252.38*n-4839830594.50
if __name__ == '__main__':
num = nextYears(2021)
print('测试:2021年人口为',num)
num = nextYears(2030)
print('预测:2030年人口为', num)
结果取整为:
测试:2021年人口为 334439465
预测:2030年人口为 357481736
其中2021年测试人口对比实际人口328239523偏差较大,其结果相对来说不够理想。
三阶多项式通过Excel拟合出来的三阶多项式结果如下:
y=32.41*(n**3)-190009.79*(n**2)+373752714.30*n-246475799713.90
其中y为人口数量,n为年份。
拟合图如下:
图中的y与公式中y相同,x与n相同;蓝色圆点表示各年人口数,红色虚线表示拟合曲线。
通过pycharm根据公式计算:
def nextYears(n):
return 32.41*(n**3)-190009.79*(n**2)+373752714.30*n-246475799713.90
if __name__ == '__main__':
num = nextYears(2021)
print('测试:2021年人口为',num)
num = nextYears(2030)
print('预测:2030年人口为', num)
其输出结果如下:
测试:2021年人口为 328036218.02005005,取整为328036218
预测:2030年人口为 354355774.1000061,取整为354355774
根据调查显示美国2021年人口为328239523,预测比实际低约0.0619%,还算比较接近吧。
结论基于三阶多项式的测试结果,接受其预测,则预测显示美国2030年人口为354,355,774。



