R--线性回归诊断(一)
线性回归诊断--R
【转载时请注明来源】:http://www.cnblogs.com/runner-ljt/
Ljt 勿忘初心 无畏未来
作为一个初学者,水平有限,欢迎交流指正。
在R中线性回归,一般使用lm函数就可以得到线性回归模型,但是得到的模型到底合不合适?在我们使用所得到的线性模型之前就需要进行回归诊断。
线性回归的诊断,主要是检验线性回归模型的假设是否成立。
线性回归模型 y=Θ0+Θ1x1+Θ2x2+.......+Θmxm+ε (自变量与因变量之间是线性关系)
基本假设:
(1)随机干扰项 ε 服从零均值,同方差,零协方差(相互独立)的正态分布
E(εi)=0 ; var(εi)=σ2 ; cov(εi , εj)=0 ;
εi~N(0,σ2)
(2)随机干扰项 ε 与解释变量间不相关
cov(Xi , εi) =0
(一)显著性检验
(1)回归方程显著性 F 检验 : 看自变量 X1 , X2 .....Xm 从整体上对随机变量Y是否有明显的影响 。
原假设 H0:Θ1 =Θ2=.....=Θm=0 (H0 若被接受则表明随机变量Y与X1 , X2 .....Xm 之间的关系由线性回归模型表示不合适)
P值<α : 拒绝原假设 。即在显著性水平 α 下,Y 与 X1 , X2 .....Xm 有显著的线性关系,回归方程是显著的。(自变量全体对因变量产生线性影响)
(2)回归系数显著性 t 检验:看单个的自变量 Xi 对Y是否有明显影响。
原假设 H0i :Θi =0 (H0i 若被接受则表明自变量Xi 对因变量Y的线性效果不显著)
P值<α : 拒绝原假设 。即在显著性水平 α 下,Y 与 Xi 有显著的线性关系。
对于一元线性回归这两种检验是等价的;
对于多元线性回归,这两种检验是不等价的:
F检验显著,说明Y对自变量X1 , X2 .....Xm 整体的线性回归效果是显著的,但不等于Y对每个自变量Xi 的效果都显著;反之,某个或某几个Xi 的系数不显著,回归方程显著性的F检验仍然有可能是显著的。由于某些自变量不显著,因而在多元回归中并不是包含在回归方程中的自变量越多越好,需要剔除对Y无显著影响的自变量。
(二)拟合优度
拟合优度用于检验回归方程对样本观测值的拟合程度。
样本决定系数 R2 = SSR/SST = 1 - SSE/SST (R2属于[0,1] )
R2 越接近 1 ,表明回归拟合的效果越好;
R2 越接近 0 ,表明回归拟合的效果越差。
与F检验相比,R2 可以更清楚直观地反映回归拟合的效果,但是并不能作为严格的显著性检验。需要指出的是,拟合优度并不是检验模型优劣的唯一标准,有时为了使模型从结构上有较合理的经济解释,在样本量n 较大时,R2 等于0.7左右我们也给回归模型以肯定态度。需要注意的是 R2与回归方程汇中自变量的数目以及样本量n有关,当样本量n与自变量的个数接近时,R2易接近于1,其中隐含着一些虚假的成分。
下面结合实例对R语言中线性拟合函数lm的结果进行分析
>
>
> head(bank)
y x1 x2 x3 x4
1 1018.4 96259 2239.1 50760 1132.3
2 1258.9 97542 2619.4 39370 1146.4
3 1359.4 98705 2976.1 44530 1159.9
4 1545.6 100072 3309.1 39790 1175.8
5 1761.6 101654 3637.9 33130 1212.3
6 1960.8 103008 4020.5 34710 1367.0
>
> fline<-lm(y~x1+x2+x3+x4,data=bank)
> summary(fline) Call:
lm(formula = y ~ x1 + x2 + x3 + x4, data = bank) Residuals:
Min 1Q Median 3Q Max
-487.35 -78.89 -2.65 137.02 403.78 Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -4.168e+03 1.193e+03 -3.495 0.002998 **
x1 5.842e-02 1.216e-02 4.805 0.000194 ***
x2 4.142e-01 3.218e-02 12.871 7.41e-10 ***
x3 -1.384e-02 8.520e-03 -1.624 0.123826
x4 -7.062e-01 1.750e-01 -4.035 0.000959 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 Residual standard error: 217.7 on 16 degrees of freedom
Multiple R-squared: 0.9982, Adjusted R-squared: 0.9978
F-statistic: 2222 on 4 and 16 DF, p-value: < 2.2e-16 >
>
回归结果的诊断:
(1)F-statistic
回归方程显著性 F 检验中的F统计量,其P值<2.2e-16<0.05 ,表明Y 与 X1 , X2 ,X3,X4有显著的线性关系,回归方程整体是显著的。
(2)Coefficients
Estimate 即回归系数的估计值,其对应的 P(>|t|)为各回归系数t检验的P值。
从回归结果看,X3的P值为0.123826>0.05,表明X3对Y没有显著影响,应考虑删除变量X3;其他三个变量的P值都<0.05,对Y 都有显著的影响。
---------以上两个回归检验的结果也表明,自变量整体对于因变量有显著影响,并不表明每个自变量对因变量都有显著影响。
(3)Multiple R-squared ; Adjusted R-squared
分别表示 ‘拟合优度’ ,‘修正的拟合优度’
拟合优度值为 0.9982 很接近于 1 ,表明回归方程对样本观测值的拟合程度较高。
相关图形诊断:
(1)残差图
残差图分析法是一种直观、方便的分析方法。它以残差ei 为纵坐标,以其他适宜的变量(如样本拟合值)为横坐标画散点图,主要用来检验是否存在异方差。
一般情况下,当回归模型满足所有假定时,残差图上的n个点的散布应该是随机的,无任何规律。如果残差图上的点的散布呈现出一定趋势(随横坐标的增大而增大或减小),则可以判断回归模型存在异方差。
异方差:某一因素或某些因素随着解释变量观测值的变化而对被解释变量产生不同的影响,导致随机误差产生不同方差。
当存在异方差时,普通最小二乘估计存在以下问题:
(i) 参数估计值虽然是无偏的,但不是最小方差线性无偏估计;
(ii) 参数的显著性检验失效;
(iii) 回归方程的应用效果极不理想。
(2)Q-Q图
Q-Q图主要用来检验样本是否近似服从正态分布。
对于标准状态分布而言,Q-Q图上的点近似在Y=X直线附近。
(3)标准化残差方根散点图
此图类似于残差图,只是其纵坐标变为了标准化残差的绝对值开方。
(4)Cook距离图
库克距离用来判断强影响点是否为Y的异常值点。
一般认为 当D<0.5时认为不是异常值点;当D>0.5时认为是异常值点。
>
> par(mfrow=c(2,2))
> plot(fline,which=c(1:4))
>

从回归的四个图形结果来看:
残差图 Residuals vs Fitted : 图上的点基本服从随机分布,可以认为不存在异方差的情况;
标准Q-Q图 Normal Q-Q : 图上的点基本都在y=x直线附件,可认为样本近似服从正态分布;
标准化残差方根散点图 Scale-Location:类似与残差图,点的分布基本是随机的。
库克距离图 Cook‘s distance : 最大的库克距离为0.3左右,可以认为没有异常值点。
R--线性回归诊断(一)的更多相关文章
- R--线性回归诊断(二)
线性回归诊断--R [转载时请注明来源]:http://www.cnblogs.com/runner-ljt/ Ljt 勿忘初心 无畏未来 作为一个初学者,水平有限,欢迎交流指正. R--线性回 ...
- ISLR系列:(1)线性回归 Linear Regression
Linear Regression 此博文是 An Introduction to Statistical Learning with Applications in R 的系列读书笔记,作为本 ...
- Python爱好者社区历史文章列表(每周append更新一次)
2月22日更新: 0.Python从零开始系列连载: Python从零开始系列连载(1)——安装环境 Python从零开始系列连载(2)——jupyter的常用操作 Python从零开始系列连载( ...
- nmap速查表v1.0(中文版)
基本语法: #nmap [扫描方式] [命令选项] {目标} 扫描目标格式: IPv4 地址: 192.168.1.1IPv6 地址:AABB:CCDD::FF%eth0主机名:www.target. ...
- nmap速查表v1.0
基本语法: #nmap [扫描方式] [命令选项] {目标} 扫描目标格式: IPv4 地址: 192.168.1.1IPv6 地址:AABB:CCDD::FF%eth0主机名:www.targe ...
- 【极值问题】【CF1063B】 Labyrinth
传送门 Description 给你一个\(n~\times~m\)的矩阵,一开始你在第\(r\)行第\(c\)列.你的上下移动不受限制,向左最多移动\(x\)次,向右最多移动\(y\)次.求你最多能 ...
- 洛谷 P2155 BZOJ 2186 codevs 2301 [SDOI2008]沙拉公主的困惑
题目描述 大富翁国因为通货膨胀,以及假钞泛滥,政府决定推出一项新的政策:现有钞票编号范围为1到N的阶乘,但是,政府只发行编号与M!互质的钞票.房地产第一大户沙拉公主决定预测一下大富翁国现在所有真钞票的 ...
- 树形dp专题总结
树形dp专题总结 大力dp的练习与晋升 原题均可以在网址上找到 技巧总结 1.换根大法 2.状态定义应只考虑考虑影响的关系 3.数据结构与dp的合理结合(T11) 4.抽直径解决求最长链的许多类问题( ...
- [原]CentOS7安装Rancher2.1并部署kubernetes (二)---部署kubernetes
################## Rancher v2.1.7 + Kubernetes 1.13.4 ################ ##################### ...
随机推荐
- ZooKeeper之(五)集群管理
在一台机器上运营一个ZooKeeper实例,称之为单机(Standalone)模式.单机模式有个致命的缺陷,一旦唯一的实例挂了,依赖ZooKeeper的应用全得完蛋. 实际应用当中,一般都是采用集群模 ...
- Dynamics CRM 本地插件注册器连CRMAn unsecured or incorrectly secured fault was received from the other party
今天遇到个问题,在本地打开插件注册器连接到远程CRM服务器时报如下问题 但我在CRM服务器上连接注册器是可以打开的,所以不存在账号权限这类的问题了(当然我用的是超管的账号也不可能存在),最后查询得知是 ...
- 短文本分析----基于python的TF-IDF特征词标签自动化提取
绪论 最近做课题,需要分析短文本的标签,在短时间内学习了自然语言处理,社会标签推荐等非常时髦的技术.我们的需求非常类似于从大量短文本中获取关键词(融合社会标签和时间属性)进行用户画像.这一切的基础就是 ...
- android 自定义ViewGroup之浪漫求婚
*本篇文章已授权微信公众号 guolin_blog (郭霖)独家发布 1.最终效果 有木有发现还是很小清新的感觉 2.看整体效果这是一个scrollView,滑动时每个子view都有一个或多个动画效果 ...
- 使用反射创建Bean、Spring中是如何根据类名配置创建Bean实例、Java提供了Class类获取类别的字段和方法,包括构造方法
Java提供了Class类,可以通过编程方式获取类别的字段和方法,包括构造方法 获取Class类实例的方法: 类名.class 实例名.getClass() Class.forNam ...
- EBS接口程序调试
这两天在做采购接收的时候有一个香港的业务实体的采购接不进去,但是其他业务实体能接进去,找错误话费了不少时间,也参考了网上好多资料,虽然最后这个方法没用但觉得还是很有用的,整理一下作为自己的一个总结 错 ...
- C++对象模型的那些事儿之六:成员函数调用方式
前言 C++的成员函数分为静态函数.非静态函数和虚函数三种,在本系列文章中,多处提到static和non-static不影响对象占用的内存,而虚函数需要引入虚指针,所以需要调整对象的内存布局.既然已经 ...
- 如何解决RK3168或者RK系列MASKROM的问题
不知道使用RK芯片的小伙伴有没有遇到我这样的问题,在用Android-Tool下载相应 IMG的时候,正常情况下,按电源键和音量+键应该出现loader下载模式,但是却出现MASKROM的字样,以前不 ...
- Java-IO之CharArrayWriter(字符数组输出流)
CharArrayWriter用于写数据,数据单位是字符. (1) 通过CharArrayWriter()创建的CharArrayWriter对应的字符数组大小是32. (2) 通过CharArray ...
- 手把手教你轻松实现listview下拉刷新
很多人觉得自定义一个listview下拉刷新上拉加载更多是一件很牛x的事情,不是大神写不出来,我想大多数童鞋都是做项目用到时就百度,什么pulltorefresh,xlistview...也不看原理, ...