R in action读书笔记(9)-第八章:回归 -回归诊断
8.3回归诊断
> fit<-lm(weight~height,data=women)
> par(mfrow=c(2,2))
> plot(fit)
为理解这些图形,我们来回顾一下oLs回归的统计假设。
口正态性当预测变量值固定时,因变量成正态分布,则残差值也应该是一个均值为0的正态分布。正态Q-Q图(Normal Q-Q,右上)是在正态分布对应的值下,标准化残差的概率图。若满足正态假设,那么图上的点应该落在呈45度角的直线上;若不是如此,那么就违反了正态性的假设。
口独立性你无法从这些图中分辨出因变量值是否相互独立,只能从收集的数据中来验证。上面的例子中,没有任何先验的理由去相信一位女性的体重会影响另外一位女性的体重。假若你发现数据是从一个家庭抽样得来的,那么可能必须要调整模型独立性的假设。
口线性若因变量与自变量线性相关,那么残差值与预测(拟合)值就没有任何系统关联。换句话说,除了自噪声,模型应该包含数据中所有的系统方差。在“残差图与拟合图”( Residuals vs Fitted,左上)中可以清楚的看到一个曲线关系,这暗示着你可能需要对回归模型加上一个二次项。
口同方差性若满足不变方差假设,那么在位置尺度图(Scale-Location Graph,左下)中,水平线周围的点应该随机分布。该图似乎满足此假设。最后一幅“残差与杠杆图”(Residuals vs Leverage,右下)提供了你可能关注的单个观测点的信息。从图形可以鉴别出离群点、高杠杆值点和强影响点。
8.3.2改进的方法
qqPlot() 分位数比较图
durbinWatsonTest()对误差自相关性做Durbin-Watson检验
crPlots()成分与残差图
ncvTest()对非恒定的误差方差做得分检验
spreadLevelPlot()分散水平检验
outlierTest()Bonferroni离群点检验
avPlots()添加的变量图形
inluencePlot()回归影响图
scatterplot()增强的散点图
scatterplotMatrix()增强的散点图矩阵
vif()方差膨胀因子
1.正态性
与基础包中的plot ( )函数相比,qqPlot()函数提供了更为精确的正态假设检验方法,它画出了在n-p-1个自由度的t分布下的学生化残差(( studentized residual,也称学生化删除残差或折叠化残差)图形,其中n是样本大小,p是回归参数的数目(包括截距项)。
Eg:
> library(car)
> states=data.frame(state.region,state.x77)
> fit<-lm(Murder~Population+Illiteracy+Income+Frost,data=states)
> qqPlot(fit,labels=row.names(states),id.method="identify",simulate=TRUE,main="Q-QPlot")
绘制学生化残差图的函数
residplot<-function(fit,nbreaks=10){
z<-rstudent(fit)
hist(z,breaks=nbreaks,freq=FALSE,
xlab="Studentized Residual",
main="Distribution of Errors")
rug(jitter(z),col="brown")
curve(dnorm(x,mean=mean(z),sd=sd(z)),
add=TRUE,col="blue",lwd=2)
legend("topright",legend=c("NormalCurve","Kernel Density Curve"),
lty=1:2,col=c("blue","red"),cex=.7)
}
residplot(fit)
2.误差的独立性
car包提供了一个可做Durbin-Watson检验的函数,能够检测误差的序列相关性。
> durbinWatsonTest(fit)
lagAutocorrelation D-W Statistic p-value
1 -0.2006929 2.317691 0.284
Alternative hypothesis: rho != 0
3. 线性
通过成分残差图(component plus residual plot)也称偏残差图(partialresidual plot),你可以看看因变量与自变量之间是否呈非线性关系,也可以看看是否有不同于已设定线性模型的系统偏差,图形可用car包中的crPlots()函数绘制。
4. 同方差性
ncvTest()函数生成一个计分检验,零假设为误差方差不变,备择假设为误差方差随着拟合值水平的变化而变化。若检验显著,则说明存在异方差性(误差方差不恒定)。spreadLevelPlot()函数创建一个添加了最佳拟合曲线的散点图,展示标准化残差绝对值与拟合值的关系
检验同方差性
> library(car)
> ncvTest(fit)
Non-constant Variance Score Test
Variance formula: ~ fitted.values
Chisquare = 1.746514 Df = 1 p = 0.1863156
> spreadLevelPlot(fit)
Suggested power transformation: 1.209626
8.3.3 线性模型假设的综合验证
gvlma包中的gvlma()函数
> library(gvlma)
> gvmodel<-gvlma(fit)
> summary(gvmodel)
Call:
lm(formula = Murder ~Population + Illiteracy + Income + Frost,
data = states)
Residuals:
Min 1Q Median 3Q Max
-4.7960 -1.6495-0.0811 1.4815 7.6210
Coefficients:
Estimate Std. Error t valuePr(>|t|)
(Intercept)1.235e+00 3.866e+00 0.319 0.7510
Population 2.237e-04 9.052e-05 2.471 0.0173 *
Illiteracy 4.143e+00 8.744e-01 4.738 2.19e-05 ***
Income 6.442e-05 6.837e-04 0.094 0.9253
Frost 5.813e-04 1.005e-02 0.058 0.9541
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’1
Residual standarderror: 2.535 on 45 degrees of freedom
MultipleR-squared: 0.567, Adjusted R-squared: 0.5285
F-statistic: 14.73 on 4and 45 DF, p-value: 9.133e-08
ASSESSMENT OF THELINEAR MODEL ASSUMPTIONS
USING THE GLOBAL TESTON 4 DEGREES-OF-FREEDOM:
Level of Significance= 0.05
Call:
gvlma(x = fit)
Value p-value Decision
Global Stat 2.7728 0.5965 Assumptions acceptable.
Skewness 1.5374 0.2150 Assumptions acceptable.
Kurtosis 0.6376 0.4246 Assumptions acceptable.
Link Function 0.1154 0.7341 Assumptions acceptable.
Heteroscedasticity0.4824 0.4873 Assumptions acceptable.
8.3.4 多重共线性
多重共线性可用统计量VIF(Variance Inflation Factor,方差膨胀因子)进行检测。VIF的平
方根表示变量回归参数的置信区间能膨胀为与模型无关的预测变量的程度(因此而得名)。car
包中的vif()函数提供VIF值。一般原则下,vif >2就表明存在多重共线性问题
检测多重共线性:
> library(car)
> vif(fit)
PopulationIlliteracy Income Frost
1.245282 2.165848 1.345822 2.082547
> sqrt(vif(fit))>2
PopulationIlliteracy Income Frost
FALSE FALSE FALSE FALSE
R in action读书笔记(9)-第八章:回归 -回归诊断的更多相关文章
- R in action读书笔记(11)-第八章:回归-- 选择“最佳”的回归模型
8.6 选择“最佳”的回归模型 8.6.1 模型比较 用基础安装中的anova()函数可以比较两个嵌套模型的拟合优度.所谓嵌套模型,即它的一 些项完全包含在另一个模型中 用anova()函数比较 &g ...
- R in action读书笔记(10)-第八章:回归-- 异常观测值 改进措施
8.4 异常观测值 8.4.1 离群点 car包也提供了一种离群点的统计检验方法.outlierTest()函数可以求得最大标准化残差绝对值Bonferroni调整后的p值: > library ...
- R in action读书笔记(8)-第八章:回归(上)
8.1回归的多面性 8.2 OLS回归 OLS回归拟合模型形式: 为了能够恰当地解释oLs模型的系数,数据必须满足以下统计假设. 口正态性对于固定的自变量值,因变量值成正态分布. 口独立性Yi值之间相 ...
- R in action读书笔记(22)第十六章 高级图形进阶(下)
16.2.4 图形参数 在lattice图形中,lattice函数默认的图形参数包含在一个很大的列表对象中,你可通过trellis.par.get()函数来获取,并用trellis.par.set() ...
- R in action读书笔记(21)第十六章 高级图形进阶(上)
16.1 R 中的四种图形系统 基础图形函数可自动调用,而grid和lattice函数的调用必须要加载相应的包(如library(lattice)).要调用ggplot2函数需下载并安装该包(inst ...
- R in action读书笔记(20)第十五章 处理缺失数据的高级方法
处理缺失数据的高级方法 15.1 处理缺失值的步骤 一个完整的处理方法通常包含以下几个步骤: (1) 识别缺失数据: (2) 检查导致数据缺失的原因: (3) 删除包含缺失值的实例或用合理的数值代替( ...
- R in action读书笔记(19)第十四章 主成分和因子分析
第十四章:主成分和因子分析 本章内容 主成分分析 探索性因子分析 其他潜变量模型 主成分分析(PCA)是一种数据降维技巧,它能将大量相关变量转化为一组很少的不相关变量,这些无关变量称为主成分.探索性因 ...
- R in action读书笔记(17)第十二章 重抽样与自助法
12.4 置换检验点评 除coin和lmPerm包外,R还提供了其他可做置换检验的包.perm包能实现coin包中的部分功能,因此可作为coin包所得结果的验证.corrperm包提供了有重复测量的相 ...
- R in action读书笔记(14)第十一章 中级绘图 之一:散点图(高能预警)
第十一章中级绘图 本章内容: 二元变量和多元变量关系的可视化 绘制散点图和折线图 理解相关图 学习马赛克图和关联图 本章用到的函数有: plot hexbin ablines iplot scatte ...
随机推荐
- IIS7添加虚拟目录映射另一台服务器的共享文件夹
现状: 一台Windows Server2008 Web服务器 A,一台Windows Server2003 文件服务器 B,需要在A中IIS添加对B的Web访问 方法: 1.A中添加和B相同的账号, ...
- GitHub Pages使用入门
1.什么是GitHub Pages GitHub Pages可以当做项目的Websites,GitHub Pages有两种最基本的用法: 作为你自己(或者组织)的网站(访问地址示例:http://us ...
- 并不对劲的bzoj4199: [Noi2015]品酒大会
传送门-> 又称普及大会. 这题没什么好说的……后缀自动机裸题……并不对劲的人太菜了,之前照着标程逐行比对才过了这道题,前几天刚刚把这题一遍写对…… 这题的输出和某两点相同后缀的长度有关,那么把 ...
- SPOJ:Fibonacci Polynomial(矩阵递推&前缀和)
Problem description. The Fibonacci numbers defined as f(n) = f(n-1) + f(n-2) where f0 = 0 and f1 = 1 ...
- cocos2d-x-2.1.5版本在Xcode4.2中首次编译ccimage Semantic Issue出错解决方法
// XXX: ios7 casting [str drawInRect:CGRectMake(textOriginX, textOrigingY, textWidth, textHeight) wi ...
- hdu5396(区间DP)
题目意思: 给定一个表达式,运算符没有优先级,求不同顺序计算,所有可能的得到的结果之和. 由于运算符没有优先级,所以有多种顺序去计算,设d[i][j]表示[i,j]区间表达式通过不同顺序计算,所以可能 ...
- 10_传智播客iOS视频教程_NSString
从今天开始不会再去用C语言当中的字符串.因为OC当中设计了一种更为好用的存储字符串的变量. C的字符串和OC的字符串是有区别的. NSString类型的指针变量,只能存储OC字符串的地址.第一步是声明 ...
- HDU1072:Nightmare
传送门 题意 给出一张n*m的图 0.墙 1.可走之路 2.起始点 3.终点 4.时间重置点 问是否能到达终点 分析 我的训练专题第一题,一开始我设个vis数组记录,然后写炸,不能处理重置点根vis的 ...
- markdown(语法)入门学习:
原文链接:https://segmentfault.com/a/1190000010223222#articleHeader9 1.标题 注:#后面保持空格 # h1 ## h2 ### h3 ### ...
- 状压dp之二之三 炮兵阵地/玉米田 By cellur925
一.简单的状压dp 玉米田 题目描述 Farmer John has purchased a lush new rectangular pasture composed of M by N (1 ≤ ...