博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
回归假设问题的改进
阅读量:5916 次
发布时间:2019-06-19

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

hot3.png

  • 删除观测点
删除离群点可以提高数据集对于正态假设的拟合度,而强影响点会干扰结果,通常也会被删除,两者删除后模型需要重新拟合,一直重复上述过程,但是要谨慎把,因为有些删除会导致结果错误
  • 变量置换
当模型不符合正态性、线性或同方差性假设时,一个或多个变量的变通通常可以改善或调整模型效果。变换多用 
07080722_W5Lk.png 替代 
07080722_Xag5.png , 
07080722_Dym8.png 的常见值和解释见表8-5。若 
07080722_6J3s.png是比例数,通常使用 logit变换[ln(Y/1-Y)]
07080723_iNmn.png
模型违反正态性假设时,通常可以对
响应变量尝试某种变换
car 包中的 powerTransform() 、spreadLevelPlot()函数通过 λ 的最大似然估计来正态话变量X^λ
模型异方差性(误差方差非恒定),也可以通过响应变量尝试某种变换
> library(car)> summary(powerTransform(states$Murder))bcPower Transformation to Normality               Est.Power Std.Err. Wald Lower Bound Wald Upper Bound  #使用Murder^0.6states$Murder    0.6055   0.2639           0.0884           1.1227Likelihood ratio tests about transformation parameters                           LRT df       pvalLR test, lambda = (0) 5.665991  1 0.01729694LR test, lambda = (1) 2.122763  1 0.14512456
11
11
 
1
> library(car)
2
> summary(powerTransform(states$Murder))
3
bcPower Transformation to Normality
4
 
5
             Est.Power Std.Err. Wald Lower Bound Wald Upper Bound  #使用Murder^0.6
6
states$Murder    0.6055   0.2639           0.0884           1.1227
7
 
8
Likelihood ratio tests about transformation parameters
9
                          LRT df       pval
10
LR test, lambda = (0) 5.665991  1 0.01729694
11
LR test, lambda = (1) 2.122763  1 0.14512456
结果表明,可用Murder^0.6 来正态化变量 Murder。由于0.6很接近0.5,可以尝试用平方根变换来提高模型的正态性的符合程度。但在本例子中,λ = 1 的假设也无法拒绝(p = 0.145),因此没有强有力的证据表明本例需要变量变换。 
违反了线性假设时,对预
测变量进行变换常常会比较有用。 car 包中的 boxTidwell() 函数通过获得预测变量幂数的最大似然估计来改善线性关系,下面的例子用州的人口和文盲率来预测谋杀率,对模型进行了 Box-Tidwell变换
> library(car)> boxTidwell(Murder~Population+Illiteracy,data=states)           Score Statistic   p-value MLE of lambdaPopulation      -0.3228003 0.7468465     0.8693882  Illiteracy       0.6193814 0.5356651     1.3581188iterations =  19
7
7
 
1
> library(car)
2
> boxTidwell(Murder~Population+Illiteracy,data=states)
3
          Score Statistic   p-value MLE of lambda
4
Population      -0.3228003 0.7468465     0.8693882  
5
Illiteracy       0.6193814 0.5356651     1.3581188
6
 
7
iterations =  19
结果显示,使用变量 Population^0.87 和 Illiteracy^1.36 能够大大改善线性关系,但是对 Population( p = 0.75)和  Illiteracy(p =0.54)的计分检验又表明变量并不需要变换。这些结果与成分残差图一致的。
  • 增删变量
例如在处理多重共线性问题时,进行相应的增删。
但是如果仅是做预测,那么多重共线性并不构成问题,但如果要对每个预测变量进行解释,那么就必须解决这问题。
最常见的就是删除某个存在多重共线性的变量。
另外一种方法就便是
岭回归--多元回归的变体,专门来处理多重共线性的问题
  • 尝试其他的方法
如果存在离群点/强影响点,可以使用
稳健回归模型替代OLS回归,如果违背了
正态的假设性,可以使用非参数回归模型,如果存在显著非线性,能尝试非线性回归模型,如果违背了误差独立性假设,还能用那些专门研究误差结果的模型,比如时间序列模型或者多层次回归模型,最后,你还能转向广泛应用的广义线性模型,他能适用于的许多OLS回归加假设不成立的情况 
    至于用什么。。。这些判断是复杂的,需要依靠自身对主题知识的理解,判断出哪个模型提供最佳结果

转载于:https://my.oschina.net/u/1785519/blog/1563523

你可能感兴趣的文章
Tsuru 1.7.0-rc4 发布,基于 Docker 的 PaaS 框架
查看>>
正则表达式学习
查看>>
使用Webpack + Gulp便捷开发运行于Dcloud平台HTML5 Plus Runtime引擎的HybridAPP项目的一些经验分享...
查看>>
前端进阶之 a 可以同时 == 1 && == 2 && == 3吗?
查看>>
告别抽象的JS执行环境、作用域、作用域链、闭包
查看>>
9012到了!AI时代里,只会简单编程的你会怎么样?
查看>>
1月10日云栖精选夜读:专访金榕:四年蜕变,阿里iDST是如何登上浪潮之巅的?...
查看>>
区块链100讲:梅克尔树保障区块链数据不可篡改,想换根就要砍树!
查看>>
如何使用jstack分析线程状态
查看>>
运营不需要人脉?
查看>>
Spring Cloud Config服务器
查看>>
fprobe使用
查看>>
yum 安装rabbitMQ
查看>>
跟我学《JavaScript高程3》视频教程,下载地址
查看>>
GLSL变量
查看>>
使用nginx—搭建YUM仓库
查看>>
测试人员必学的软件快速测试方法(二)
查看>>
linux下以RPM包安装Oracle 客户端
查看>>
28. PowerShell -- 注册表操作
查看>>
搭建 android sdk环境
查看>>