数据是统计局下载的,为期末大作业做准备。
数据要存成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函数……
假设检验时,需写明具体“假设”、结论及相应代码。
建模时,需明确具体步骤,对建模参数进行解读

<>数据描述性统计

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

<>核密度图

人口出生率:

人口死亡率:

人口自然增长率:

<>时间序列图

<>数据分析

* 确定变量间的关系
首先出生率和死亡率:


人口出生率下降,人口死亡率在增长,二者的观测点分布在一条直线的周围,因而具有负线性关系。两个箱线图显示,出生率和死亡率不是对称分布。从拟合的曲线来看,有一定的线性特征,可以认为两个变量有线性关系。
其次是出生率和自然增长率
代码同上


人口出生率增加,人口自然增长率也在增长,二者的观测点分布在一条直线的周围,因而具有正的线性相关关系。两个箱线图显示,出生率和死亡率有一定的对称分布。从拟合的曲线来看,非线性特征不明显,显示两个变量有线性关系。
最后是死亡率和自然增长率


人口死亡率减少,人口自然增长率在增长,二者的观测点分布在一条直线的周围,因而具有负的线性相关关系。两个箱线图显示,出生率和死亡率不是对称分布。从拟合的曲线来看,线性特征不是很明显,显示两个变量没有较强线性关系。
* 有关于相关系数的计算与检验

* 回归模型与回归方程

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,拒绝原假设,显示残差有自相关

技术
©2019-2020 Toolsou All rights reserved,
HashMap详解某东14薪变16薪,是诚意还是套路?浏览器内核(理解)java四大函数式接口(重点,简单)html写樱花树,写樱花树的作文让人意想不到的Python之樱花树(turtle库的华丽样式)os模块的简单使用