博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
残差学习【转载】
阅读量:4606 次
发布时间:2019-06-09

本文共 3205 字,大约阅读时间需要 10 分钟。

转自:

1.定义

在回归模型y=\beta _{0}+\beta _{1}x+\varepsilon 中,假定\varepsilon 的期望值为0,方差相等且服从正态分布的一个随机变量。但是,若关于\varepsilon的假定不成立,此时所做的检验以及估计和预测也许站不住脚。

确定有关\varepsilon的假定是否成立的方法之一是进行残差分析(residual analysis).

 //期望值为0,不是均值为0。方差相等,若以自变量为横轴,那么就是残差不会随着自变量的增大而变化。

2.残差 

普通残差就是使用预测值与真实值的差值。

 

减去残差的均值,比上残差的标准差。百科上是这么说的:

//这里计算方差,需要用到矩阵的性质吧,我还不太明白。

性质

3.残差图

 

分析:

(a)对所有x值,\varepsilon的方差都相同,且描述变量x和y之间的回归模型是合理的,残差图中的所有点落在一条水平带中间。

(b)对所有的值,\varepsilon的方差是不同的,对于较大的x值,相应的残差也较大,违背了\varepsilon的方差相等的假设

(c)表明所选的回归模型不合理,应考虑曲线回归或多元回归模型。

 标准化残差图

如果误差项 \varepsilon 服从正态分布的这一假定成立,则标准化残差的分布也服从正态分布。大约有95%的标准化残差在 -2~2 之间。

从图中可以看出,除了箭头所标识的点外,所有的标准化残差都在 -2~2 之间,所以误差项服从正态分布的假定成立。

3.R中计算残差

普通残差

转自:

> x=c(274, 180, 375, 205, 86, 265, 98, 330, 195, 53, 430, 372, 236, 157, 370)> y=c(162, 120, 223, 131, 67, 169, 81, 192, 116, 55,252, 234, 144, 103, 212)> lm.reg<-lm(y~x)> lm.regCall:lm(formula = y ~ x)Coefficients:(Intercept)            x      22.5959       0.5301  > plot(x,y)> plot(x,x*0.5301+22.5959)> residuals(lm.reg)         1          2          3          4          5          6          7          8 -5.8371655  1.9901142  1.6250126 -0.2618219 -1.1826061  5.9335315  6.4564646 -5.5215024          9         10         11         12         13         14         15 -9.9610475  4.3099496  1.4707532 14.2152450 -3.6942227 -2.8181046 -6.7246001 > length(x)[1] 15> y-predict(lm.reg)         1          2          3          4          5          6          7          8 -5.8371655  1.9901142  1.6250126 -0.2618219 -1.1826061  5.9335315  6.4564646 -5.5215024          9         10         11         12         13         14         15 -9.9610475  4.3099496  1.4707532 14.2152450 -3.6942227 -2.8181046 -6.7246001 > predict(lm.reg)        1         2         3         4         5         6         7         8         9 167.83717 118.00989 221.37499 131.26182  68.18261 163.06647  74.54354 197.52150 125.96105        10        11        12        13        14        15  50.69005 250.52925 219.78476 147.69422 105.81810 218.72460

其中,x和y的散点图:

标准化误差

> rstandard(lm.reg)#使用R的函数计算         1          2          3          4          5          6          7          8 -0.9416479  0.3235814  0.2754541 -0.0422737 -0.2046419  0.9558474  1.1044435 -0.9081795          9         10         11         12         13         14         15 -1.6121139  0.7749377  0.2642816  2.4037012 -0.5942624 -0.4626949 -1.1352669 > ?lm> h=hatvalues(lm.reg)#调用帽子矩阵的对角线元素> h         1          2          3          4          5          6          7          8 0.07211511 0.08661028 0.15960771 0.07372797 0.19358595 0.06949958 0.17478005 0.10743828          9         10         11         12         13         14         15 0.07809592 0.25307344 0.25215275 0.15547037 0.06683869 0.10423942 0.15276447 > mse=sum((residuals(lm.reg)-mean(residuals(lm.reg)))^2)/13#这里为什么要减去两个样本..不明白> mse[1] 41.41263> standard_error= residuals(lm.reg)/(sqrt(mse*(1-h)))#用公式计算标准化残差> standard_error         1          2          3          4          5          6          7          8 -0.9416479  0.3235814  0.2754541 -0.0422737 -0.2046419  0.9558474  1.1044435 -0.9081795          9         10         11         12         13         14         15 -1.6121139  0.7749377  0.2642816  2.4037012 -0.5942624 -0.4626949 -1.1352669

通过 标准化残差公式 计算得到的结果。

转载于:https://www.cnblogs.com/BlueBlueSea/p/10291359.html

你可能感兴趣的文章
51nod 1019 逆序数
查看>>
20145202马超《JAVA》预备作业1
查看>>
云推送注意(MSDN链接)
查看>>
OpenMobile's Application Compatibility Layer (ACL)
查看>>
竞价广告系统-广告检索
查看>>
强哥PHP面向对象学习笔记
查看>>
[转]基于.NET平台常用的框架整理
查看>>
Symbian (Read Inbox)读取收件箱的内容
查看>>
良好的编程规范
查看>>
struts2 入门
查看>>
.net 编译原理
查看>>
mean 快速开发和现有技术的对比分析
查看>>
Metro Style app :浏览器扩展
查看>>
linux的kernel是怎样工作的(TI_DM36X_ARM系统)(1)
查看>>
[luogu4310] 绝世好题 (递推)
查看>>
[luogu3203 HNOI2010] 弹飞绵羊 (分块)
查看>>
-Dmaven.multiModuleProjectDirectory system propery is not set.
查看>>
Python2 unichr() 函数
查看>>
Python 字典 copy()方法
查看>>
Minimum Path Sum
查看>>