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

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/AlburtHoffman/article/details/50468285

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

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

年份 美国 中国
2005 13.09 2.257
2006 13.86 2.713
2007 14.48 3.494
2008 14.72 4.522
2009 14.42 4.99
2010 14.96 5.931
2011 15.52 7.322
2012 16.16 8.229
2013 16.77 9.24
2014 17.42 10.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

>>>

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

展开阅读全文

没有更多推荐了,返回首页