多重线性回归 (multiple linear regression) | 变量选择 | 最佳模型 | 基本假设的诊断方法
接之前的简单线性回归文章:regression | p-value | Simple (bivariate) linear model | 线性回归 | 多重检验 | FDR | BH | R代码
再读ISL
R代码层面的能力:
1. 会用简单的一元线性回归,拟合、解读结果、绘图;
2. 能给出系数的置信区间;
3. 预测新的结果,并给出预测结果的置信区间;
4. 模型基本假设的检验,残基、正态性等;
--------
5. 多重线性回归的拟合,结果的解读,哪些变量无关;
6. variance inflation factors检测;
7. 代码层面从模型中去掉无关变量;
8. 引入interaction项;
9. 自变量的非线性转换;
10. 定性变量的回归;dummy variables
multiple要注意区分,是multiple linear regression,还是multiple testing。
前者是说线性回归的变量有多个,后者是说要做多个线性回归,也就是多个检验。
P133,这是第二次作业,考察多重线性回归。这个youtube频道真是精品,用R做统计。这里是R代码的总结。
连续变量和类别型变量总要分开讨论;
多重线性回归可以写成矩阵形式的一元一次回归;相当于把多变量当成列向量压缩一下;矩阵有着非常优美的简单的计算法则,大大简化了计算的复杂度;
在建多重线性回归模型时我们会遇到很多问题:
- 选哪些变量建模,一元的很简单,可以判断有无显著性,多元就复杂了,我们收集的很多变量可能和因变量之间没有关系,必须过滤;
- 哪些变量之间有相关性,必须把相关性考虑进模型;
- 如何检测是否存在多次的关系?
ANOVA;partition variability into different parts with different explanations that add up to a total that is related to overall variance.
If the null hypothesis is true, then the Model SS should be just random variation, so that both the Model MS and Residual MS become estimates of the same variance, so the ratio will be around 1. However, if the null is false, the ratio should be large.
So this explains why our test statistic is: F=Model MS/Residual MS
多重线性回归ANOVA分析会有一个总的F统计下的p-value,如果这个都不显著,那就没有必要继续往下做了。
显著了那就继续往下做:如何选出最合适的变量呢?
有两种方法:
- forwards stepwise regression,就是不断的往里面加变量,使得t statistic最显著;缺点很明显:1.多次检验,会加入过多变量;2.找不出复杂搭配的模型,因为是一个一个添加的;
- backward stepwise regression,全部引入,然后一个一个的减;缺点:1.共线性;
- mixed stepwise
Diagnostics方法,如何确定我们的基本假设是对的,假设都不对,建模就是扯淡;(Checking Linear Regression Assumptions in R | R Tutorial 5.2 | MarinStatsLectures,讲得比较透彻)
- residuals
- influence or leverage
我们一开始会检验各个变量之间的相关性,看一下大致的拟合情况。
用R的话,一般我们都是先构建full model,然后构建全部的reduced models,然后用ANOVA来检验,reduced model的RSS是否显著降低了,如果没有那么说明full model并没有比这个reduced model好,那我们就可以否定full model,选用这个reduced model。这也是符合Occam's razor法则的。
Assignment 2
Use the dataset below (which is tab delimited) on different brands of cigarettes – you
want to predict CO (Carbon Monoxide output) given the other variables.
1. Fit all seven possible linear models with CO as the dependent variable (i.e. with
all possible sets of independent variables except for no independent variables) and
summarise the results in a table.
2. Identify what you think is the best model for predicting CO and explain why you
think it is good.
3. Include a summary of diagnostic checks that you try for your best model (please
do at least one check).
# save to file: data.txt
Tar Nictn Wt CO
14.1 0.86 0.9853 13.6
16 1.06 1.0938 16.6
29.8 2.03 1.165 23.5
8 0.67 0.928 10.2
4.1 0.4 0.9462 5.4
15 1.04 0.8885 15
8.8 0.76 1.0267 9
12.4 0.95 0.9225 12.3
16.6 1.12 0.9372 16.3
14.9 1.02 0.8858 15.4
13.7 1.01 0.9643 13
15.1 0.9 0.9316 14.4
7.8 0.57 0.9705 10
11.4 0.78 1.124 10.2
9 0.74 0.8517 9.5
1 0.13 0.7851 1.5
17 1.26 0.9186 18.5
12.8 1.08 1.0395 12.6
15.8 0.96 0.9573 17.5
4.5 0.42 0.9106 4.9
14.5 1.01 1.007 15.9
7.3 0.61 0.9806 8.5
8.6 0.69 0.9693 10.6
15.2 1.02 0.9496 13.9
12 0.82 1.1184 14.9
三个自变量,所有多重线性回归有7中可能的模型。
解释哪一个模型最好。
diagnostic checks。
答案:





最极端的那个不是outlier,这个残基的随着Y在变,所以这个拟合关系不是线性的。下面的q-q plot也确认了这点。
需要用非线性的模型来拟合CO和Tar,参见R语言非线性回归入门。
多重线性回归 (multiple linear regression) | 变量选择 | 最佳模型 | 基本假设的诊断方法的更多相关文章
- 从损失函数优化角度:讨论“线性回归(linear regression)”与”线性分类(linear classification)“的联系与区别
1. 主要观点 线性模型是线性回归和线性分类的基础 线性回归和线性分类模型的差异主要在于损失函数形式上,我们可以将其看做是线性模型在多维空间中“不同方向”和“不同位置”的两种表现形式 损失函数是一种优 ...
- 机器学习之多变量线性回归(Linear Regression with multiple variables)
1. Multiple features(多维特征) 在机器学习之单变量线性回归(Linear Regression with One Variable)我们提到过的线性回归中,我们只有一个单一特征量 ...
- 机器学习经典算法具体解释及Python实现--线性回归(Linear Regression)算法
(一)认识回归 回归是统计学中最有力的工具之中的一个. 机器学习监督学习算法分为分类算法和回归算法两种,事实上就是依据类别标签分布类型为离散型.连续性而定义的. 顾名思义.分类算法用于离散型分布预測, ...
- 从零单排入门机器学习:线性回归(linear regression)实践篇
线性回归(linear regression)实践篇 之前一段时间在coursera看了Andrew ng的机器学习的课程,感觉还不错,算是入门了. 这次打算以该课程的作业为主线,对机器学习基本知识做 ...
- Python 线性回归(Linear Regression) 基本理解
背景 学习 Linear Regression in Python – Real Python,对线性回归理论上的理解做个回顾,文章是前天读完,今天凭着记忆和理解写一遍,再回温更正. 线性回归(Lin ...
- 【深度学习】线性回归(Linear Regression)——原理、均方损失、小批量随机梯度下降
1. 线性回归 回归(regression)问题指一类为一个或多个自变量与因变量之间关系建模的方法,通常用来表示输入和输出之间的关系. 机器学习领域中多数问题都与预测相关,当我们想预测一个数值时,就会 ...
- Python 线性回归(Linear Regression) - 到底什么是 regression?
背景 学习 Linear Regression in Python – Real Python,对 regression 一词比较疑惑. 这个 linear Regression 中的 Regress ...
- Python - 线性回归(Linear Regression) 的 Python 实现
背景 学习 Linear Regression in Python – Real Python,前面几篇文章分别讲了"regression怎么理解","线性回归怎么理解& ...
- 机器学习之单变量线性回归(Linear Regression with One Variable)
1. 模型表达(Model Representation) 我们的第一个学习算法是线性回归算法,让我们通过一个例子来开始.这个例子用来预测住房价格,我们使用一个数据集,该数据集包含俄勒冈州波特兰市的住 ...
随机推荐
- Centos7安装jexus,部署asp.net core,asp.net mvc
什么是Jexus 官网解释:https://www.jexus.org/ Jexus是一款Linux平台上的高性能WEB服务器和负载均衡网关,Jexus Web Service,简称JWS,以支持AS ...
- Windows7 IIS 出现错误,并非所有的功能被成功更改
(1)进入UAC,将其调至最低. 具体操作方法:点击[开始],在程序搜索中输入UAC,回车后则进入UAC控制界面. UAC,用户帐户控制设置如下,这个设置主要是避免Windows7种由于用户帐户权限控 ...
- spoj 1029 Matrix Summation
题意: 对一个矩阵有2种操作: 1.把某个元素设为x. 2.查询以(x1,y1)为左上角 以(x2,y2)为右上角的矩阵中的数字的和. 思路: 二维树状数组入门题,同时对横坐标和纵坐标做前缀和就行了. ...
- BeyondCompare使用一段时间后会因“许可证密钥已被撤销:3281-0350“而无法使用
解决方式: 1.用任意文本编辑软件打开“C:\Users\[Your User Name]\AppData\Roaming\Scooter Software\Beyond Compare 3\BCSt ...
- Oracle树查询及相关函数
Oracle树查询的最重要的就是select...start with... connect by ...prior 语法了.依托于该语法,我们可以将一个表形结构的中以树的顺序列出来.在下面列述了Or ...
- jenkins构建任务后发送邮件
1.jenkins登录后-系统管理-系统设置打开后定位到下面的位置:系统管理员邮件地址一定要填写 2.下滑页面定位到extend E-mail Notification:这个是jenkins的一个插件 ...
- mysql数据类型优化
选择优化的数据类型原则: 1. 更小的通常更好 尽量使用可以正确存储数据的最小数据类型.更小的数据类型通常更快,因为它们占用更少的磁盘.内存和CPU缓存,并且处理时需要的CPU周期也更少. 2. 简单 ...
- 解决ssh连接问题1
某天服务器A与B,互相ping没问题,telnet 22端口没问题 ssh -v a@10.80.97.241 OpenSSH_6.6.1, OpenSSL 1.0.1k-fips 8 Jan 201 ...
- ie8下new Date()指定时间
项目开发中很可能会需要创建一个指定日期的时间对象,火狐浏览器可以直接使用new Date('yyyy-mm-dd')生成时间,但是在ie8下就会发现生成的时间输出的是NaN-NaN-NaN.为了兼容可 ...
- 关于SQL优化的一点建议
前段时间一直在做关于性能优化相关的工作,结合自己的实际工作经验,只针对SQL层面提一些优化的规范和建议. 针对SQL编写 1.单条SQL长度不宜超过100行: 2.SQL子查询不宜嵌套3层: 子查询嵌 ...