R语言大作业(全国2000-2019年人口各项数据分析)

数据是统计局下载的,为期末大作业做准备。
数据要存成csv模式,好导入到RGui中
在这里插入图片描述
年份,人口出生率,人口死亡率,人口自然增长率
2000,1.403,0.645,0.758
2001,1.338,0.643,0.695
2002,1.286,0.641,0.645
2003,1.241,0.64,0.601
2004,1.229,0.642,0.587
2005,1.24,0.651,0.589
2006,1.209,0.681,0.528
2007,1.21,0.693,0.517
2008,1.214,0.706,0.508
2009,1.195,0.708,0.487
2010,1.19,0.711,0.479
2011,1.193,0.714,0.479
2012,1.21,0.715,0.495
2013,1.208,0.716,0.492
2014,1.237,0.716,0.521
2015,1.207,0.711,0.496
2016,1.295,0.709,0.586
2017,1.243,0.711,0.532
2018,1.094,0.713,0.381
2019,1.048,0.714,0.334
(数据自行复制吧)

一、任务目的:

综合运用本学期所学统计学理论知识、R语言编程技巧和数据分析案例等内容,根据个人兴趣点,自行收集数据、整理数据、展示数据、分析数据,挖掘数据价值。能够正确合理使用R语言实现数据分析,并将此案例整理成数据分析报告。

二、任务要求:

1.数据描述性统计(平均数、标准差、中位数、偏态程度),体现数据特征,并对重要数据变量进行图表展示。
2.数据分析:明确通过数据分析要解决什么问题,运用什么分析思路、分析方法和模型,并最终得出总结性的结论或效果。
3.分析过程中,根据数据特征,解释为什么使用某某函数进行运算求解,并对运算得到的相关参数进行解读。
例如:参数估计时,数据总体服从正态分布σ未知,样本量<30,属小样本,样本均值经标准化后服从自己度为n-1的t分布,故采用t.test函数……
假设检验时,需写明具体“假设”、结论及相应代码。
建模时,需明确具体步骤,对建模参数进行解读

数据描述性统计

在这里插入图片描述在这里插入图片描述在这里插入图片描述

绘制带有箱线图、轴须线和密度估计的直方图

在这里插入图片描述

在这里插入图片描述在这里插入图片描述在这里插入图片描述

核密度图

在这里插入图片描述
人口出生率:
在这里插入图片描述
人口死亡率:
在这里插入图片描述
人口自然增长率:
在这里插入图片描述

时间序列图

在这里插入图片描述
在这里插入图片描述

数据分析

  1. 确定变量间的关系
    首先出生率和死亡率:
    在这里插入图片描述在这里插入图片描述
    人口出生率下降,人口死亡率在增长,二者的观测点分布在一条直线的周围,因而具有负线性关系。两个箱线图显示,出生率和死亡率不是对称分布。从拟合的曲线来看,有一定的线性特征,可以认为两个变量有线性关系。
    其次是出生率和自然增长率
    代码同上
    在这里插入图片描述
    人口出生率增加,人口自然增长率也在增长,二者的观测点分布在一条直线的周围,因而具有正的线性相关关系。两个箱线图显示,出生率和死亡率有一定的对称分布。从拟合的曲线来看,非线性特征不明显,显示两个变量有线性关系。
    最后是死亡率和自然增长率
    在这里插入图片描述
    人口死亡率减少,人口自然增长率在增长,二者的观测点分布在一条直线的周围,因而具有负的线性相关关系。两个箱线图显示,出生率和死亡率不是对称分布。从拟合的曲线来看,线性特征不是很明显,显示两个变量没有较强线性关系。
  2. 有关于相关系数的计算与检验
    在这里插入图片描述
  3. 回归模型与回归方程

在这里插入图片描述在这里插入图片描述

arrows 函数用来在一张图表上添加箭头,只需要分别指定起始坐标和终止坐标,就可以添加箭头了,还可以通过一些属性对箭头的形状,大小进行调整.``
xo, yo 指定起始点的x和y坐标,x1, y1 指定终止点的x和y坐标

arrows(x0 = 1, y0 = 1, x1 = 4, y1 = 4)

x0, y0,x1,y1 支持一次设置多个值,同时画多个箭头

arrows(x0 = c(1, 1),  y0 = c(1, 2),  x1 = c(4, 4), y1 = c(4, 5))

length : 该参数一次只能设置一个值,默认值为0.25, 为了调整不同箭头的大小,建议分别设置

par(mfrow = c(1,3))
plot(1:5, 1:5, xlim = c(0,6), ylim = c (0,6), type = "n", main = "length = 0.1")
arrows(x0 = 1, y0 = 1, x1 = 4, y1 = 4, length = 0.1)
plot(1:5, 1:5, xlim = c(0,6), ylim = c (0,6), type = "n", main = "length = 0.5")
arrows(x0 = 1, y0 = 1, x1 = 4, y1 = 4, length = 0.5)
plot(1:5, 1:5, xlim = c(0,6), ylim = c (0,6), type = "n", main = "length = 1")
arrows(x0 = 1, y0 = 1, x1 = 4, y1 = 4, length = 1)

效果图
在这里插入图片描述code : 调整箭头的类型,一共有1,2,3,4 共四种类型,该参数一次只能设置一个值

par(mfrow = c(1,3))
plot(1:5, 1:5, xlim = c(0,6), ylim = c (0,6), type = "n", main = "code = 1")
arrows(x0 = 1, y0 = 1, x1 = 4, y1 = 4, code = 1)
plot(1:5, 1:5, xlim = c(0,6), ylim = c (0,6), type = "n", main = "code = 2")
arrows(x0 = 1, y0 = 1, x1 = 4, y1 = 4, code = 2)
plot(1:5, 1:5, xlim = c(0,6), ylim = c (0,6), type = "n", main = "code = 3")
arrows(x0 = 1, y0 = 1, x1 = 4, y1 = 4, code = 3)

效果图
在这里插入图片描述angle : 设置箭头的角度,默认值是45,该参数一次只能设置一个值

par(mfrow = c(1,3))
plot(1:5, 1:5, xlim = c(0,6), ylim = c (0,6), type = "n", main = "angle = 15")
arrows(x0 = 1, y0 = 1, x1 = 4, y1 = 4, length = 0.5, angle = 15)
plot(1:5, 1:5, xlim = c(0,6), ylim = c (0,6), type = "n", main = "angle = 45")
arrows(x0 = 1, y0 = 1, x1 = 4, y1 = 4, length = 0.5, angle = 45)
plot(1:5, 1:5, xlim = c(0,6), ylim = c (0,6), type = "n", main = "angle = 60")
arrows(x0 = 1, y0 = 1, x1 = 4, y1 = 4, length = 0.5, angle = 60)

效果图
在这里插入图片描述除了上面的针对arrows 的特殊参数之外,也支持一些通用的参数,col , lty ,lwd 等

出生率和自然增长率
在这里插入图片描述
死亡率和自然增长率
在这里插入图片描述

模型的拟合优度(以出生率和死亡率为例)

在这里插入图片描述
出生率和死亡率的决定系数R^2=0.3447=34.47%表示在人口出生率的取值的总误差中有34.47%可以由人口出生率与死亡率之间的线性关系来解释,可见模型的拟合程度较低

残差的标准误

出生率和死亡率的残差标准误是0.06245,表示用死亡率来预测出生率时平均的预测误差为6.245%

模型显著检验——线性关系检验(F检验)

#H0:不显著;H1:显著
#F=9.469 p=0.006496<0.05拒绝原假设,线性关系显著

回归系数检验与推断

出生率和死亡率
H0:β1=0(自变量对因变量的影响不显著);H1:β2≠0(显著)
t=-3.077 p=0.0065<0.05,拒绝原假设,自变量对因变量的影响显著

利用回归方程进行预测

#计算点预测值(pre_model)、置信区间(con_int)和预测区间(pre_int)
model<-lm(人口出生率~人口死亡率,data=table)
x0<-table$人口死亡率
pre_model<-predict(model)
con_int<-predict(model,data.frame(人口死亡率=x0),interval="confidence",level=0.95)
pre_int<-predict(model,data.frame(人口死亡率=x0),interval="prediction",level=0.95)
pre<-data.frame(人口出生率=table$人口出生率,点预测值=pre_model,置信下限=con_int[,2],置信上限=con_int[,3],预测下限=pre_int[,2],预测上限=pre_int[,3])
pre

在这里插入图片描述

回归模型诊断

#计算预测值(pre)、残差(res)和标准化残差(zre)(出生率,死亡率)
model<-lm(人口出生率~人口死亡率,data=table)
pre<-fitted(model)
res<-residuals(model)
zre<-model$residuals/(sqrt(deviance(model)/df.residual(model)))
mysummary<-data.frame(人口出生率=table$人口出生率,点预测值=pre,残差=res,标准化残差=zre)
mysummary

在这里插入图片描述

检验线性关系

#成分残差图
model_1<-lm(人口出生率~人口死亡率,data=table)
library(car)
par(mai=c(.7,.7,.1,.1),cex=.8)
crPlots(model_1)#线性
#检验正态性
par(mfrow=c(2,2),cex=0.8,cex.main=0.7)
plot(model_1)
#检验方差齐性
library(car)
ncvTest(model_1)
#绘制散布—水平图
spreadLevelPlot(model_1)
#检验残差独立性
library(car)
durbinWatsonTest(model_1)

在这里插入图片描述
残差成分图,横坐标是自变量的实际观测值,纵坐标是因变量与残差之和,从拟合的曲线可以看出,人口出生率和死亡率没有过于明显的非线性模式,说明二者的线性关系假定成立。
在这里插入图片描述
右上角的图是标准化残差的正太Q-Q图,用于检验残差的正态性假定,可以看出,各个点大部分都在直线周围随机分布,没有固定模制,因此,出生率和死亡率的线性模型中,ε正态性的假定基本成立。
左上角的图是残差值与拟合值图
左下角的图是位置尺度图
右下角图是残差与杠杆图,用于鉴别样本数据是否有离群点、高杠杆点和强影响点 。
在这里插入图片描述

方差齐性检验的原假设为误差项满足方差齐性p=0.98995接受原假设,可以认为满足方差齐性。
在这里插入图片描述
该图非线性特征明显,所以不满足方差齐性的假定
在这里插入图片描述
原假设为残差无自相关 p=0,拒绝原假设,显示残差有自相关

  • 191
    点赞
  • 1717
    收藏
    觉得还不错? 一键收藏
  • 54
    评论
对于这个问题,我们可以先从数据分析的角度出发,再选择合适的工具来绘制图形。 1. 散点图 通过绘制2000-2019末总人口的散点图,我们可以观察到人口的增长趋势和波动情况。如果发现人口增长率在某些份有明显的变化,那么我们可以进一步探究背后的原因。 2. 折线图 通过绘制2000-2019末总人口的折线图,我们可以更加清晰地看到人口的变化趋势。如果需要进行预测,我们可以根据折线图来判断未来的人口发展趋势。 3. 散点图 通过绘制2000-2019末各龄段总人口的散点图,我们可以观察到各龄段的人口数量分布情况。如果发现某些龄段的人口数量有明显变化,那么我们可以进一步研究这些变化的原因。 4. 点线图 通过绘制2000-2019未末各龄段总人口的点线图,我们可以更加清晰地看到各龄段人口数量的变化趋势。如果需要进行预测,我们可以根据点线图来判断未来各龄段人口数量的变化趋势。 5. 饼图 通过绘制2019龄段末总人口的饼图,我们可以更加直观地看到各个龄段人口数量的占比情况。如果需要比较各龄段的人口数量占比,那么饼图是一个很好的选择。 6. 柱形图 通过绘制2019龄段末总人口的柱形图,我们可以更加清晰地看到各个龄段人口数量的大小关系。如果需要比较各龄段的人口数量大小,那么柱形图是一个很好的选择。 根据不同的需求,我们可以选择不同的图形来展示数据,帮助我们更好地理解数据背后的含义。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 54
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值