R语言回归分析

回归分析可以说是统计学的核心,它其实是一个广义的概念,通指那些用一个或多个预测变量(也称自变量或解释变量)来预测响应变量(也称因变量、效标变量或结果变量)的方法。通常,回归分析可以用来挑选与响应变量相关的解释变量,可以描述两者的关系,也可以生成一个等式,通过解释变量来预测响应变量。
最小二乘法回归是通过预测变量的加权和来预测量化的因变量,其中权重是通过数据估计而得的参数,目标是通过减少响应变量的真实值与预测值的差值来获得模型参数(截距项和斜率),具体而言,即使得残差平方和最小。下面将通过几篇博客介绍回归分析,这是第四篇:改进异常值。

之前的博客客介绍了如何对数据进行诊断:正态性、独立性、线性、同方差性,这里介绍如何对其进行改进,具体的方法包括如下几个:

  • 删除观测点;
  • 变量变换;
  • 添加或删除变量;
  • 使用其他回归方法等。

1、删除观测点

删除离群点通常可以提高数据集对于正态假设的拟合度,而强影响点会干扰结果,通常也会被删除。删除最大的离群点或者强影响点后,模型需要重新拟合。若离群点或强影响点仍然存在,重复以上过程直至获得比较满意的拟合。

library(car)
states <- as.data.frame(state.x77[,c("Murder", "Population","Illiteracy", "Income", "Frost")])
lm.fit6 <- lm(Murder ~ Population + Illiteracy + Income + Frost, data=states)
outlierTest(lm.fit6) #查看离群点,进而删除
states <- states[-which(rownames(states) == "Nevada"),]
lm.fit6 <- lm(Murder ~ Population + Illiteracy + Income + Frost, data=states)
outlierTest(lm.fit6)

2、变量变换

当模型不符合正态性、线性或者同方差性假设时,一个或多个变量的变换通常可以改善或调整模型效果。

2.1违反正态性假设

当模型违反正态假设时,通常可以对响应变量尝试某种变换。car 包中的 powerTransform()函数通过λ的最大似然估计来正态化变量X^λ 。

library(car)
states <- as.data.frame(state.x77[,c("Murder", "Population","Illiteracy", "Income", "Frost")])
summary(powerTransform(states$Murder))bcPower Transformation to Normality Est Power Rounded Pwr Wald Lwr Bnd Wald Upr Bnd
states$Murder    0.6055           1       0.0884       1.1227Likelihood ratio test that transformation parameter is equal to 0(log transformation)LRT df     pval
LR test, lambda = (0) 5.665991  1 0.017297Likelihood ratio test that no transformation is neededLRT df    pval
LR test, lambda = (1) 2.122763  1 0.14512

结果表明用0.6次幂可以更好的正态化数据,但是在这里lambda = 1也不可以拒绝原假设(P = 0.145),所以不进行变换也基本符合正态化假设。

2.2 违反线性假设

当违反了线性假设时,对预测变量进行变换常常会比较有用。 car 包中的 boxTidwell()
数通过获得预测变量幂数的最大似然估计来改善线性关系。

> boxTidwell(Murder~Population+Illiteracy,data=states)MLE of lambda Score Statistic (z) Pr(>|z|)
Population       0.86939             -0.3228   0.7468
Illiteracy       1.35812              0.6194   0.5357iterations =  19

结果显示,分别取0.87和1.36次幂能够改善线性关系,但是根据P-值显示该元数据并不需要改变。

2.3 违反异方差性

可以应用 car 包中 spreadLevelPlot() 函数提供的幂次变换应用。

library(car)
states <- as.data.frame(state.x77[,c("Murder", "Population","Illiteracy", "Income", "Frost")])
spreadLevelPlot(lm(Murder~Population+Illiteracy,data=states))

3、增删变量

改变模型的变量将会影响模型的拟合度。有时,添加一个重要变量可以解决我们已经讨论过的许多问题,删除一个冗余变量也能达到同样的效果。删除变量在处理多重共线性时是一种非常重要的方法。如果你仅仅是做预测,那么多重共线性并不构成问题,但是如果还要对每个预测变量进行解释,那么就必须解决这个问题。最常见的方法就是删除某个存在多重共线性的变量(某个变量 vif >2)。另外一个可用的方法便是岭回归——多元回归的变体,专门用来处理多重共线性问题。

R语言回归分析-改进异常值相关推荐

  1. UA MATH571A R语言回归分析实践 一元回归4 NBA球员的工资

    UA MATH571A R语言回归分析实践 一元回归4 NBA球员的工资 Box-Cox变换 Full Model 模型再诊断 总结 上一讲对一元线性回归模型进行了诊断,发现模型主要存在三个问题: 工 ...

  2. R语言回归分析-选择最佳模型

    R语言回归分析 回归分析可以说是统计学的核心,它其实是一个广义的概念,通指那些用一个或多个预测变量(也称自变量或解释变量)来预测响应变量(也称因变量.效标变量或结果变量)的方法.通常,回归分析可以用来 ...

  3. UA MATH571A R语言回归分析实践 多元回归2 医疗费用的决定

    UA MATH571A R语言回归分析实践 多元回归2 医疗费用的决定 系数的推断与模型预测 模型诊断 这一讲展示一下一元回归中的模型诊断的手段怎么用在多元回归中,同时介绍一下多元回归做推断和预测的方 ...

  4. UA MATH571A R语言回归分析实践 多元回归1 医疗费用的决定

    UA MATH571A R语言回归分析实践 多元回归1 医疗费用 基础回归分析 这一讲开始讨论多元回归,这里选择的例子是寻找家庭医疗费用的决定因素.家庭医疗费用由哪些因素决定是卫生经济学.保险精算等领 ...

  5. UA MATH571A R语言回归分析实践 一元回归3 NBA球员的工资

    UA MATH571A R语言回归分析实践 一元回归3 NBA球员的工资 残差分析 正态性.同方差性的检验 欠拟合检验 前两讲已经完成了大致的分析了,我们已经明确了NBA球员名次与工资的负相关关系,接 ...

  6. UA MATH571A R语言回归分析实践 一元回归2 NBA球员的工资

    UA MATH571A R语言回归分析实践 一元回归2 NBA球员的工资 方差分析 相关性分析 上一讲完成了解释NBA球员工资的一个简单的一元线性回归模型的估计.分析,展示了一下简单的预测,这一讲我们 ...

  7. UA MATH571A R语言回归分析实践 一元回归1 NBA球员的工资

    UA MATH571A R语言回归分析实践 一元回归1 NBA球员的工资 基础回归分析 571A另一个系列的文章介绍了回归分析的理论,这个系列的文章介绍R语言做回归分析的实践,但不会涉及R语言编程,只 ...

  8. r语言中检测异常值_R中的异常值检测

    r语言中检测异常值 介绍 (Introduction) An outlier is a value or an observation that is distant from other obser ...

  9. R语言回归分析-回归诊断

    R语言回归分析 回归分析可以说是统计学的核心,它其实是一个广义的概念,通指那些用一个或多个预测变量(也称自变量或解释变量)来预测响应变量(也称因变量.效标变量或结果变量)的方法.通常,回归分析可以用来 ...

最新文章

  1. 未在本地计算机上注册“microsoft.ACE.oledb.12.0”提供程序
  2. Word2007 设置Tab键的默认缩进距离
  3. wordpress怎么设置文章页面不打开新的窗口_2019 WordPress外贸网站SEO优化基础设置(新手图文教程)...
  4. 简单编译安装Apache
  5. vim配置之spacevim
  6. Python最快的方式来读取大文本文件(几GB)
  7. 2018年第九届蓝桥杯【C++省赛B组】【第八题:日志统计】尺取法
  8. 华为机试HJ10:字符个数统计
  9. inDesign教程,如何创建灵活的标头设计?
  10. mysql数据库数据表的指令_mysql数据库和表操作命令
  11. vue-cli mock
  12. 机械振动学|单自由度系统
  13. ENSP-----ISIS协议
  14. Qt 之 QQ系统表情(一)
  15. ES 关于text和keyword两种类型数据搜索区别
  16. JPA--动态查询--Example
  17. nginx中proxy_pass的作用以及注意事项(不看后悔一生)
  18. C语言打印杨辉三角的多种方法
  19. 77道JVM系列面试题总结(2万字解析)
  20. 注意力是PEOPLE最宝贵的财富

热门文章

  1. 《 ERP高级计划》书的解读之零物料约束和能力约束逻辑(蔡颖)(转)
  2. M480 EMAC驱动02-IP101G测试
  3. 夏普清除小太阳和小人的方法
  4. 社保证照片怎么做?一招教你get既专业又好看的证件照!
  5. 进化三部曲,从互联网大脑发育看产业互联网的未来
  6. 产品经理交互设计师必备的已分类的《产品Axure原型库》
  7. 激活 visio Premium 2010 vol 版本
  8. PC微信低版本限制登录怎么办?
  9. 矩阵快速幂(矩阵加速)
  10. nginx打开网页下载php,nginx,_nginx 访问localhost老是下载文件不能打开网页什么情况?,nginx - phpStudy...