49年到91年中国人口模拟:59-61三年人口有没有异常,有多大?

p
pichawxc
楼主 (文学城)

根据网上1949-1991 年全国历年主要人口数据,我做了一个分析,想估计出59-61三年人口变化与其它年份比较有没有区别,有的话,再估计从变化是多大。

方法:将原始人口(P)数据取对数,然后计算对数序列的一次差分(Ln(P_t+1)-ln(P_t)),这相当于人口变动的对数值。转换后的人口数据变动可以用简单线性模型描述。

Ln(P_t+1)-ln(P_t) = a + b× (ln(P_t))

这个模型就是Gompertz模型,可以用于正常年份人口模拟,也可以说是人口变动率的模型。为了检验到59-61年的数据有没有异常变化,假定与其它年份相比参数b不变,而只是a 不同,引入一个哑变量X_t

Ln(P_t+1)-ln(P_t) = a + a1*X_t+1 + b× (ln(P_t))

X_t 取值除59-61年为1外,其余为0,如果统计检验a1等于0,那么就是说59-61年与其它年份人口变化没有统计上的差别;相反就有。

结果:用Excel做数据ln(P_t), X_t的回归,结果表明参数a1在统计上是明显不等于0的(下表P值很小),模型拟合图在对数坐标能看到些小差别, 数字太大,很多点都重合了。

 

 

Coefficients

Standard Error

t Stat

P-value

 a

0.186409

0.045848

4.065818

0.000225

 b

-0.01473

0.004046

-3.64037

0.000789

 a1

-0.02354

0.003554

-6.62302

7.09E-08

 

图上也可以看出带哑变量的模型表现不错!那么,靠模型如何估计人口在59-61年应该为多少呢?只需要按常规年份计算59-61年的人口就行了, 也就是把参数估计值带入公式( a + b× (ln(P_t))),实际估计人口公式为: P_t+1=P_t*exp(a+b*ln(P_t)), 减少的人口可以与实际人口比较或者拟合人口[P_t+1=P_t*exp(a+a1*X_t+1+b*ln(P_t))]比较得出。

三年实际人口是:67207, 66207,65859; 模型拟合人口是:65955,67150, 66165;按正常年份预测的人口应该是:67526,68749,67741。如果与实际比较,三年人口因出生或者死亡不同,估计的下降人口数量为4743万;与模型拟合比较,估计的下降人口数量为4747万。拟合模型产生的三年残差为95万,也就是说把所有数据混在一起的模型高估了95万人口,总体相对来说误差不太大。

结论:根据正常年份的人口变动情况,59-61年三年中国人口可能因出生或者死亡不同,Gompertz模型统计分析出:三年约有4743或4747万的总计人口数量低于正常年份。

这个模型只能说明59-61年的人口变动是不同于正常年份的,不同的数量有多少。不能找出人口下降率高的具体原因,究竟人口下降的具体原因是死亡率高了,还是出生率低了或者两者都有,模型也不知道。数据在后面,有Excel愿意的话,可以验证,做出回归可能不需要3分钟以上时间。

Year Population(万) Ln(P) Flag Ln(Pt+1)-Ln(Pt)
1949 54167 10.90    
1950 55196 10.92 0 0.019
1951 56300 10.94 0 0.020
1952 57482 10.96 0 0.021
1953 58796 10.98 0 0.023
1954 60266 11.01 0 0.025
1955 61465 11.03 0 0.020
1956 62828 11.05 0 0.022
1957 64653 11.08 0 0.029
1958 65994 11.10 0 0.021
1959 67207 11.12 1 0.018
1960 66207 11.10 1 -0.015
1961 65859 11.10 1 -0.005
1962 67295 11.12 0 0.022
1963 69172 11.14 0 0.028
1964 70499 11.16 0 0.019
1965 72538 11.19 0 0.029
1966 74542 11.22 0 0.027
1967 76368 11.24 0 0.024
1968 78534 11.27 0 0.028
1969 80671 11.30 0 0.027
1970 82992 11.33 0 0.028
1971 85229 11.35 0 0.027
1972 87177 11.38 0 0.023
1973 89211 11.40 0 0.023
1974 90859 11.42 0 0.018
1975 92420 11.43 0 0.017
1976 93717 11.45 0 0.014
1977 94974 11.46 0 0.013
1978 96259 11.47 0 0.013
1979 97542 11.49 0 0.013
1980 98705 11.50 0 0.012
1981 100072 11.51 0 0.014
1982 101654 11.53 0 0.016
1983 103008 11.54 0 0.013
1984 104357 11.56 0 0.013
1985 105851 11.57 0 0.014
1986 107507 11.59 0 0.016
1987 109300 11.60 0 0.017
1988 111026 11.62 0 0.016
1989 112704 11.63 0 0.015
1990 114333 11.65 0 0.014
1991 115823 11.66 0 0.013

 

方外居士
可否对历年出生人口死亡人口分别做类似的分析?也许模型要换?
c
chufang
这几年出生率,死亡率等等。

p
pichawxc
可以用哑变量方法对出生率和死亡率做单独分析,是不能用这个模型了。不同的生死模型也难有动力学特征。
s
sxyz
1960年户籍管理松散,大跃进时期大量农村户籍人到城市当工人或劳力他们在城镇有了新户籍,但农村的户籍并没有撤销,造成了一

人两户籍,从1960年起,严格执行一人一户籍,已经落户城镇的人销去农村户籍。1960年部分地区缺粮而粮食是根据户籍发放的,所以必须确定一人一户籍。

郭大平
这么说来,大跃进饿死三千万,有科学根据?
蒋闻铭
老郭这不废话吗。
方外居士
这是总数。包括死亡增加数和出生减少数。前者与饿死相关,但不全是饿死,也可能营养缺乏导致其他疾病而亡。
华府采菊人
户口的严密是从1958年开始到的
郭大平
饿死三千万,证据不好找。主要是当事人毛周毁尸灭迹手段高明。所以,如果能从科学理论分析上找出逻辑证据,是值得鼓励的。
方外居士
大量是多少?有%数吗?
s
supercs88
还有一些因素需要考虑。

和新冠不同。新冠的时候,大家都不上班了,躲在家里,客观上增加了生孩子的机会。

碰到大饥荒,大家都忙着找吃的,体力也不行了,客观上减少了生孩子的机会。

郭大平
出生减少数,也与饿死有关。吃不饱,饿死了,生孩子都会少了。
p
pichawxc
出生率人口数量增加而降低,死亡率稍降低些,以上数据可以对59-61的人口变动模型提供印证,毕竟
p
pichawxc
上面有个出生和死亡率数据,人口下降是与出生率下降和死亡率增加同时发生的。
p
pichawxc
人口数据是网上来的,如果59-61年的数据是有问题的话,那么人口下降数量的估计误差就会增大。
p
pichawxc
我也是第一次尝试从宏观角度分析这个问题,方法是普通统计学的方法,比随便喊应该更好一些。
方外居士
那只能算一个死亡人数,即大人。你不能把本来应该出生但因大人死了而没有出生的也算死了,那个就没边了。
郭大平
你这个方法好,绕过了毛周的毁尸灭迹。因为毛数学没学好,毁尸灭迹时没有灭掉统计学上的证据。
方外居士
若真算也只能算已经怀孕但死了的妇女所怀的孩子。
方外居士
总之要精细化,而不是拍脑袋
p
pichawxc
国内外都有不少学者研究,但很多方法都有缺陷。以前懂人口的不太懂正统常规统计,懂统计的不知道解决实际问题的窍门。
p
pichawxc
图表上人口出生率下降比死亡率上上升大一些,对人口下降影响更大,饿死人数应该低于模型给出的4千7百万的一半(不考虑置信限)
冯墟
挺好。能报告一下您拟合的标准差吗?另外,我建议先排除这三年的数据,对其他年份做整体最小二乘拟合,然后补算这三年人口;跟实

际人口比较的差值,就是异常变化。