根据网上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分钟以上时间。
人两户籍,从1960年起,严格执行一人一户籍,已经落户城镇的人销去农村户籍。1960年部分地区缺粮而粮食是根据户籍发放的,所以必须确定一人一户籍。
和新冠不同。新冠的时候,大家都不上班了,躲在家里,客观上增加了生孩子的机会。
碰到大饥荒,大家都忙着找吃的,体力也不行了,客观上减少了生孩子的机会。
际人口比较的差值,就是异常变化。
根据网上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分钟以上时间。
人两户籍,从1960年起,严格执行一人一户籍,已经落户城镇的人销去农村户籍。1960年部分地区缺粮而粮食是根据户籍发放的,所以必须确定一人一户籍。
和新冠不同。新冠的时候,大家都不上班了,躲在家里,客观上增加了生孩子的机会。
碰到大饥荒,大家都忙着找吃的,体力也不行了,客观上减少了生孩子的机会。
际人口比较的差值,就是异常变化。