残差标准差和残差平方和关系

Python016

残差标准差和残差平方和关系,第1张

记得关 注" R语言与统计 "~~ 简单线性回归(Simple linear regression) 也称为一元线性回归,是分析一个自变量(x)与因变量(y)之间线性关系的方法,它的目的是拟合出一个线性函数或公式来描述x与y之间的关系。 线性回归是统计学中最基础、重要、并且被广泛使用的方法之一。 据KD Nuggets网站的调查报告显示,回归方程位列Top1,是被数据科学家应用次数最多的方法,据说这样的领先地位将会持续到2118年!

可以这么说:得回归者得天下b74581dab9e0efd3a4de41f6b66e3158.png!

2096f70e901dcd20ebb6bbfb5dbdd65b.png

来源: KD Nuggets

回归(Regression)是一种即简单又复杂的技术。关于回归理论与数学原理的教科书可以厚达上千页。

不过,它的应用相对容易上手,方程的解释也比较的直观简单。 今天选择回归中最基础的简单线性回归作为开始,之后会逐渐延伸到其他类型的回归。 7b15dc28d9ccb710595b433e730da484.png

1. 简单线性回归的公式与基础

简单线性回归可以用下方的数学公式表示: y= a + b*x + error 其中: y为因变量; x为自变量; a为截距; b为斜率; error为残差,即没有被回归方程解释的变异部分。 (关于残差请查看往期文章: 手把手教你画出统计上极其重要的概念:残差 )。 下方的图片可以帮助大家更加清楚的了解上述各个元素到底代表什么:

f525f0f83c8909a3728f3d6b67b3d6d0.png

线性回归的拟合就是将残差的平方和(Residual Sum of Squares或RSS)降到最低的过程。通过找到最小的RSS,从而计算出回归系数(a与b),这种方法也称为最小二乘回归(Least squares regression)。 18ece3bccc453972518e6e01d6eea9d0.png 下图可以帮助我们更加容易的理解残差与RSS(来自我们的往期文章: 手把手教你画出统计上极其重要的概念:残差 ): e8a791acd213b9227070364b0eafc6f7.png RSS即是残差(灰色线条)的平方和。 理论上的介绍就到此为止,现在开始操作部分!

2. 数据的准备

使用到的数据集为R自带的mtcars,首先预览一下:

summary(mtcars)

# mpg cyl disp hp # Min. :10.40 Min. :4.000 Min. : 71.1 Min. : 52.0 # 1st Qu.:15.43 1st Qu.:4.000 1st Qu.:120.8 1st Qu.: 96.5 # Median :19.20 Median :6.000 Median :196.3 Median :123.0 # Mean :20.09 Mean :6.188 Mean :230.7 Mean :146.7 # 3rd Qu.:22.80 3rd Qu.:8.000 3rd Qu.:326.0 3rd Qu.:180.0 # Max. :33.90 Max. :8.000 Max. :472.0 Max. :335.0 # drat wt qsec vs# Min. :2.760 Min. :1.513 Min. :14.50 Min. :0.0000 # 1st Qu.:3.080 1st Qu.:2.581 1st Qu.:16.89 1st Qu.:0.0000 # Median :3.695 Median :3.325 Median :17.71 Median :0.0000 # Mean :3.597 Mean :3.217 Mean :17.85 Mean :0.4375 # 3rd Qu.:3.920 3rd Qu.:3.610 3rd Qu.:18.90 3rd Qu.:1.0000 # Max. :4.930 Max. :5.424 Max. :22.90 Max. :1.0000 # am gearcarb # Min. :0.0000 Min. :3.000 Min. :1.000 # 1st Qu.:0.0000 1st Qu.:3.000 1st Qu.:2.000 # Median :0.0000 Median :4.000 Median :2.000 # Mean :0.4062 Mean :3.688 Mean :2.812 # 3rd Qu.:1.0000 3rd Qu.:4.000 3rd Qu.:4.000 # Max. :1.0000 Max. :5.000 Max. :8.000

其中的 wt 与 mpg 是今天用到的变量。wt为汽车的重量,mpg为汽车每消耗1加仑油能够行驶的距离。 为了简化数据集,提取这两个变量保存到mydata中。

mydata "wt", "mpg")]

我们想要研究wt(汽车重量)与mpg(英里/加仑:每消耗一加仑油的行驶距离)之间的关系。 在后续的回归方程中,wt为自变量(x),mpg是因变量(y) 。

3. 制作散点图(数据的探索)

在做任何统计分析之前作一个图来展示数据的关系是一个好习惯b74581dab9e0efd3a4de41f6b66e3158.png! 因为wt与mpg都是连续变量,所以选择散点图展示两者的关系( R语言画展ggplot2篇-散点图 ),在此基础上再添加一个平滑的曲线( 回答读者系列(一):如何在散点图中添加拟合曲线? )。

library(ggplot2) # 载入ggplot2ggplot(mydata, aes(wt, mpg)) + geom_point() + geom_smooth()# 添加平滑曲线

2ccba87396480cc42928b1e5943adffb.png 从上图中大致可知,两者的关系呈负相关,即随着wt的增加,mpg呈递减的趋势。 也就是说,重量越重的汽车,消耗1加仑油能够行驶的距离越短,这个结果也比较符合我们的经验与常识。 并且,两者之间的关系可以认为是线性的。

4. 回归方程的计算

上述两个变量的关系可以用简单线性回归方程来表示:

mpg = a + b*wt

R中的 lm() 可以计算上述方程中的a(截距)与b(斜率)。

fit ~ wt, data = mydata) # 拟合简单线性回归,“lm”指的是linear model, 即线性回归

fit# 显示结果

#Call:#lm(formula = mpg ~ wt, data = mydata)#Coefficients:#(Intercept) wt # 37.285-5.344

从上述的结果可知:a = 37.285, b = -5.344。 所以,wt与mpg之间的关系可以用下方的数学公式表示:

mpg = 37.285- 5.344*wt

在我们这个例子中,b(斜率)的含义指的是:wt每增加一个单位,mpg下降5.344。

5. 回归直线

制作散点图,并且添加回归直线:

ggplot(mydata, aes(wt, mpg)) + geom_point() + geom_smooth(method = "lm") # “lm”指的是linear model, 即线性回归

f9088069fbd5a7689ed56f6529808c8b.png

6. 模型的评估

summary(fit) # 评估模型

代码非常简单,就是一个summary(fit),但是结果却是一大段:

#Call:#lm(formula = mpg ~ wt, data = mydata) #Residuals:#Min1QMedian 3QMax #-4.5432 -2.3647 -0.1252 1.4096 6.8727 #Coefficients:#Estimate Std. Error t value Pr(>|t|) #(Intercept) 37.2851 1.877619.858 <2e-16 ***# wt -5.3445 0.5591-9.559 1.29e-10 ***#---#Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1#Residual standard error: 3.046 on 30 degrees of freedom#Multiple R-squared: 0.7528, Adjusted R-squared: 0.7446 #F-statistic: 91.38 on 1 and 30 DF, p-value: 1.294e-10

上述的结果可以概括为以下几点308e347594c1bae6848bb083b03bfb54.png: 1. call : 指的是输入的回归方程信息。 2. Residuals : 指的是残差的信息。 3. Coefficients : 回归系数的信息(a与b,即截距与斜率)。

#Coefficients:#Estimate Std. Errort value Pr(>|t|) #(Intercept) 37.2851 1.8776 19.858 <2e-16 ***# wt -5.3445 0.5591 -9.559 1.29e-10 ***

这一栏包含回归系数的信息,比如estimate(a与b,即截距与斜率),Std.Error(标准误),t value(t值)与pr(>|t|) p值。

我们最关心的问题是关于wt的一些信息以及wt是否有统计学意义。通过上述的结果,可以知道b = -5.3445, 它的标准误为0.5591, t值为-9.559,p = 1.29e-10。因此,wt每增加一个单位,mpg下降5.344,并且具有统计学意义。

4. Residual standard error(RSE), R2 与校正后的R2 ,F-statistic : 反映模型对于数据的拟合优化程度,即评价一个模型到底好不好的指标。 8d67cff52ccb5e8344be1bf3595fd925.gif 下面对每一个指标作一些“简单”的介绍: Residual standard error( RSE ) : 也称为模型的sigma值,代表残差的变异程度。用数学的话说,就是残差(Residual)的标准差(Standard deviation),有点拗口9a88bab476d7aa06ddb5c4c84e13b8f8.png。

#Residual standard error: 3.046 on 30 degrees of freedom

RSE的数值反映了回归模型无法解释的那一部分信息。所以RSE越小意味着模型越好,越小意味着我们的模型可以解释越多的信息。 以我们的例子来说,RSE值为3.046,即表示每个散点图上的点偏离回归直线的平均距离为3.046个单位。因此,RSE越低,点偏离回归直线的距离越小,意味着回归方程越准确。 R-squared (R方) : 即R方与校正后的R方。R2的数值范围为(0~1),指的是在数据中模型可以解释的那部分信息的比例。R方越接近1,模型能够解释的信息越高,模型就越好。

# Multiple R-squared: 0.7528, Adjusted R-squared: 0.7446

在我们的例子中,R2等于0.7528,说明我们的模型可以解释mpg(每加仑行驶距离)变异程度的75.28%,已经是相当高了! 但是,随着回归方程中变量的增多(比如多元线性回归),R方趋向于变大,所以对于评价一个方程的好坏来说,会有偏移。因此,统计学家们发明了校正后的R2(Adjusted R-squared),将变量的个数也考虑在内。所以,相对与R2要更加准确,尤其是在多元线性回归当中。 F-statistic: 可用于评价回归方程整体的统计学意义。

# F-statistic: 91.38 on 1 and 30 DF, p-value: 1.294e-10

F-statistic的值越大,它的p值将会越小。 f9ed731aa1a5c56dc525061a12bbc02a.gif

好啦,今天不简单的简单线性回归就到这里。

如果有帮助,记得分享6c3c03421f4d9b0a61a1c1920f91bcfa.png给需要的人!

参考文献 1.《The Elements of Statistical Learning》 2. 《Linear Models with R》Julian J. Faraway

edbf626e6662f05b15cceea21eb8cfab.png

整数中,能被2整除的数是偶数,不能被2整除的数是奇数 注意 0是非奇非偶的

这样我们就可以算出 奇数: 13 59 83 21 23 43 1 77

偶数:54 64 40 76 78 12

如果有问题,追问我就行了

记得采纳,万分感谢