五千年(敝帚自珍)

主题:评美国人口专家论证饿死三千万的方法和结论 -- hwd99

共:💬44 🌺267 🌵13
全看分页树展 · 主题 跟帖
家园 评蒋正华对大跃进饿死人的估算结果

要点:本文从蒋的计算原理和还原蒋的计算过程后指出,蒋的计算结果与美国人口专家科尔的计算结果是一致的,其报告结果与计算结果无关,与科尔一样是伪造的。

我国国内在饿死三千万人问题上使用人口学理论和方法开展的定量研究很少。除了国家统计局在80年代初招标,推动西安交大蒋正华进行了此项研究,发表了几篇学术文章[1],对计算方法和结论进行了简要介绍外[2],并无其他公开报道的工作。由于该工作经过国家多部委专家评审[3],并获得了国家科技进步一等奖[4],可以说,是国内该方面代表性工作。因此,我们只需要评论蒋正华的工作,本文以蒋最后一篇文章[5]来分析。

蒋正华的工作仅使用了中国前三次人口普查资料,其中使用的1982年普查资料是1981年分年龄死亡率数据[5],另使用了1953和1964年普查资料中分年龄和性别的人口分布资料。蒋没有使用生育率抽查数据,虽然柯尔在报告中一再论证,它和中国的人口普查资料是高度一致的,但从实际需要使用的关键数据育龄妇女分年龄生育婴儿数来看,两者是高度不一致[4]。因此,蒋正华先生没有使用生育率数据。

蒋正华假定,不同年份中国的分年龄和性别的存活率都可以使用两个参数与1981年分年龄存活率关联起来,如果用S1981(x)表示中国1981年女性年龄为x岁人口的存活率,它是已知的,来自中国1982年人口普查资料,则1953-1964年间的某一年y的女性年龄为x岁人口的存活率Sy(x)可以按下式计算:

Log(Sy(x))=Ay+By* log(S1981(x)) *x/100 (2)

该式对任何年龄x都是成立的,也就是A和B仅与年份相关,与年龄无关。该假定是有人口学理论基础的。人们生活条件的改善,将同时降低各年龄人口死亡率;而不同年龄死亡率天然就是不同的,由于人的寿命总是有限的,老年人死亡率总是比年轻人高。人口学根据大量统计资料表明,可以使用不同的经验式来描述这种关系。

我们可以针对男性或女性,分别选用仅与年份相关,不受年龄影响的A和B,使用1953年人口普查给出的分年龄分布数据,计算1964年的分年龄人口数量,得到它们与人口普查资料给出的分年龄人口数量差别,显然差别最小的一组参数A和B,一共22个参数,就是最佳模型参数。通常使用最小二乘法计算模型参数,也就是求解用下式表达的目标函数F的最小值所对应的参数:

(3)

它代表了选择的参数A和B,使模型预测误差最小。该式对男性或女性人口分布计算都分别成立,其中

Ti=log(Ni+m(1964)/Ni(1953))(i=0,1,2,……,n);

R(i)=log(S1981(i)) (i=0, 1,2,……,n+m) (4)

都是已知数值的常数。m=11,是两个普查年份之间的间隔年数,而n是两个普查人口分布数据中对应的年龄数。

但是,蒋认为根据该目标函数得到的结果,其误差分布不均匀,因此,蒋修改了目标函数,加入了不同年份下的同一年龄存活率差别最小项,如下式:

(5)

需要指出的是,蒋在原文中的表达式缺少了对i的加总。但上式是明显有问题的,因为蒋声称a是自动求解得到的,这样该式就会有没有实际意义的解析解,就是a=0,同时不同年份的Aj和Bj都相等,也就是不同年份的分年龄存活率或死亡率是相同的,目标函数也就得到最小值0了。而这样的解,只需要不同年份的A和B相等,很可能是毫无意义的,最好的情况就是使用平均存活率当模型存活率,等于是柯尔的平均存活率模型解,因而预测误差可能很大。因此蒋限定0<a<1,这等于将解析解,也是最佳解排除在外。导致的问题是,这样的限定条件下,a必然很小,同时不同年份A和B趋向于相等。

如果只有一两个参数,我们可以一一使用每个参数可能的取值,计算1964年的分年龄人口数量,从而得到无限逼近最佳解的解。蒋使用的参数高达23个,包括增加的一个权重系数a,就需要使用比较高级的优化方法了。到上个世纪80年代,学者们就发展了很多计算方法,建立了标准计算程序,可以直接使用。由于参数较多,对各种方法来说,找到全局最优解都是比较困难的。这里就不详细介绍了,大家可以参考有关专著。笔者曾在多个领域主要进行建模和系统优化的研究,包括在经济学领域建立收入分布模型[6];曾比较过几种求解模型参数的主要方法[7]。通过研究,本文先使用Matlab系统集成的遗传算法,得到初步结果,再使用fmincon进行局部优化得到最终结果。Fmincon集成了数种极小值算法,求解速度快,可以获得比较精确的局部最优解,但对复杂的多极值情况,严重依赖于初始值的选取。遗传算法可以搜索全局最优解,但求解速度很慢,用于为前者获取初始解。我们结合两种算法,进行了1000次循环求解,在i7-8核计算机上,求解持续时间高达5小时,从中选取最佳结果。由于蒋并未详细介绍其数值算法。这样求解,得到的解,很难说会和蒋得到的数值解相同。

蒋在文章中提到,对三次人口普查给出的分年龄性别人口数量分布数据进行了适当的调整,但没有给出进一步介绍,也没有提供调整后的数据。由于柯尔的调整数据仍然存在一些严重问题,例如,1953年年龄为15岁的女性人口,经过11年后,到1964年,人口数量不但没有减少,反而增加,不符合基本人口学常识,虽然相差很小,但与其他年龄的存活率相比,误差很可能超过10%,因此,我们没有选用柯尔的调整数据,而是使用罗在博士论文[8]中调整的我国1953和1964年普查人口分布数据,男性和女性年龄组都有86个。

表13 使用蒋正华的计算模型得到的参数A和B,以及a和目标函数F

男A 男B 女A 女B

1953 2.0799 2.1700 2.0572 2.1325

1954 2.1071 2.1311 2.0572 2.1325

1955 2.1190 2.1146 2.0573 2.1324

1956 2.1024 2.1377 2.0572 2.1325

1957 2.1100 2.1277 2.0571 2.1326

1958 2.0954 2.1476 2.0571 2.1326

1959 2.0853 2.1613 2.0572 2.1325

1960 2.0863 2.1599 2.0573 2.1324

1961 2.0985 2.1439 2.0572 2.1326

1962 2.0898 2.1549 2.0572 2.1325

1963 2.0945 2.1490 2.0572 2.1325

a 1.34E-08 8.84E-10

F 7.53E-07 1.60E-08

计算得到的参数见表13,从表13中可以看出,计算得到的目标函数非常接近0,是相当好的解。但是,该解并不能很好地重现1964年人口分布,参见图6是我们重复蒋的方法,使用该参数,计算得到的1964年男性和女性分年龄人口数量与普查数据对比。这说明,蒋改变优化目标后,得到的参数已经不能满足原先的目标了,也就是说,得到的死亡率不符合实际数据。其原因也很容易理解,因为求解得到的a很小,表明满足原先目标的最小值在最终目标函数中占比很小,误差可能很大。计算得到的a值很小,也符合我们对蒋设定的目标函数下结果的分析,包括不同年份的A和B差别很小,尤其是女性人口计算的参数A和B几乎没有差别,这都与我们前面的理论分析是比较一致的,存在的微小差别,主要来自数值方法的误差。

图6 使用蒋正华模型计算得到的我国1964年分年龄人口数量与1964年统计数据对比

模型计算使用的原始数据包括罗调整的1953和1964年我国两次人口普查给出分年龄人口数量以及1982年人口普查给出的1981年分年龄人口死亡率数据,获得模型参数,然后根据1953年分年龄人口数计算得到1964年分年龄人口数量。

从图6中可以看成,模型计算人数与统计人数之间仍然存在不小的差别,在低龄段,估算结果明显大于统计数据,而在高龄段,则小于统计数据。由于高龄段人口较少,因而估算的1964年人口数量比统计数据大。其中男性人口分年龄计算平均误差为30.6万人,最大误差为95.6万人,女性人口分年龄计算平均误差为28.6万人,最大误差为90.3万人。总人口则差别很大了,估算的1964年年中总人口为7.037亿人,而统计数字为6.947亿人,估算结果比统计大900万人,虽然相对误差仅有1.31%。

表14按照蒋正华方法估算的出生人数和死亡人口(单位万人),出生率和死亡率以及蒋公布的死亡率和出生率

估算 蒋的报告

年份 出生+ 出生率 死亡* 死亡率* 出生率 死亡率

1953 2188 3.76% 3.96% 1.40%

1954 2379 4.01% 3.94% 1.32%

1955 2446 4.05% 1367.0 2.26% 3.73% 1.23%

1956 2357 3.83% 1191.0 1.94% 3.59% 1.14%

1957 2671 4.26% 1381.8 2.21% 3.68% 1.08%

1958 2421 3.79% 1476.0 2.31% 3.18% 1.20%

1959 1872 2.90% 1156.7 1.79% 2.79% 1.46%

1960 1772 2.72% 1318.4 2.02% 2.42% 2.54%

1961 1485 2.27% 1061.5 1.62% 2.50% 1.42%

1962 2745 4.15% 1422.7 2.15% 3.97% 1.00%

1963 3438 5.03% 1867.8 2.73% 4.62% 1.00%

1964 2876 4.09% 977.1 1.39% 4.36% 1.15%

+根据计算得到的育龄妇女分年龄人数与生育率抽查数据估算得到阳历年出生人口,当年人口按年中人口计算

*死亡人口是按普查年计算的,估算的死亡人口和计算死亡率时,均包括当年出生婴儿的死亡。

表14给出了我们按蒋的方法估算得到的出生人口、出生率、死亡人口和死亡率数据,其中死亡人口和死亡率估算包括当年出生婴儿的死亡。出生人口和出生率是根据生育率抽查数据和按蒋估算的育龄妇女分年龄数据估算得到。估算得到的出生人口与使用柯尔的育龄妇女数据得到的结果很相近,最大差别也不超过3%。估算得到的死亡人口,从1955-1964年,总共10年,共计1.322亿人,平均每年1332万人,死亡人口最多的1963年,而死亡最少的是1961年,分别为1867.8和1061.5万人。。从上述结果来看,丝毫看不到非正常死亡年份的过多死亡,也看不出,1960年前后,死亡人口的大幅度增加。

蒋的模型考虑不同年份的存活率和死亡率差别,从理论上来看,可以计算不同年份人口变化,这可能比美国专家委员会的计算结果要更符合实际一些,也就更有用一些。但从原理上分析,其结果是类似的。我们的计算结果表明,蒋的模型给出的结果,一样难以区分不同年份的死亡率变化。

必须指出的是,蒋的方法,由于不涉及出生人口,是无法估算出生人口数和出生率的。蒋在文章中没有提到,他是如何估算出生人口和出生率的。因此,蒋所计算的死亡率不可能包括婴儿死亡的。本文估算的出生人口和出生率是根据蒋的方法计算得到的育龄妇女分年龄数据,与生育率抽查数据计算得到的出生人口,用它们与本文采用蒋的方法计算得到的各年度年中人口相除,得到各年度出生率的。其中1953年和1964年的出生率完全来自统计数据,而且是公认比较准确的,却与蒋公布的结果差别很大,相对误差大于5%。

按照蒋的算法,我们没能重现蒋给出的出生率和死亡率特征,尤其是1960年前后三年巨大的死亡率增加。这是蒋的方法本身决定的。蒋设定的目标函数,倾向于a取很小的值和均匀的A和B值,得到不同年份具有近似的死亡率或存活率分年龄分布数据,与美国人口专家科尔的重建计算结果类似。我们选定较大的不同a值进行计算,预测的1964年总人口仍然误差很大,从预测的分年龄人口分布来看,低年龄和高龄人口数量的误差,分别是偏高和偏低,从而难以降低总误差。这说明,蒋使用的模型和1981年存活率数据,以及设定的目标函数,难以很好地模拟1953-1964年的人口分布,其计算结果的可靠性较差,误差较大。

参考文献

1. 蒋正华 and 李南, 中国人口动态参数的校正. 西安交通大学学报, 1986(03): p. 46+64.

2. 蒋正华, 中国人口动态参数的识别. 中国人口科学, 1987(01): p. 56-63.

3. 李成瑞, “大跃进”引起的人口变动. 人口研究, 1998(01): p. 3-12.

4. 杨松林, 总要有人说出真相关于饿死三千万. 2013: 海口:南海出版公司.

5. 蒋正华 and 李南, 中国人口动态估计的方法与结果, 中国人口年鉴 1987, 中国社会科学院人口研究所,《中国人口年鉴》编辑部编. 1988: 北京:经济管理出版社. p. 94-106.

6. Huang, W., Numerical method to calculate Gini coefficient from limited data of subgroups. Applied Economics Letters, 2013. 20(13): p. 1249-1253.

7. 黄卫东, 吴春笃, and 汝梅, 城市雨水径流污染模型参数优化方法研究. 中国科学技术大学学报, 2007(08): p. 1031-1035.

8. Luo, S., Reconstruction of life tables and age distributions for the population of China by year from 1953 to 1982, in Demography. 1988, University of Pennsylvania.

全看分页树展 · 主题 跟帖


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河