中国GDP什么时候会超过美国

来源:互联网 发布:淘宝卖家能延长多久 编辑:程序博客网 时间:2024/04/30 13:04

经常看到网上讨论中国什么时候能赶超美国的争论。且不说这个问题有多无聊,讨论这个问题的人也很无聊。看了半天,也没看出个所以然。还不如针对这个问题收集数据,做做分析。

本文主要收集GDP相关数据。这个指标现在争议很大,不能够反映国民经济的很多方面。但就统计数据的质量来说,GDP比较全面,而且容易获得。这里选取世界银行的统计数据,中国和美国2005年到2014年十年间的GDP数据如下:

年份美国中国200513.092.257200613.862.713200714.483.494200814.724.522200914.424.99201014.965.931201115.527.322201216.168.229201316.779.24201417.4210.36

美国的GDP线图如下:

中国的GDP线图如下:

两张图基本上都趋近直线,中间会有一些拐点,所以先用一次线性回归来拟合:

china_z1=np.polyfit(china_years, china_gdps, 1)

china_p1=np.poly1d(china_z1)

>>> print china_p1

0.919 x + 0.8514

us_z1=np.polyfit(china_years, us_gdps, 1)

us_p1=np.poly1d(us_z1)

>>> print us_p1

0.4284 x + 12.78

解方程得到

>>> (12.78-0.8514)/(0.919-0.4284)

24.31430900937627

计算年限:

>>> 2005-1+25

2029

所以按照中国目前的增速,至少要到2029年GDP才会超过美国。考虑到中国现在GDP增速下滑等等不确定因素,这个过程还可能要晚一些。
定义误差函数:

>>> def error(f, x, y):

…     return scipy.sum((f(x) – y)**2)



计算一次限行误差如何:

>>> china_f1=scipy.poly1d(china_z1)

>>> china_f1(25)

23.825945454545447

>>> us_f1=scipy.poly1d(us_z1)

>>> us_f1(25)

23.493090909090906

>>> print error(china_f1, china_years, china_gdps)

0.764862072727

>>> print error(us_f1, china_years, us_gdps)

0.905429090909

>>>

这个误差还是比较小的。但实际上上面两幅图都不是完美的直线,二是有向上的曲度,所以可以考虑使用二次方程建模。具体参见这里

0 0
原创粉丝点击