西安欧亚学院
数据挖掘技术与实验课程论文
题 目 | 全国近20年来人口增长原因分析 |
学生姓名 | 王川 |
学生学号 | 131********317 |
所在分院 | 金融学院 |
专 业 | 经济统计学 |
班 级 | 统本统计13级管理统计方向 |
提交日期 | 二〇一六年6月25日 |
在“二胎”全面实施的背景下,我国人口增长形势将继续持续下去。而影响人口的增长的因素有人口出生率、婚姻登记数量、居民消费水平、参加生育保险人数和医疗发展程度有关。
对这些数据进行相关分析,结果显示这些因素和人口数量的增长可用多元线性回归方程表示,同时可用多因素方差分析,研究这些因素的不同水平是否对人口的增长产生显著影响。
R软件是一种开源的免费数据分析软件,功能强大,是数据分析工作者的首选软件之一。
关键词:R语言;多元线性回归分析;方差分析。
引言............................................................1
1.1 选题的背景和意义..................................1
1.2 研究方法与思路....................................1
正文...................................................2
2.1 前言..............................................2
2.2 数据分析..........................................2
2.2.1 数据预处理......................................2
2.2.2回归分析.........................................4
2.2.3方差分析.........................................8
结论...................................................13
参考文献...............................................13
引言
1.1 选题的背景和意义
二孩,是中国实行的一种计划生育,规定符合条件的夫妇允许生育“二胎”。因为是二孩,故第一胎为多孩时,不可生第二胎。
2011年11月,中国各地全面实施双独二孩;2013年12月,中国实施单独二孩;2015年10月,中国党第十八届委员会第五次全体会议公报指出:坚持计划生育基本国策,积极开展应对人口老龄化行动,实施全面二孩。
在经历了迅速从高生育率到低生育率的转变之后,我国人口的主要矛盾已经不再是增长过快,而是人口红利消失、临近超低生育率水平、人口老龄化、出生性别比失调等问题。国内20多位顶尖人口学者历经两年的研究指出,我国的人口亟待转向,尤其是生育应该调整。
1.2 研究方法与思路
人口增长的原因大体与人口出生率、婚姻登记数量、居民消费水平、参加生育保险人数和医疗发展程度有关。
回归分析的基本思想是,虽然自变量和因变量之间没有严格的、确定性的函数关系,但可以设法找出最能代表它们之间关系的数学表达形式。所以可以采用回归分析,找到人口增长背后的具体关系。
方差分析是从观测变量的方差入手,研究诸多控制变量中哪些变量是对观测变量有显著影响的变量。所以可以采用方差分析,得到所有因素中影响程度最大的那一个。
正文
2.1 前言
本文原始数据来源于中华人民共和国国家统计局,截取了2015-2014年全国人口总数(万人),婚姻登记(万对),居民消费水平(万元),参加生育保险人数(万人),医院数(个)。分析软件为R软件。
2.2 数据处理
2.2.1 数据预处理
原始数据如下:
年份 | 人口总数 (万人) | 婚姻登记(万对) | 居民消费水平(元) | 参加生育保险人数(万人) | 医院数(个) |
1995年 | 121121 | 934.1 | 2330 | 1500.2 | 15663 |
1996年 | 1223 | 938.7 | 2765 | 2015.6 | 15833 |
1997年 | 123626 | 914.1 | 2978 | 2485.9 | 15944 |
1998年 | 124761 | 1.7 | 3126 | 2776.7 | 16001 |
1999年 | 125786 | 885.3 | 3346 | 2929.8 | 16678 |
2000年 | 126743 | 848.5 | 3721 | 3001.6 | 16318 |
2001年 | 127627 | 805 | 3987 | 3455.1 | 16197 |
2002年 | 128453 | 786 | 4301 | 3488.2 | 17844 |
2003年 | 129227 | 811.4 | 4606 | 3655.4 | 177 |
2004年 | 129988 | 867.2 | 5138 | 4383.8 | 18393 |
2005年 | 130756 | 823.1 | 5771 | 5408.5 | 18703 |
2006年 | 131448 | 945 | 16 | 58.9 | 19246 |
2007年 | 132129 | 991.4 | 7572 | 7775.3 | 19852 |
2008年 | 132802 | 1098.3 | 8707 | 9254.1 | 19712 |
2009年 | 133450 | 1212.4 | 9514 | 10875.7 | 20291 |
2010年 | 134091 | 1241 | 10919 | 12335.9 | 20918 |
2011年 | 134735 | 1302.36 | 13134 | 132 | 21979 |
2012年 | 135404 | 1323.59 | 14699 | 15428.7 | 23170 |
2013年 | 136072 | 1346.93 | 16190 | 16392 | 24709 |
2014年 | 136782 | 1306.74 | 17778 | 17038.7 | 25860 |
把原始数据导入txt。为便于R软件分析,我们需要把元素“婚姻登记(万对),居民消费水平(万元),参加生育保险人数(万人),医院数(个)”依次命名为X1、X2、X3、X4,把“人口总数(万人)”,命名为Y。
在R软件内打开txt:
> 人口增长<-read.table(file="人口增长.txt",header=T,sep="")
> 人口增长
年份 Y X1 X2 X3 X4
1 1995年 121121 934.10 2330 1500.2 15663
2 1996年 1223 938.70 2765 2015.6 15833
3 1997年 123626 914.10 2978 2485.9 15944
4 1998年 124761 1.70 3126 2776.7 16001
5 1999年 125786 885.30 3346 2929.8 16678
6 2000年 126743 848.50 3721 3001.6 16318
7 2001年 127627 805.00 3987 3455.1 16197
8 2002年 128453 786.00 4301 3488.2 17844
9 2003年 129227 811.40 4606 3655.4 177
10 2004年 129988 867.20 5138 4383.8 18393
11 2005年 130756 823.10 5771 5408.5 18703
12 2006年 131448 945.00 16 58.9 19246
13 2007年 132129 991.40 7572 7775.3 19852
14 2008年 132802 1098.30 8707 9254.1 19712
15 2009年 133450 1212.40 9514 10875.7 20291
16 2010年 134091 1241.00 10919 12335.9 20918
17 2011年 134735 1302.36 13134 132.0 21979
18 2012年 135404 1323.59 14699 15428.7 23170
19 2013年 136072 1346.93 16190 16392.0 24709
20 2014年 136782 1306.74 17778 17038.7 25860
2.2.2 回归分析
2.2.2.1 绘制散点图
先利用pairs函数,绘制如图1-1所示的矩阵散点图。
> pairs(~Y+X1+X2+X3+X4,data=人口增长,main="人口增长相关矩阵散点图")
发现人口总数(万人)与各个因素呈现出了一定的线性关系,可以考虑借助线性回归模型进行回归。
2.2.2.2 建立回归模型
建立回归模型为。
在R软件里输入lm语句:
> Fit<-lm(Y~X1+X2+X3+X4,data=人口增长)
> coefficients(Fit)
(Intercept) X1 X2 X3 X4
130652.7578 -24.032044 -2.283841 3.247261 0.886581
说明建立的线性回归方程为:
2.2.2.3 参数检验
查看人流量Y线性回归方程的参数检验结果:
> summary(Fit)
Call:
lm(formula = Y ~ X1 + X2 + X3 + X4, data = 人口增长)
Residuals:
Min 1Q Median 3Q Max
-1080.5 -477.6 -201.8 458.6 1368.0
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 1.307e+05 7.716e+03 16.933 3.47e-11 ***
X1 -2.403e+01 3.216e+00 -7.472 1.97e-06 ***
X2 -2.284e+00 4.293e-01 -5.319 8.58e-05 ***
X3 3.247e+00 3.435e-01 9.454 1.04e-07 ***
X4 8.866e-01 4.180e-01 2.121 0.051 .
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 731.9 on 15 degrees of freedom
Multiple R-squared: 0.9809, Adjusted R-squared: 0.9757
F-statistic: 192.1 on 4 and 15 DF, p-value: 1.09e-12
由结果可知,F统计量的观测值是192.1,概率p值小于1.09e-12。若给定显著性
水平α为0.05,则p小于α,拒绝原假设,选择线性模型合理。
但由上示数据可得,对于X4,其回归系数显著性检验t统计量的观测值为0.051,t统计量的标准误(分母)为2.121,不能拒绝原假设,不应保留在回归方程中,需排除X4后重新建模。
> Fit<-lm(Y~X1+X2+X3,data=人口增长)
> summary(Fit)
Call:
lm(formula = Y ~ X1 + X2 + X3, data = 人口增长)
Residuals:
Min 1Q Median 3Q Max
-1135.05 -490.66 -80.94 465.84 1797.51
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 1.4e+05 2.365e+03 61.902 < 2e-16 ***
X1 -2.786e+01 2.937e+00 -9.486 5.70e-08 ***
X2 -1.678e+00 3.539e-01 -4.742 0.000221 ***
X3 3.330e+00 3.767e-01 8.840 1.48e-07 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 807.9 on 16 degrees of freedom
Multiple R-squared: 0.9751, Adjusted R-squared: 0.9704
F-statistic: 209 on 3 and 16 DF, p-value: 4.859e-13
> coefficients(Fit)
(Intercept) X1 X2 X3
146375.839081 -27.863955 -1.677983 3.330386
现在回归方程的显著性检验和回归系数的显著性检验均通过,所以该模型可用。这
是个三元线性回归方程,方程表达式为:
2.2.2.4 小结
由上述建模过程,可得人口总数(万个)与“婚姻登记(万对),居民消费水平(万
元),参加生育保险人数(万人),医院数(个)”有一定关系。
2.2.3 方差分析
2.2.3.1 检验X1对Y是否存在显著差异
> aov(Y~X1,data=人口增长)
Call:
aov(formula = Y ~ X1, data = 人口增长)
Terms:
X1 Residuals
Sum of Squares 232695651 186969574
Deg. of Freedom 1 18
Residual standard error: 3222.918
Estimated effects may be unbalanced
> 单侧1<-aov(Y~X1,data=人口增长)
> anova(单侧1)
Analysis of Variance Table
Response: Y
Df Sum Sq Mean Sq F value Pr(>F)
X1 1 232695651 232695651 22.402 0.000166 ***
Residuals 18 186969574 10387199
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
将X1作变差分解,组间离差平方和为232695651,组内离差平方和为186969574,
自由度分别为1和19。离差平方和除以自由度得到方差,组间方差为232695651,组
内方差为10387199。F观测值为22.402,概率p值小于0.000166。若显著性水平α
为0.05,则因概率p小于α,拒绝原假设,即认为不同年份的婚姻登记(万对)对人
口总数具有影响。
2.2.3.2 检验X2对Y是否存在显著差异
> aov(Y~X2,data=人口增长)
Call:
aov(formula = Y ~ X2, data = 人口增长)
Terms:
X2 Residuals
Sum of Squares 340784192 78881033
Deg. of Freedom 1 18
Residual standard error: 2093.3
Estimated effects may be unbalanced
> 单侧2<-aov(Y~X2,data=人口增长)
> anova(单侧2)
Analysis of Variance Table
Response: Y
Df Sum Sq Mean Sq F value Pr(>F)
X2 1 340784192 340784192 77.7 5.96e-08 ***
Residuals 18 78881033 4382280
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
将X2作变差分解,组间离差平方和为340784192,组内离差平方和为78881033,
自由度分别为1和18。离差平方和除以自由度得到方差,组间方差为340784192,组
内方差为4382280。F观测值为77.7,概率p值小于5.96e-08。若显著性水平α
为0.05,则因概率p小于α,拒绝原假设,即认为不同年份的居民消费水平(万元)
对人口总数具有影响。
2.2.3.3 检验X3对Y是否存在显著差异
> aov(Y~X3,data=人口增长)
Call:
aov(formula = Y ~ X3, data = 人口增长)
Terms:
X3 Residuals
Sum of Squares 3491867 70023358
Deg. of Freedom 1 18
Residual standard error: 1972.356
Estimated effects may be unbalanced
> 单侧3<-aov(Y~X3,data=人口增长)
> anova(单侧3)
Analysis of Variance Table
Response: Y
Df Sum Sq Mean Sq F value Pr(>F)
X3 1 3491867 3491867 .878 2.017e-08 ***
Residuals 18 70023358 30187
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
将X3作变差分解,组间离差平方和为3491867,组内离差平方和为70023358,
自由度分别为1和18。离差平方和除以自由度得到方差,组间方差为3491867,组
内方差为30187。F观测值为.878,概率p值小于2.017e-08。若显著性水平α
为0.05,则因概率p小于α,拒绝原假设,即认为不同年份的参加生育保险人数(万
人)对人口总数具有影响。
2.2.3.4 检验X4对Y是否存在显著差异
> aov(Y~X4,data=人口增长)
Call:
aov(formula = Y ~ X4, data = 人口增长)
Terms:
X4 Residuals
Sum of Squares 358619508 61045717
Deg. of Freedom 1 18
Residual standard error: 1841.583
Estimated effects may be unbalanced
> 单侧4<-aov(Y~X4,data=人口增长)
> anova(单侧4)
Analysis of Variance Table
Response: Y
Df Sum Sq Mean Sq F value Pr(>F)
X4 1 358619508 358619508 105.74 5.802e-09 ***
Residuals 18 61045717 3391429
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
将X4作变差分解,组间离差平方和为358619508,组内离差平方和为61045717,
自由度分别为1和18。离差平方和除以自由度得到方差,组间方差为358619508,组
内方差为3391429。F观测值为105.74,概率p值小于5.802e-09。若显著性水平α
为0.05,则因概率p小于α,拒绝原假设,即认为不同年份的医院数(个)
对人口总数具有影响。
结论
通过分析,得到我国1995年到2014年全国人口总数(万人)和婚姻登记(万对),居民消费水平(万元),参加生育保险人数(万人)有相关关系,表达式为:。
婚姻登记(万对),居民消费水平(万元),参加生育保险人数(万人),医院数
(个)对人口总数都有很大程度影响。
参考文献
[1]李明.R语言与网站分析[M].北京:机械工业出版社.2014
[2]薛薇.基于R的统计分析与数据挖掘[M].北京:中国人民大学出版社.2014
[3]黄埔伟.SPSS相关分析与线性回归分析在英语考试分析中的应用[J].中国电力教育.2007